We have been hinting at our incentivized staking contest for a while now and it’s finally time to lift the lid on how exactly it will work. Before we do that, let’s talk a little bit about why we’re all here.
First, a recap on what farmers do and why. They pledge space to the network which is used to build a plot. That plot is used for two things:
- To store things.
- To solve puzzles based on the data being stored.
This second feature is how a farmer proves they are storing data instead of just saying they are in order to game the system. It is also how the Subspace protocol consensus works. This data based puzzle-solving is at the core of how we are an eco-friendly PoAS network. More details about this and how it solves the blockchain trilemma are available on the Subspace website and YouTube. It is this consensus that is an important area of functionality when we want to ensure that something has happened in the way we designed it to. It also confirms that everyone participating agrees that the correct result is what has been finalized into the chain. So, what kinds of things should our farmers be agreeing on?
Enter execution on Subspace. When talking about execution what we really mean is that transactions submitted by users have been processed as we would expect, consistently and can be verified as such. But farmers do not execute? They run consensus? Correct, it is time to introduce a new class of citizen to the network.
The operator. Operators run a Subspace node the same way as farmers do though they do not have to run a farm and their nodes are configured slightly differently. The operator’s node is responsible for executing the transactions that users want to run. Those users pay a gas fee for the privilege in exactly the same way as you’re familiar with on other networks such as Ethereum.
At this point we need to step back a moment and talk about Subspace domains. A domain, in this context, is an execution environment that sits on top of the farmer network. Farmers provide a common consensus to all domains which decides on the sequencing of transactions. Operators then execute those ordered transactions. Domains can be thought of as L2 rollups that an operator picks to operate on. Those of you familiar with the modular stack may recognize some of these terms and concepts. This separation of concerns and modular approach is a key to our scalability and anyone will be able to deploy a domain as easily as submitting a transaction. Documentation on how to do that is in the works and will be with the community soon. The unique properties of the Subspace network makes it inexpensive to deploy them and means there is no limit to the number of domains we can support.
Out of the box, we support an Ethereum Virtual Machine, or EVM compatible domain runtime though it will be possible in the future to produce your own runtime to tailor the behavior of a domain and its chain to your particular use case. Subspace have released a shared EVM domain instance for anyone who wants to use it without spinning up their own one. We are calling it Nova. Documentation on how to use Nova on Gemini 3f has already been published and can be found here.
So, back to operators. They will run execution for a domain. They will do that by staking a number of slashable Subspace credits to provide crypto-economic security to execution. If they act maliciously they will pay the penalty of forfeiting some of their stake which disincentivizes bad behavior. The higher their stake, the greater the chance they have to be picked to execute a transaction and therefore earn a transaction fee. Though the story doesn’t end there as their self stake can be amplified with nominator stake.
Enter another new protocol role: the nominator. An operator can be picked by anyone who holds Subspace credits as their favored place to stake. A token holder who stakes with an operator is a nominator. They have nominated the operator. The operator’s total stake is calculated by summing their self stake and the total nominated stake as pledged by all their nominators. An increase in total stake leads to an increase in the number of transactions they execute and therefore an increase in the amount of transaction fees earned. In return, the nominator gets a portion of the transaction fees the operator is paid. The mechanics and market dynamics are a bit more nuanced than this as there are also tax rates and the existing state of the operator’s reward pool to consider.
So, now we have an idea about domains, operators and nominators let’s talk a bit about…
This is our opportunity to test all of the moving parts that make up execution and staking on the Subspace network. We also want to build a vibrant, engaged network of operators who will join us on mainnet. There will be a dedicated reward pool, separate from the Gemini 3 incentivized testnet rewards for Stake Wars. It is set at 0.6% of total token supply and will be split between operators and nominators. Rewards will be allocated based on the transaction fees both operators and nominators are able to accrue during the contest - just like mainnet. Stake Wars will run on the next iteration of the network which is Gemini 3g and there will be a number of RTS game themed phases. Note that the exact timeline is provisional and subject to change - provided here to give folks an idea of our plans.
Gemini 3g is launched by the team. Gemini 3f remains running and incentivized. Rewards are disabled on 3g. Farmers are presented with a dilemma on which network(s) to run on. Gemini 3f incentives will be turned off and 3g incentives turned on at the same time. It is up to individual farmers what they want to do.
Nova is deployed but running an operator is restricted to just the genesis operator by an allow list to prevent any Stake Wars participants registering early.
After a short period of stability, the Gemini 3f incentivized rewards end block will be announced on a community call. On that same call, rewards will be enabled on Gemini 3g. Farmers will want to be up and plotting sectors as quickly as possible so they are ready to start building their operator stake. Note that transfers will be enabled on Gemini 3g so operator wallets can have TSSC sent to them from any farmer who agrees to do so.
Operator registration is enabled for everyone and, after registering, operators will be able to spin up their nodes and start executing on Nova. Nomination remains disabled. This is the start of the contest for operators. Instructions on how to register and run an operator can be found in our documentation.
Nomination is enabled with another domain runtime upgrade. Anyone holding TSSC can nominate their preferred operator. This is the start of the contest for nominators. Why sit on your stack earning 0% when you could be accumulating even more through picking a strong operator and getting a portion of their transaction fees?!
A pre-announced block to end the wars passes. This marks the end of the campaign and transaction fees are no longer counted towards a share of the reward pool.
The team will leave the network running for an extended phase of cooperation. Participation is optional and entirely at operator/nominator discretion. It will be an opportunity for competitors to experiment with the pressure off. A more collaborative, friendly stage to help us discover, define and solve problems. Our aim is to get as many issues as possible raised into GitHub for core contributors to address before mainnet.
The 0.6% of total token supply allocated to Stake Wars will be split into two sub-pools. They will be distributed in this way:
- 0.2% split proportional to transaction fees earned by operators in phase 2.
- 0.4% split proportional to transaction fees earned by operators and nominators in phase 3.
We also have plans for unique POAPs to be distributed to successful participants. More details will come later on.
Our overarching goal for Stake Wars is to shake down domains, execution and the staking functions. We anticipate that challenges will arise, things will break and unforeseen issues will come to light. We ask that you judge us on the transparency and fairness of our response to those events when they happen rather than the fact that they have occurred on our testnet.
Here are some additional notes we’d like you to take on board:
- The immediate action for anyone who wants to participate is to get familiar with farming ASAP as you will need to farm your own stake.
- Gemini 3g increases the Chia proof of space parameter k from 17 to 20 which makes table derivation around 8x harder. This will result in much slower plotting, be patient; everyone has to contend with this change that adds security to the network so there is still a level playing field.
- The domain
MinStakeon mainnet will be several orders of magnitude higher than the value we will set on Gemini 3g for Stake Wars to ensure that operators have significant skin in the game and there is real crypto-economic security.
- Domains are not entirely finished yet - we are open about this fact and you can follow the challenges we have left and are actively working on in the Subspace GitHub. This does mean that there are some known potential attack vectors with the current implementation. Anyone found exploiting them will be summarily disqualified from the initiative and their rewards earned distributed among remaining participants.
- If anyone finds something we are not aware of we would be extremely grateful if this could be communicated to the team. There could even be a token of our appreciation on the table for reporting a critical problem we were not already aware of.
- As we carve out a space for our new network roles, dedicated Stake Wars channels on Discord have been established. Drop by and say hello.
- #operators (chat and support)
- #nominators (chat and support)
- #operators <> nominators (promotion, P2P support)
- We fully expect to see political campaigns from operator teams trying to attract farmers to nominate to their operators. But please, keep these activities in the Stake Wars channels. Repeated infractions will be penalized.
- Staking on Subspace is different to a number of other proof of storage networks and is only necessary to participate in our execution environments. We’d like to make it crystal clear that farming on Subspace does not require a user to own any tokens before getting up and running.
- Further reading on much of the technical details touched on in this post can be found in the Decoupled Execution section of the Subnomicon.
We really hope you’ll join us for Stake Wars!