Table of Contents
System Specification
Objectives
The following are the high-level capabilities provided by the Data Monetization Subsystem
- Standard payments: in advance or a posteriori payment for a specific dataset or piece of data
- Tokenization: creation of a crypto token solution for instant currency exchange among the participating data spaces/marketplaces
- Micro payments: payments of small quantities for a given item, or piece of data
Standard payment functionality has been delivered at R1 (Dec 2020) while Tokenization will be delivered at R2 (Dec 2021) and Micro payment will be delivered at R3 (Sep 2022).
Context
From picture below, Task 3.3 encompasses the Data Monetization Subsystem block which interacts with following two building blocks:
- Data storage system, the Data Monetization Subsystem will use the Data Storage system for recording crypto token transactions
- Backplane system, the Data Monetization Subsystem will be used from the backplane system for accounting and executing payment operations for data purchases and tokenization operations.
- Data Access system, the Data Monetization Subsystem will be used from the Data Access system for accounting and/or executing payments for data exchanges
Building blocks
The Data Monetization subsystem is in charge of providing “Standard Payments”, “Micro Payments” and “Tokenization” capabilities.
Inside, we can find:
– component “Standard Payments” responsible of manage the payments, in advance or a posteriori, for a specific dataset or piece of data;
– component “Tokenization” responsible of the creation of a crypto token for instant currency exchange and other tokenization operations among the participating data spaces / marketplaces;
– component “Micro Payments” responsible of efficiently handling micropayments between the stakeholders for a given item or piece of data and minimising the transactions to the ledger;
Standard payment component has been delivered at R1 (Dec 2020) while Tokenization will be delivered at R2 (Dec 2021) and Micro payment will be delivered at R3 (Sep 2022).
Technical Requirements
For the components of the Data Monetization Subsystem the following requirements have been defined in the form of epics and user stories:
Standard payments
Name | Description |
Standard payments | Standard payments refer to payments for a specific dataset or piece of data. Initially it should support: – payment in advance – a posteriori payment In both cases it should also support: – pay per dataset or specific piece of data – subscription (flat rate within a specific set of conditions). |
Name | Description |
In advance payment | As a Data Provider I want to be paid in advance for providing my data so that I can monetize them immediately. |
A posteriori payment | As a Data Provider I want to be paid a posteriori for providing my data so that I can have more consumers to subscribe my offering. |
Non repudiation protocol | As a Data Provider I want to provide my data with a non-repudiation protocol so that I can bill Data Consumers based on reliable data exchanges. As a Data Consumer I want to consume data with a non-repudiation protocol so that I can contest wrong billings. |
Tokenization
Name | Description |
Currency Tokenization | The federation of independent data spaces/marketplaces further calls for a highly secure, trusted and cost-efficient payment solution. Therefore, a suitable crypto currency solution that allows instant currency exchange among the participating data spaces/marketplaces, and also support full audibility of all transactions has to be provided. |
Name | Description |
Provide crypto tokens (Exchange in) | As a Data Marketplace I want to provide crypto tokens to Data Consumer so that I will enable P2P payments for data exchange. As a Data Consumer I want to purchase crypto tokens from a Data Marketplace so that I can subscribe offering from other Marketplaces in I3-Market Network. |
Payment with crypto tokens | As a Data Provider I want to receive payment with crypto tokens so that I can receive instant payments. |
Withdraw crypto tokens (Exchange out) | As a Data Provider/Data Owner I want to receive fiat currency from a Data Marketplace so that I can monetize the crypto tokens received for providing my data. As a Data Consumer I want to receive fiat currency from a Data Marketplace so that I can monetize my crypto tokens if I leave the I3-Market Network. |
Clearing | As a Data Marketplace I want to receive fiat currency for the tokens emitted by other Data Marketplaces so that I can monetize these tokens if I leave the I3-Market Network or with a specific scheduling. |
Standard payments
Name | Description |
Micro payments | Micropayments refer to payments of small quantities for a given item, piece of data, etc. They face the problem of the minimum transaction size needed to make the transaction profitable for the processing company being too large. Micropayments have been touted as a way to better facilitate the immediate online distribution of royalties, gratuities, pay-per-click advertising, small freelance jobs, and cryptocurrency transactions, among others. I3-Market must implement a way to efficiently handling micropayments between the stakeholders by, among other things, minimising the transactions to the ledger. |
Name | Description |
Cost-efficient payment | As a Data Marketplace I want to pay few moneys for transaction so that my business model is sustainable. |
Sequence Diagrams
Standard Payment
A non-repudiable protocol is used for accounting data transfers. Based on the accounted data exchanges and Smart Contract information about Data Consumer (Company Name, VAT, billing address, …) and pricing the data Provider will invoice the Data Consumer. The Payment will be done using standard bank payment methods.
Tokenization
An I3-Market crypto token will be created customising Ethereum ERC-1155 standard. The Treasury smart contract contains and maintains the different balances for each Data Marketplace and User in the I3-Market network. When a Data Consumer obtains tokens from a data marketplace paying fiat money (Exchange IN) both the total balance of Data Consumer Wallet and the specific Data Marketplace balance will be increased.
Solution Design
The solutions and architectural design choices adopted to implement the technical requirements and build the processes presented in the diagrams reported.
Standard Payment
The non-repudiation protocol aims at preventing parties in a data exchange from falsely denying having taken part in that exchange. The protocol flow begins when a Data Consumer request a block of data from the Data Provider.
Tokenization
The Tokenization process and the components used to create and manage a cryptographic token for instant currency exchange and other tokenization operations among participating I3Market actors are described below
To enable the interaction with the Treasury smart contract functionalities, we have created two microservices, the Tokenizer and the Pricing Manager. The Tokenizer allows I3M actors to interact with the Treasury smart contract and keep track of all the Marketplace operations, the Pricing manager manages the data price and the fees.
Interfaces Description
The interfaces of the library of the No-Repudiation Protocol for Standard Payment, of the
treasury smart contracts for Tokenization and Pricing Manager microservices are presented below.
Tokenization
Pricing Manager
Free* Open Source Software Tools for SMEs, Developers and Large Industries Building/Enhancing their Data Marketplaces.
For more detail and source code please refer below link.
Go to the beginning of the page
Other resources of interest
Home
We are a community of experienced developers who understand that it is all about changing the perception of data economy via marketplaces support.
i3-MARKET Architecture
Take a look at the main building blocks and their hierarchy.
Data Access API
The secure Data Access API enables data providers secure registration…
Data Storage
The Decentralised storage shall provide highest available security guarantees…
Identity and Access Management
The SSI & IAM subsystem is in charge of providing both “User-centric Authentication” and…
Smart Contracts, Wallets & Accounting
i3-M Wallet is a set of technologies that facilitate the management of their identity to…
Semantic Engine
We developed and implemented dedicated software components for Semantic Engine System as…
Specification Deployment
i3-MARKET architecture specification is based on the 4+1 architectural view model approach. One of…
Developers Quickstart SDK
Once a marketplace is part of i3-MARKET, it can issue credentials to its consumers, providers, and…
Documentation
Full Developers Documentation