Stake Wars Rules of Engagement

Stake Wars Rules of Engagement

Pardon? You didn’t think it would be a complete free-for-all did you? Well, it almost is but we do have to set a few rules and guidelines out before we start Phase 2 - Base Building. Let’s kick off with the most critical items operators need to be aware of first.

Domain Liveness

  • Disproportionate stakes can affect the network adversely if the operator behind that stake is not online. We are working on putting guardrails in place to prevent concentration and ensure decentralization at the protocol level.
  • We ask that operators ONLY REGISTER AFTER THEIR OPERATOR NODE HAS FULLY SYNCED. Ignoring this will mean you will be considered for bundle production but do not have an operator attached to execute the transactions in the bundle.
  • Running an operator comes with an expectation that high uptime is maintained. We appreciate that infrastructure issues can occur but we would expect any downtime to be kept to an absolute minimum.
  • There will be consequences for breaking these golden rules. They will be at the team’s discretion and we will be monitoring proceedings off-chain. If we see something troubling occurring we will reach out in Discord to explain and work with anyone struggling with the software or their infrastructure. The team’s decision is final in these situations.
  • As a rule of thumb, we would consider looking into an episode of downtime if the operator is offline for 15 epoch transitions though this will vary based on the amount of TSSC the operator has staked. With a larger stake comes a greater responsibility to ensure uptime.
  • TLDR: You must keep your operator online or de-register. Any node believed to be intentionally registering but not participating is subject to summary disqualification.

You MUST sync your node as an operator from genesis

  • This means any existing nodes you have setup as farmers will not work. You will need a new environment or to ensure you clear the data associated with your existing node and sync from scratch again.
    • NOTE: There is no need to wipe any pre-existing plots, it is just the data associated with the node that will need to be reset.
  • You can sync before the allow list is removed, you just can’t register your operator until we take that action.
  • Again, you must be fully synced before registering or you will appear to be offline which could trigger penalties (see above).

MinStake

  • In case anyone missed our announcements, you will need 100TSSC to join Stake Wars. This is the minimum amount an operator is required to stake when they register their operator. Read more here: Stake Wars MinStake Announcement
  • The domain MinStake on mainnet will be much higher than the value that has been set on Gemini 3g for Stake Wars to ensure that operators have significant skin in the game and there is genuine crypto-economic security.

Domain code completion

  • 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.

Communications

  • We have setup some dedicated channels in Discord which we will monitor to ensure they stay on-topic. You can find them in the STAKEWARS category:
  • Please drop by and say hello.
  • 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 may be penalized.

Some additional notes and information

  • Stake Wars is set to run on domain ID 1 “Nova” on Gemini 3g. We have documentation demonstrating registering and operating on various domains but ID 1 is the one.
  • We urge prospective operators to check out our special edition of Developer Office Hours where we talked at length about how to run an operator.
    • Note that the staking interface being demonstrated in the video has been updated to take decimal TSSC rather than requiring the *10^18 version shown. This means 1.5 TSSC is represented as 1.5 rather than 1500000000000000000 and is a noticeable UX improvement.
    • You can find our Staking Interface at its new home here: https://staking.subspace.tools/
  • Our documentation on staking and operating are being developed as we go along. We are grateful for your patience and feedback which is always very welcome. This is a collaborative effort on an incentivized testnet so please continue to help us improve them.
  • Finally, we will be removing the allow list on a community call on Wednesday the 22nd November at some time between 17:00 and 18:00UTC. You can find the event in Discord. Join us for a discussion of all things operating and staking!

Equivocation (added 2023-11-24)

  • It is vitally important that signing keys are only used once and are attached to a single operator node on the network. Contravening this rule leads to equivocation errors. There are two scenarios operators need to be careful with:

    1. A signing key must only be registered once. This means the register_operator extrinsic is only ever called once with a particular signing key. We have updated the Nova domain runtime to protect against this happening but full enforcement at the protocol level will only be in place once everyone upgrades their nodes to the next release when it is available. If an operator manages to register a signing key more than once they need to deregister the duplicates as soon as possible.
    2. A signing key must only ever be attached to a single, running operator node. If you wish to run a backup node, it is possible to keep it in sync with no signing key attached or even a spare signing key set. Then if you need to switch to the backup node, update the key to the one you have your stake registered against and restart it. It is imperative that a signing key is attached to a single node at a time. Contravention will become a slashable offence.

Please note that we are working on solutions to embed liveness protection in the protocol but we are not quite there yet and we don’t want to delay Stake Wars as we have a lot to test between now and Mainnet Beta! We appreciate your understanding on this point and our hope is that everyone has a fun time, learns a lot and, of course, earns some of the 0.6% of total supply up for grabs as rewards.

Onwards, Stake Warriors!!

5 Likes

Thanks for the detailed statement.
I still have some questions:
Question 1:
How to understand “exploit” inside? What kind of activities are defined as “exploit” and will lead to disqualification?
Question 2:
I saw some explanation of offline status, is there any penality in detail?
Question 3:
Starting from tomorrow, we will set up a new node for the operator, and only after fully synced, the oprator can be registerred, right? the detailed doc will be shared after stake war kickoff. Because I found this page is out now. https://docs.subspace.network/docs/operators_and_staking/operators

How to understand “exploit” inside? What kind of activities are defined as “exploit” and will lead to disqualification?

We are not advertising them. If you are unsure as to whether an action you want to take would be considered an exploit please feel free to email me beforehand. jim@subspace.network.

I saw some explanation of offline status, is there any penalty in detail?

Please read this section carefully.

Starting from tomorrow, we will set up a new node for the operator, and only after fully synced, the oprator can be registerred, right? the detailed doc will be shared after stake war kickoff. Because I found this page is out now. https://docs.subspace.network/docs/operators_and_staking/operators

You are fine to sync an operator up now. In fact, many have, you can read about experiences and questions so far in the operators channel in Discord. You just can’t register until we remove the allow list on the community call. And yes, you must not register a node until it is fully synced or you will be classed as offline.

1 Like

Thanks for the reply!

I want to know if i need sync from block #0 and can not use any backup node data?

@Jim-Autonomys
I am Ben from TimeDao.We are investing resources in Autonomys, we want to run a operator in Stake Wars 2, but want to know, how do we synchronize nodes from block #0 in the operator role? How is this synchronization different from normal node synchronization? We were not involved in the January test, So we might miss some details.

You cannot use a farmer node backup if that’s what you’re asking? The operator holds information about the domain it operates on as well as the consensus chain. The farmer does not.

Hey Ben, great to meet you! Have a read through the docs here and jump in our Discord or ask here on the forum if you get stuck. Look forward to seeing you in Stake Wars 2.

Thanks, Jim.
I have got help in the operators chanel of Discord. I’m already synchronizing operator node on Nova, and I’ll run a new one when the Auto ID domain is released.

  --domain-id 0 \
  --operator-id 001 \

However, this operator-id is a custom setting, or there is a specified meaning ? I customized 001.

You will get an operator ID when you register your operator. When I last synced I was able to leave the whole --operator-id parameter out until I reached chainhead, registered and then restarted the operator node with my correct operator ID.