The final milestone of the Streamr project arrives later this year and with it comes the long awaited incentive layer that activates the DATA token economy.
Those familiar with Streamr know that it’s a protocol for permissionless communication and limitless data distribution without dependance on central infrastructure providers like AWS. The protocol’s primary responsibility is to stream real-time data from publishers to subscribers in a peer-to-peer manner. The 1.0 protocol upgrade will unlock peer-to-peer market forces between Sponsors and Operators of the Streamr Network so that robust distribution can be paid for with the currency of the Streamr Network—DATA.
Table of Contents
Stream Sponsorships 101
So what is a stream Sponsorship? Let’s break it down—A stream is a data channel, analogous to a pub/sub topic. In traditional Web2 Internet, this channel/topic would be maintained by a central party which has the responsibility of sending the messages to where they need to go. In Streamr, that work is done by the participants of the stream– there’s no organizing entity or central authority, it’s everyone for themselves, organized under the rules of the protocol.
Streams are in fact networks in their own right—overlay networks to be exact. They’re sometimes referred to as “mesh networks” since they’re interconnected in a way that resembles a physical mesh. Each stream overlay network maintains a level of independence from the Streamr Network since each stream overlay network only cares about its own data flows. You can think of the whole Streamr Network as the sum of all of these stream overlay networks.
So, getting back to the question of what’s a stream Sponsorship—Since streams are networks, sponsoring streams have the effect of attracting new nodes to join the network. These economically incentivized nodes, sometimes referred to as miners, help to make the stream overlay network more robust from attacks and data loss caused by node churn. Put another way, Sponsorships can generate a swarm of Streamr nodes to support your very own bulletproof data delivery network.
Sponsorships and Sponsors
A Sponsorship is a smart contract that releases funds over time to Operators who have joined it. Sponsors fund Sponsorships and they’re typically the ones that create them as well—defining the terms of engagement.
Sponsors pay to incentivize Streamr nodes to relay and secure the data in the associated stream. They’re designed to improve on the best effort guarantees that the Streamr protocol has without such incentives. The agreement dictates that DATA tokens will be distributed to Operators, over time, if they fulfill their promise to provide stable bandwidth to the sponsored stream. If they break that promise, they’ll lose tokens. Sponsorships are a close cousin to Web2 Service Level Agreements (SLAs). If all goes to plan, a service is offered and accepted with payment flowing from the demand side to the supply side of the market.
Operators are Streamr node runners. Every Operator must have an Operator smart contract which is used to represent themselves on-chain and acts as a vehicle to join and stake on Sponsorships. Operators can join or leave Sponsorships at any time, subject to conditions like minimum stake and penalties for early withdrawal or misconduct. Under normal conditions their staked DATA tokens are returned in full.
In order to stake on Sponsorships and start earning, the Operators fund their Operator contract (technically, self-delegate) or accept delegations from external Delegators, with whom they then share revenue. The Operator contract is also the exit point for earnings and delegated stake.
Delegators are passive liquidity providers for Operators. Delegators are needed when there is an oversupply of technically capable node runners that lack the required DATA tokens in order to stake into Sponsorships. In return they receive a share of the revenue earned by well performing Operators.
In addition to revenue, Delegators also share risk. When Operators are slashed, the Operator itself is prioritized in paying the penalty, but the value of Delegators’ positions can decrease as well. Delegators also have liquidity risk when they want to undelegate. If Operators are deploying the delegated tokens efficiently, they are staked on Sponsorships most of the time. This also means that tokens aren’t available to fulfill undelegations immediately. In this case, undelegation requests enter a queue, and funds become available as soon as Operators unstake from Sponsorships or after 30 days at the latest.
The Sponsorship process
Bringing it all together now, here’s the life cycle of a stream Sponsorship:
- The Sponsorship contract is created which describes the policies and parameters for how the DATA tokens will be distributed. The headline parameters are:
- Length of Sponsorship
- Amount of DATA tokens
- Stake requirements
- Minimum number of Operators
- A Sponsor pays DATA tokens into the Sponsorship smart contract.
- Operators join the Sponsorship by staking on it.
- Operators’ nodes join the sponsored stream overlay network and relay data in the stream.
- If/when the Sponsorship runs low on tokens they can be “topped up”, extending the time that the Sponsorship will continue to distribute funds at the configured emission rate.
In summary, the Sponsorship contract acts as a decentralized mechanism for managing a stream of earnings distributed among a set of Operators.
Disincentives—What happens if things go wrong
In most forms of engineering, it’s best to prepare for failure—decentralized networks are no exception. Operators promise to deliver, but what happens if they break that promise? Well, they will lose some of their staked DATA tokens in a process that’s commonly referred to as “slashing”. Delegators are also at risk of losing value if they delegate to unreliable Operators.
Under the hood, Operators are running an Operator plugin on their Streamr Nodes. This plugin is continuously validating other nodes’ activity on the Streamr Network, and based on their findings they can raise flags, and vote on flags if selected as voters through a random selection. Operators that are found to have violated protocol rules are slashed, meaning that they lose some fraction of their committed stake. Operators are the ones that vote to kick other Operators out of Sponsorships.
Sponsorship use cases
While this is new territory to be explored, we can begin to speculate how Sponsorships will be adopted in the Streamr ecosystem.
Firstly, in situations where data publishers or subscribers can’t be actual nodes in the Streamr Network, for one reason or another, a set of decentralized Streamr nodes can be made available to perform the task of proxying the data from or into the Streamr Network. These nodes can be thought of as proxy or gateway nodes capable of pushing or pulling data into or from an external environment. Sponsorships offers a convenient and practical way of hiring these gateway proxy nodes which are especially useful in resource restricted environments.
Private communications also come into focus. On Streamr, when end-to-end encryption is activated, message content is indeed private, however, some metadata is still visible—your IP address for example is still visible and in small network topologies it’s possible to match a data publisher with message delivery. However, if the overlay network was boosted with a Sponsorship to increase the node count to, let’s say, thousands of nodes, then any node would be one in a very large crowd. It would be far more difficult to identify a data publisher or subscriber in any meaningful way. Pair this with Streamr’s already decentralized nature and you get a level of anonymity and sovereignty that’s competitive with the most secure and private solutions available on the open internet today.
We can also speculate that Sponsorships will encourage large scale live media streaming on Streamr. For everyone that thought that Streamr was for video streaming, well, they could be right in the end. In Streamr 1.0, there’s no reason why media streams can’t be Streamr streams. Sponsoring a media stream is very likely to bring down the bandwidth costs for streamers that are dependent on exploitive closed platform infrastructure. We’ll have much more to say about this as 1.0 gets closer.
The end of the beginning
While there’ll always be things to do at the protocol level, we are very proud to approach a feature complete vision of the ambitious roadmap, published in 2017. Prior to the 1.0 launch, we will run incentivized testnets. We’re targeting October/November 2023 for the running of these testnets.
Before the public launch of these incentivized testnets, we’ll be running 1.0 testnets with testnet tokens. This offers you an opportunity to get a head start and hit the ground running when the incentivized testnets open. If you’d like to participate in these testnets, register here and keep an eye on your inbox!
This post focussed on the incentive layer, but that’s not the only part of Streamr getting an upgrade—a huge part of the Streamr protocol upgrade is about unlocking any binary data traffic to propagate over the network while at the same time replacing the Tracker nodes with a Distributed Hash Table (DHT), maintained by the peers of the Network.
Finally, if you’d like to participate in the discussion on the upcoming Streamr Improvement Proposals (SIPs) please join our Discord and head to the Governance channel.
We’re currently working on the following parameter adjustments;
- Mainnet incentives: Bump the baseline issuance to 30M DATA/year (3%) from current 20M DATA/year (2%)
- Testnet incentives: Allocate 5M DATA for testnet incentives
- Protocol fee: Introduce a 5% protocol fee on value flow from Sponsors to Operators
- Network parameters: Set slashing rate to 10% for protocol violations