An Update on ENG Snapshots and the Genesis Game
By: Enigma Project
Tags: Ethereum, Bitcoin, Staking, Privacy, Blockchain

Since our last blog post on secret nodes and the Genesis Game, we’ve been working hard towards deploying Discovery on Ethereum testnet. We’ve had some huge milestones along the way, including the exciting developer release of Discovery, enabling developers to start building secret contracts today. We have also released full documentation for the protocol along with a number of awesome walkthroughs and guides.

Our last post on secret nodes covered the following aspects of Enigma, so please read it thoroughly if you need answers to any of these questions:

What is the minimum ENG stake required for Enigma?

What will block rewards and network fees look like on Enigma?

What (and why) is a genesis node?

How are genesis nodes selected?

How will nodes increase over time?

How are nodes selected for computations?

Will there be stake slashing in Discovery?

What are hardware and software requirements?

This post has some important details on next steps between here and the start of the Genesis Game. Please note that these details are our current guidance and subject to change if necessary. We also welcome community feedback.

First, we will describe our snapshot mechanism for distributing testnet ENG tokens. Then, we will share a relative timeline of events. Finally, we’ll let you know what (if anything) you need to do now!

ENG Snapshots

As mentioned previously, the number of secret nodes available when Discovery is deployed on mainnet will be limited to 50 “genesis nodes”. For the purposes of decentralizing Enigma, genesis nodes must be selected in as fair and permissionless a manner as possible. Our solution to this was to allow node operators to begin running secret nodes during the testnet phase of Enigma, then selecting the best-performing nodes during this period (as measured primarily by uptime, but also by stake) to become genesis nodes. We’re calling this selection process the “Genesis Game”.

To run a node on testnet, you will need to stake testnet ENG tokens. Again, in the interest of fairness, testnet ENG tokens will be distributed based on your mainnet ENG holdings. Here are some important details, some of which are new, based on our current plans:

As mentioned before, you will need to hold your ENG in an address that you control. That means if you are currently holding mainnet ENG tokens on an exchange and plan to run a testnet node, you will need to withdraw these tokens in order to receive your testnet ENG. If you hold your tokens in MEW, MyCrypto, or a hardware wallet, you do not need to take any action.

That means if you are currently holding mainnet ENG tokens on an exchange and plan to run a testnet node, you will need to withdraw these tokens in order to receive your testnet ENG. If you hold your tokens in MEW, MyCrypto, or a hardware wallet, you do not need to take any action. We will take snapshots of mainnet ENG holdings over a 30-day window, one snapshot per day at a randomly determined hour. (This is similar to how other projects have conducted token snapshots.) We will then calculate the average holdings by address during this window — i.e. take the sum of holdings from each snapshot and divide this total by 30. Testnet tokens will then be distributed based on this average holding calculation.

Example A: You hold 100,000 ENG in a single non-exchange mainnet address for the entire duration of the snapshot window. Your average holdings are (100,000 * 30 / 30) = 100,000 ENG, and you receive 100,000 testnet ENG. Example B: You withdraw 300,000 ENG from an exchange to a single mainnet address on the final day of the snapshot window. Your average holdings are (300,000 * 1 / 30) = 10,000 ENG, and you receive 10,000 testnet ENG.

You must stake a minimum of 25,000 testnet ENG to operate a testnet node and compete in the Genesis Game. (This is equivalent to the minimum stake for a mainnet node.)

If you have less than 25,000 ENG, you may be able to work with a custodial or non-custodial staking provider for testnet staking. You will have up to 4 weeks to send your testnet ENG to your preferred custodial staking service provider.

Importantly, if you are selected to run a Genesis Node, you will need to stake an amount of mainnet ENG that is at least the average number of tokens you staked during the Genesis Game. For example: you receive 50,000 testnet ENG tokens based on your average mainnet holdings. You then stake all 50,000 testnet tokens during the Genesis Game. Based on your excellent performance, you are selected to run a Genesis Node. Based on the above, you must stake at least 50,000 tokens to operate your node on mainnet. If you are a custodial staking service provider and your staking amount changes over the Genesis game, you will be required to stake at least the daily average ENG staked.

We hope the above details help you plan for the ENG snapshot window and the Genesis Game.

Timeline

Now, let’s look at the relative timeline of upcoming events as they relate to the distribution of testnet tokens and the launch of the Genesis Game. As some of the steps below are quite involved, there may be days or weeks between the events listed below.

We will announce the start and end date of the snapshot window at least two weeks prior to the start date of the window. The first snapshot will occur on the first date of the window. The last snapshot will occur on the final date of the window. (Again, snapshots are conducted daily at a random hour.) After the window closes, average holdings will be calculated as mentioned. Testnet tokens will be distributed based on average holdings. The Discovery release of our protocol will be deployed on Ethereum testnet. The game will not begin on the day of deployment, in order to give node operators time to set up and test their nodes. We’ll have more guidance on this as we approach testnet release. The Genesis Game begins and runs for a period of 4–8 weeks. (Previous guidance indicated eight weeks, but we may reduce this period to decrease the burden on node operators while still getting a clear signal of performance.) Genesis Nodes are selected based on their Genesis Score during the game period. (Again, please see our previous posts for more information on how nodes will be selected.

The first event on this timeline — the window announcement — is imminent. Please continue to watch this blog and all our official channels (including Twitter) so you do not miss this information. Again, our official channels are your trusted sources of information related to the Genesis Game, testnet token distribution, and more. If in doubt, please consult a team member or post on our Developers Forum.

What do I do now?

For security, we always recommend that you keep your ENG tokens in a wallet address that you control — i.e., not on an exchange. For the purpose of participating in the Genesis Game, this is particularly important.

If you hold your ENG on an exchange and intend to run a secret node, you should begin to move your holdings to an address you control. If you already hold your tokens in an address where you control your private keys, there is nothing you need to do at this time.

Note that this is not any kind of “mainnet swap” and performing this action is not required to maintain access to your ENG. ENG is an ERC20 token and will remain an ERC20 token after the launch of Discovery mainnet. Again, for security purposes, we do always recommend keeping your ENG in your own wallet. There are many compatible Ethereum wallets, including MyEtherWallet and Ledger hardware wallets.

We thank you for your patience while we continue our development work on Discovery and prepare it for deployment. In the meantime, you can start building secret contracts with our Developer Release, chat with us on the Developers Forum, join our Telegram community, and read through our blog for much more information about Enigma, secret nodes, and the future of privacy and decentralization. Don’t hesitate to ask us any questions about this post or other posts in the Secret Node series!

Please keep watching our official channels, including Twitter, for an announcement of the snapshot window dates.

Onwards and upwards,

The Enigma Team