We present a system that allows users to provide access to web resources in exchange for payments via the blockchain.
Authors: Hendrik Becker, Hung Vu, Anett Katzenbach, Christoph Braun, and Tobias Käfer from AIFB @ Karlsruhe Institute of Technology (KIT), Germany
Check out our video » Get the code »Our demo showcases a system that allows users to provide access to web resources in exchange for payments via the blockchain. The system enables users to create offers for their resources or buy access rights for resources belonging to other users. Access rights can be granted only for a limited amount of time. We built our system as SoLiD Pods and Apps: We developed two server modules for SoLiD Pods that automatically (1) grant access for valid payments via the blockchain and (2) remove expired access rights. On top, we developed a SoLiD App that allows to offer resources, browse and request offered resources, and make payments via the blockchain.
Please find the submission here.
In our example scenario, Alice and Bob, both have a SoliD account and Alice offers subscriptions of her pictures to interested SoliD users, for example to Bob. In case Bob wants to subscribe, the payment of the picture is carried out in a decentralized manner using blockchain transactions.
The demo set-up consists in a SoLiD App with two UIs for buyer and seller of a resource. Those UIs both consume SoLiD Pods and have access to the Ethereum blockchain to send transactions. The SoLiD Pod of the buyer maintains the WebID and wallet address of the buyer and a list of pending purchasing requests. The SoLiD Pod of the seller maintains the WebID and wallet address of the seller, the resources offered next to their descriptions and ACLs. This Pod has specialised modules to (1) access the blockchain to listen for transactions and (2) modify the ACLs according to time and the transactions.
The following sequence diagram shows the workflow that is followed in the mentioned setting.
We model the relevant data for the application in RDF. The first graph (1) depicts the link of SoLiD profiles and ethereum accounts which is necessary for the functionality of the app. (2) shows the extension of additional access rights with time constraints to enable automated access right removal. Resource offers are defined in (3) which consists of the resource and access constraints by time and price. (4) describes the LDNs sent from the buyer to the owner which holds information about the blockchain transaction. Lastly, a pending resource purchases is presented by (5).
We work in the intersection of SoLiD, blockchain, and monetisation on the web. Seminal writings in each area include an early description about the SoLiD project [1], foundational articles about Bitcoin [2] and Ethereum [3] as two blockchain implementations that allow for peer-to-peer transactions, and the recent Patreon platform for selling and buying digital artistic work on the web. The intersection is laden with visions, and less with solutions: [4] presents the vision of an app for musicians to sell their songs to others. The app should use SoLiD for data management, and a blockchain facilitate payments. Our demo is an implementation of a more general version of this idea. [5] presents the vision of a data marketplace to fund the maintenance of the infrastructure for decentrally provided Linked Data. Our demo is not about a marketplace as central intermediary but instead about using blockchain for decentralised payment. We found descriptions of solutions only where the solution is in the intersection blockchain+SoLiD, without the monetisation aspect. Consider for instance [6] who examine different approaches in SoLiD-based applications using blockchains and focus on the combination of the two technologies to make data verifiable through transparency without losing data sovereignty. Similarly, [7] uses Linked Data and the blockchain for verification of data along a supply chain. Our approach uses Web Access Control (WAC), the current default technology from SoLiD, as basis to provide simple access control. There are more sophisticated approaches, which, e.g., also allow for usage control, such as the Open Digital Rights Language (ODRL). In previous work, ODRL has been proposed as basis for a Policy-Driven Linked Data Market, where Linked Data can be offered and requested, and agreements can be described and enforced [8].
The code of our tool is available on GitHub.