System Specification

Objectives

The following are the high-level capabilities provided by the Data Monetization Subsystem

  1. Standard payments: in advance or a posteriori payment for a specific dataset or piece of data
  2. Tokenization: creation of a crypto token solution for instant currency exchange among the participating data spaces/marketplaces
  3. 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
Figure 1 – Backplane architecture

Building blocks

Figure 2 – Data Monetization components

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

NameDescription
Standard paymentsStandard 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).
Table 1 – Data Monetization Epics

NameDescription
In advance paymentAs a Data Provider I want to be paid in advance for providing my data so that I can monetize them immediately.
A posteriori paymentAs 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 protocolAs 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.
Table 2 – Data Monetization User Stories

Tokenization

NameDescription
Currency TokenizationThe 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.
Table 3 – Tokenization Epics

NameDescription
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 tokensAs 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.
ClearingAs 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.
Table 4 – Tokenization User Stories

Standard payments

NameDescription
Micro paymentsMicropayments 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.
Table 5 – Micro Payment Epics

NameDescription
Cost-efficient paymentAs a Data Marketplace I want to pay few moneys for transaction so that my business model is sustainable.
Table 6 – Micro Payment User Stories

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.

Tokenization model

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

Tokenization Process

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

Tokenization API

Pricing Manager

Pricing manager API

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