Syntropy Data Layer is mainly made up of four major players which are:
- Publisher: Publishing the subjects
- Subscriber: Subscribing to the subjects
- Broker: Broker crediting
- Observer: Observer crediting
Publisher
The role of Publishers is to publish streams of data to the Broker network. A stream of messages has to have a subject, which is its name. The goal is to create an open and competing market for Publishers, therefore, there is no limit to the subjects that Publishers can publish.
Publisher subjects are registered on a chain and each subject is backed up by credit. This happens in the developer portal registration process. A service is an on-chain agreement between the Publisher and its Subscribers, which contains the price of data sent under the subject as well as other crypto-economic variables that ensure that the decentralized agreement is being fulfilled.
After the service is expired by the Publisher, and all the accounting rounds related to it are completed, the credit is returned to the Publisher.
Subjects are priced according to the service agreement. The service is accounted for in bytes and priced per some fixed number of bytes of data, e.g. 1 gigabyte. In theory, the pricing could be designed to be per message, however, there are three main reasons why pricing and accounting per bytes were chosen:
- Broker network costs are inherently attached to the number of bytes relayed.
- Bytes are a common denominator of all data, the pricing between various Publishers is then easier to compare.
- Subscribers prefer more sustainable Publishers, who can put the same information in a leaner format because it is cheaper to consume and saves Brokers’ bandwidth as well.
Subscriber
Subscribers bring value to the system by paying for the data provided by the Publishers and delivered by Brokers. Subscribers reach an on-chain agreement with Publishers on the service fee, i.e. data price, of the subject by subscribing to the corresponding service listed on the developer portal.
Subscribers are represented by one or multiple Clients. A Client is an entity authorized by a Subscriber to consume the data. Whereas, a Subscriber is an on-chain address that is paying for the data consumed.
Under the protocol, a Subscriber is issuing consumption tokens to its Clients. Clients then use these tokens to consume data streams that are subscribed by the Subscriber. In the initial version of the Data Layer protocol, the Client management is left to the responsibility of the Subscriber, i.e. there’s no on-chain client management.
Broker
A Broker entity must register its on-chain profile and is required to credit a predefined amount of Syntropy tokens. A freeloader is a Broker entity that is interested only in receiving access to public streams for “free”. Hence, the credit must be high enough to discourage free-loaders from registering as Brokers. But at the same time, it must be sufficiently low in order not to create an artificial barrier of entry to the Broker network.
Brokers receive a reward for their participation based on the network fee rate, which is the system-wide parameter subject to change by on-chain governance. The reward depends on the number of messages the Broker has successfully delivered. The reward is paid by the Subscriber. However, the Broker has to submit an attested cryptographic Proof of Delivery (PoD) to claim the reward. PoD is constructed by the Broker and has to be attested by multiple Observers until it can finally be submitted to the App Chain.
Broker shares a fraction of the network fee with Observers that are attesting to the PoD. The amount of this reward is proportional to the work done and is a fraction of the network fee paid by the Subscriber. Since Brokers are performing a lion’s share of the work by relaying the data, the vast majority of network fee is claimed by Brokers.
Observers
Observers must register themselves on the App Chain and credit a predefined amount of Syntropy tokens. Within Syntropy tokenomics v1, the main functionality of Observers is to oversee the correctness of proofs submitted by Brokers. There are two sources of rewards for Observers. The first is for acknowledging that a proof is correctly constructed. The second is for proving that an on-chain submitted proof is badly constructed.
Each Proof of Delivery (PoD) submitted on-chain must be attested before it can become a basis for reward payments. Each PoD is assigned a randomly selected quorum of Observers. Observers receive a reward for each attestation they make. The attestation reward rate as a percentage of the network fee is a system parameter and can be changed through on-chain governance. The actual amount of tokens collected as a network fee is stated in PoD.
The amount of attestation reward is proportional to the work done and is a fraction of the network fee paid by the Subscriber. Since Brokers are performing a lion’s share of the work by relaying the data, the vast majority of network fee is claimed by Brokers, thus the attestation reward shared among attesting Observers is comparatively modest.
However, note that while each Broker node has to live out of the data it is delivering, each Observer processes a very significant share of all PoDs within the system. How big this share exactly depends on two parameters: (1) the total number of Observers in the system, and (2) the number of attestations required for each PoD or a quorum size. For example, if there are not many Observers in the early days of the Data Layer protocol, all of them might be attesting to 100% of PoDs. If an Observer attests to the correctness of an invalid proof, its credited tokens are slashed.
In this article, we have explained the main points of each player in the Syntropy data layer as mentioned in the white paper which you can read here if you are impatient. Otherwise, soon we will explain each actor separately with more details.