Or, how we can possibly move a multi-billion dollar public network, used by thousands of developers and hundreds of projects, smoothly to a new chain.
Everyone is excited about Ethereum 2.0 (or Serenity, as Vitalik prefers). There are already validator testnets being run by the multiple teams working on the next iteration of the Ethereum network, and talk has already started about the “Road to #Interop”. This means a public testnet for the Ethereum of tomorrow gets closer by the day. How exciting! It also means we are getting closer to needing an answer to a fundamental question:
How much is Ether on the Beacon Chain worth?
At the outset, this seems like a pretty simple question. Isn’t it just worth the same as Ether on the current mainnet? I’m inclined to argue that in reality this is not a very simple question, and if we don’t take steps to ensure the value aligns with what we currently have we may end up in a scenario of market confusion and possibly even Ether devaluation.
Ethereum 2.0, unlike the current mainnet, has an issuance schedule instead of a block reward (the current block reward is 2 Ether per block). This means that the issuance of new Ether on the new chain isn’t tied to how many blocks are published, but rather how much Ether is backing those blocks. This seems a little strange, but we can bound this for simplicity’s sake: Ethereum 2.0 will issue between 100k to 2m new Ether a year to pay for Validators to secure the chain. This is down more than 50% from the current mainnet issuance of approximately 4.2m new Ether a year.
If Ethereum derives its security primarily from incentivization through issuance, then we must ensure the value of both chains’ tokens align.
You might be asking yourself how we connect the two together. We want that! We want to make it clear to outsiders and investors that purchasing ETH now is purchasing ETH for the future, and that upgrading will account for both the present and the future of Ethereum in the value of the Ether token. We have a solution for this, and that is to construct a bridge between the current mainnet and the Beacon Chain, when it becomes active OR is launched.
First, a little bit about the Bridge. This is how the Bridge will work:
- Users who want to be Validators will deposit Ether into the Bridge contract that is deployed on the current mainnet at a known address.
- The 2.0 Beacon chain mainnet will process deposits for those Users (after a delay to ensure no “double spends” occur) and make them Validators.
- The Validators will validate blocks on the Beacon chain, earning rewards solely through new issuance (at least until transactions are allowed).
Once the Beacon Chain is launched, the community can activate a new tool, often called the finality gadget. This works by having the Beacon chain store small amounts of data pulled from past blocks in the legacy chain. Data is signed and voted on by the Beacon chain validators, which means that current Ethereum mainnet will be economically finalized with higher security than what we currently have. Cool right?
Economic finalisation of blocks enabled by the Beacon chain will provide greater protection against deep reorganisations. This protection against deep reorgs is one of the reasons why issuance must be so high on Proof of Work chains. If the rewards were too low, we’d have a larger incentive for miners to revert or double-spend transactions all the time, and we’d have to wait longer and longer to ensure our transactions were final and considered settled. This issuance can be lowered over time as the token’s value grows, but not too much otherwise we risk rampant reorgs destroying the value of the network.
With our new “Finality Gadget” toy however, we can ensure economic finalization of transactions at much lower cost because there is negative incentive at stake. This savings can then be realized by reducing the issuance on the current mainnet, since we no longer need the deep reorg protection that higher issuance provides. Hooray! Lower inflation! Much value! Wow!
HANG ON A SECOND!
That’s all well and good, but how are the Validators getting paid? If the Beacon chain is creating new tokens as rewards, where do they get their value? How does this all work in practice? What value do my tokens have?
Let’s lay out some more facts so we’re clear on this:
- Ethereum 1.0 issues 2 Ether per block (15s) to miners for mining blocks.
- Ethereum 2.0 issues a variable amount of Ether (between 0.05 to 0.95) per block for validating blocks (Note: block time is different in 2.0, but for the sake of comparison we’re ignoring this for now).
- People will deposit Ether in a bridge contract on the current 1.0 mainnet chain to become Validators on the 2.0 system.
- Deposited Ether on the 1.0 chain becomes a part of the 2.0 chain’s total supply (it gets added to the accounting system used in the 2.0 chain).
That last point is a little sticky. There are proposals that say the bridge mechanism should be only in one direction (1.0 -> 2.0), and there are those that say it should be in both directions (e.g. allowing withdraws). They both have pros and cons, and you should familiarize yourself with them. I would argue that a bi-directional bridge is the best way to maintain appropriate economics, and ensure that the future we are building with the Beacon chain gets priced into the current token, but it is not strictly required.
I think ETH 2.0 supply should be bounded and explicitly tied to ETH 1.0 supply in order to provide legitimacy the new asset, Ether on the Beacon chain. They are the same token with the same community backing it after all, and we want others outside the Ethereum ecosystem to treat it as such. We can do this by:
- NOT lowering the Block Reward when the Beacon Chain is launched.
- Allocating a portion of the current issuance from the Block Reward to the Deposit contract, based on total amount staked in the contract. Reminder: this matches what is issued on the Beacon chain. (According to the supply schedule this will be at most 0.95 Ether per block, but likely less than 0.25 Ether per block when things first get started)
- Allowing withdrawals from the deposit contract (withdrawals aren’t required however).
- Explore issuance reduction in future Phases (rewarding progress).
- Eventually remove the bridge with the 1.0 chain when enough migration has occurred (We could target a particular amount of Ether migrated?).
Another point is that it is important for legitimacy of the new Beacon chain Ether that its supply tracks the deposit contract. Therefore, we can only do this after we are comfortable enough with the operation of the Beacon chain that we can make a commitment to forever modifying Ethereum 1.0’s economics and issuance schedule in this regard. This comes after an extensive period of interoperability testing between all 2.0 clients on testnets, including a testing of this issuance mechanism with Ropsten prior to a mainnet release.