Dynamic Reward Issuance on Gemini-3h

Dynamic Reward Issuance is coming to Gemini 3h

In the realm of blockchains, the quest for a sustainable and equitable issuance model is akin to the search for the Holy Grail. It’s a complex challenge, balancing the need to incentivize early adopters and maintain a healthy, inflation-resistant economy. At Subspace, we embarked on a multi-month cross-team effort between research, finance, and engineering and partnered up with Blockscience to develop an innovative solution to strike the right balance. In our model, we combine battle-tested economic principles and technological innovation, designed to ensure the long-term viability of the chain.

At the heart of Subspace’s approach is a decay function, reminiscent of Bitcoin’s halving mechanism. Bitcoin’s halving events are dramatic, step-ladder reductions in block rewards that occur every four years. They’re designed to mimic the scarcity of precious metals, making Bitcoin a deflationary asset. However, this approach can lead to sudden changes in miner incentives and network security. Subspace takes a different path. Instead of abrupt halvings, we introduce a smooth curve that decreases block and vote rewards slightly with every block. This gradual reduction is more predictable and less disruptive, providing a steady incentive for early adopters while increasing the circulating supply in a more controlled manner.

The second pillar of Subspace’s model is dynamic rewards based on blockspace utilization. This concept stems from a desired end state of a blockchain token economy: as the chain matures and finds real-world applications, transaction fees should ideally cover the costs incurred by validators and block producers. In the early stages of a blockchain, however, transaction fees are unlikely to be sufficient. Subspace addresses this by offering higher rewards initially, subsidizing the expenses of early farmers. As the chain grows and transaction fees increase, the protocol automatically reduces the issuance of new tokens. This ensures that the token supply is conserved for periods of lower demand and can be issued for longer if needed. For example, if the blockspace utilization is 50%, then the protocol will issue only about a half of the reward. When the block is full, nothing is issued. The utilization-based issuance doesn’t affect vote rewards as they currently do not get transaction fees.

Theoretical models can behave differently than expected in the wild, and there might be bugs in the implementation or corner cases uncovered, so we plan to deploy the new issuance model on Gemini-3h for extensive testing in the coming weeks.

For the farmers on Gemini-3h, this means witnessing their rewards decrease gradually over time - a necessary sacrifice for the greater good of the network’s economy. You will stop seeing the exact 0.1 tSSC hit your wallet, but 0.09999, 0.099998 and so on.

Expected decay for Gemini-3h for the first million blocks (~10 weeks)

Yet, rest assured this decay does not diminish the value of your contributions to the network. The number of actions (votes or blocks produced) rather than the total tokens received will be the measure of one’s contribution during this testing phase. If you submitted a vote 1000 times but got 97 tSSC instead of the expected 100, it’s the 1000 times you voted that counts, not the tSSC.

On mainnet the reward decay ensures that early adopters are recognized for their role in securing and validating the network, even as the reward structure evolves.

Our plans are to compress the decay curve on Gemini 3h to something easily observable. Remember that the contrived values we will be using on testnet will not be the same as the final mainnet curve. There are a few final steps we are working on to ensure the transition is smooth. First, we expect to release the final software updates that enable us to support dynamic reward issuance and then, because we enjoy a live transaction on a call, we intend to kick things off on an upcoming community event in Discord!


Dynamic reward issuance was enabled on Gemini 3h today at block 718,959. You can watch it happening live on the Farmer Office Hours recording.

Here are some updates from Dariia on the math involved with Dynamic Reward Issuance.

We are finally rolling out a super important upgrade: dynamic issuance of block and vote rewards. I have done a little intro to this few weeks back and now we’re finally ready to upgrade the network and test it live. This new issuance is essential to keep our blockchain economics healthy and fair for everyone involved, from the pioneers to the folks who’ll join us down the road.

About the Issuance Model:
For background we teamed up with our partners at Blockscience, cross-team between research, finance, and engineering teams to develop a solution tailored to Subspace’s unique consensus and decoupled execution, sustainable for the long haul.

So far in the Gemini testnets the issuance has been stable - 0.1 tSSC per block and per vote. This is going to change as soon as Nazar sends the upgrade extrinsic and the dynamic issuance kicks in. There are 2 main sides to it:

Decay Function:
For the first pillar, we’re introducing a gradual decrease of rewards over time, little by little every block. To draw an analogy, let’s talk about Bitcoin for a sec. You know how every four years, it’s like a big party for Bitcoin miners because the rewards get cut in half? The next one is coming soon. It’s a brilliant idea to make Bitcoin scarce like gold, but also can lead to sudden changes in miner incentives and network security. Our approach is similar in goals an mechanism but much more smooth instead of abrupt halvings. The decrease of block and vote rewards is very slight between one block and the next. This gradual reduction is predictable and less disruptive. Moreover, introducing such decay function in comparison to static issuance allows us to provide a higher incentive for early adopters, control the growth of circulating supply and prolong the lifetime of issuance.

Votes tax:

Voter rewards also follow this decaying curve, but there is another update to votes too. Previously, the block proposer had no incentive to include votes in their block - they take up blockspace and do not pay fees. So if he’s just mean and doesn’t want voters to get rewards or prefers to fill the space with transaction that pay for space, he can just ignore the votes and leave voters with empty hands. To prevent this, the protocol will now be giving 10% of each vote reward to the block proposer, so they are incentivized to actually include votes and 90% to the voter.

Dynamic Rewards:
The second part is our in-house innovation, which was made possible by our storage-based consensus. Generally, in a sustainable token economy, the fees for on-chain activity should be enough to cover the mining/farming costs of block producers and validators. However, when a young chain is just launched, sufficient activity may not be there yet. So the protocol issuance of rewards subsidizes the costs to farmers to thank them for their space, electricity, bandwidth etc. This is a common approach between blockchains. What’s unique about the Subspace approach is that the protocol accounts for fluctuating on-chain activity, tracks average recent blockspace usage and at any given block, the protocol is tweaking rewards based on this data, on how much demand there is for our chain and how much blockspace is being used. If the demand has been high enough, say 50% of blockspace is consistently used, then the protocol would issue half of the reward than it would for an empty block. Because the total of what farmer earns from reward plus the block fees is always higher than the issued reward alone. This way the protocol can conserve unissued tokens for periods of lower demand. Currently, this will only apply to block proposer reward, but not to voters.

All the above is rolling out today, and for our beloved farmers on Gemini-3h, this means that you will not see the exact 0.1 hit your wallet anymore. This is not a bug or something wrong with your farm, it’s the new issuance function being tested out.

Growing up and becoming smarter!

Let me ask, why does such a possibility (including/excluding votes in block, filling it with paid transactions insted) even exist? Why not close this feature altogether and make it enabled by default?

It is the default behavior of subspace reference farmer to include votes. However, in a permissionless network, we have to consider cases where malicious participants modify the software locally. Previously to maximize their profit malicious nodes could modify their software to maximize the number of transactions. The introduced tax makes it economically irrational for farmers to censor votes.


Testing shows it behaves as expected!

1 Like