Note: This is obviously not a EIP yet, It's a doc for discussion.
We have almost finished the smart contract: https://github.com/DAism2019/EtherDAO
And a emulator to help people to understand this proposal: https://naturaldao.io/emulator/
We propose a new staking protocol with an honor system to replace ETH 2.0's staking mechanism in which a node must stake 32 ETHs to be a validator and thus expose ETH 2.0 to extremely high risks. This proposal will bring strong and reliable security to ETH 2.0's staking.
Motivation (Risk Analysis)
According to the latest released specifications of ETH 2.0, phase 0 needs to be activated by at least 16,384 nodes and this will lock at least 524288 ETHs till phase 1. In additon Ethereum's outshining potentials and future will undoubtedly attract more people to do this staking and cause more ETHs to be locked. Furthermore the ETH 2.0 Economics section in the official document "Ethereum Roadmap" discusses Staking Rewards from one million validators to 0ne hundred million and if this comes true a large amount of ETHs will be locked. All these factors will very likely drive ETH's price dramatically up.
As a rule of thumb, if ETH's price rises by ten times or has a hike like what happened in 2017, ETH 2.0's validators will be tempted to sell ETHs for fiat currencies or stable coin and it will be a huge financial burden for people who want to join staking. When this happens, on one hand a large number of existing validators will perform an exit, and on the other hand interested people who want to stake may not be able to afford the expensive cost. The consequence will be that ETH 2.0's security and reliability will be hit hardly.
Vitalik Buterin mentioned this kind of risk in a reddit post but he emphasized that although it may happen infrequently in pratice it may still happen. However, from our perspective, even if this happens once, it will be a disaster to Ethereum.
Therefore it is necessary to have a solution for this extreme scenario.
Abstract (Two Strategies)
We propose to redefine ETH 2.0's staking by "forging with ETH". This is a new mechanism to make it affordable for people to be validators and in the meantime to make Ethereum still work properly and securely without suffering mass exit of validators even when ETH's price has a huge hike and the aforementioned extreme scenario happens.
- "Forging with ETH" is a process of reconstruction of value that takes ETH as a “raw material”, burns it and produces a new cryptocurrency NDAO. NDAO is an ERC-20 token.
- "Forging with ETH" is pretty much like deploying a trading pair for a token in Uniswap.
This trading pair is created based on a pricing algorithm by smart contracts with ETH and the benchmark token NDAO.
The algorithm is a revised CPMM one which we call "Reverse Improved Constant Product" (abbreviated as RICP). Various DeFi Dapps use a constant product algorithm whose fundamental mechanism has been proved a success by Uniswap.
What makes RICP different from the one used in Uniswap is that RICP uses NDAO as the base currency instead of ETH. This eliminates the price fluctuations of a base currency in the system, which takes place when ETH is used as the base currency. And ETH in this system is also priced in NDAO. For instance ETH's price may be listed as 1 ETH = 1234 NDAO.For more details about "forging with ETH" please refer to the following part of “NDAO and ETH Forging”.
- In our proposal the stake is not counted in ETH but counted in NDAO instead. This is like what happened in Japen in 2017, where there were 260,000 stores accepting payments in Bitcoin but nearly all of the stores got JPY instead of Bitcoin through third party payment systems.
- Based on RICP as more validators come in the amount of ETHs needed for staking for a validator becomes less.
- This will undoubtedly motivate more people to become validators. The cost to be a validator will not be affected by ETH's price increase but will be affacted by the number of validators. When ETH's price rises more people will be tempted to be validators but the amount of ETHs needed for staking for a validator will be less. This ensures fair play for future validators.
- If a validator performs an exit he/she will get NDAO instead of ETH. This is how NDAO is forged with ETH. In addition, in our proposal NDAO can be used as stake.
- When the system's smart contracts are initiated, NDAO is priced at one USD. For instance, if ETH's price is $252 when the smart contracts initialize, the initial exchange rate of NDAO to ETH will be 1 ETH = 252 NDAO(32 ETHs will equal 8064 NDAOs). Right after that, ETH's price in this system will no longer be afftected by external centralized markets and will only be afftected by the number of ETHs staked.
- Note: this proposal allows people to be validators by staking NDAO. This is an application of NDAO. A second application of NDAO will be presented later.
To improve the overall security of ETH 2.0 staking we propose to reward validators with EIP-2569 based honor tokens.
- A set of honor tokens we mentioned will be based on EIP-2569. It is a non-fungible token whose attribute data including the logo image is all saved directly on Ethereum.
- These honor tokens should be issued by Ethereum Foundation or Marked with Ethereum Brand.
- A validator will be qualified to receive an honor token only after he/she is in service for at least one year. Honor tokens have different levels based on the number of years which a validator serves for. Every year a newly issued honor token will be different in design. A validator may receive an honor token based on the number of years he/she serves. Note: if a validator is in service for more than 5 years but less than 6 years he/she will receive an honor token designed for a 5-year term.
- An honor token will record a validator's effective starting time when he/she becomes an validator, and the end time when he/she receives the token. Note: the end time here is not the time when he/she performs an exit. For instance, one will become a validator starting from September 1, 2020, will receive his/her honor token still as an active validator on September 1, 2022. Three year later in 2025, this validator will perform an exit but may still be rewarded with a second honor token. But the second honor token will record his/her starting time as September 1 2022 rather than September 1 2020.
- If a validator is forced to exit he/she will no longer be qualified to receive future honor tokens. However he/she can still keep the honor tokens he/she has had and his/her possessed tokens are still valid.
- If a validator is punished but not forced to exit he/she will still be qualified to receive future honor tokens. But the future honor tokens will record all the penalties the validator has received and the tokens will be in special formats.
- As time goes by, honor tokens with special designs for big events such as anniversary celebrations can be issued. For instance an honor token for the tenth anniversary of ETH 2.0 Staking can be issued. This is cool and significantly meaningful.
- As a validator serves longer with good service i.e. no penalties, the honor tokens he/she receives will bring him/her more pride and a stronger sense of community. And these tokens will be more valuable. This will motivate validators to serve with more passion and loyalty while will greatly minimize possibilities of misbehaving. It will significantly prevent mass exit of validators and enhance Ethereum stability and reliability.
- An honor token is priced in NDAO, and can only be purchased and sold in NDAO and ETH ---- this is a second but not the last application of NDAO. By recalling blockchain's history (e.g. development of DeFi) we can see that blockchain's openness will continuously stimulate innovations and applications.
- An honor token can by purchased and sold on exchanges such as OpenSea as easy as with just one click. This can be easily implemented with support from these exchanges.
- Honor tokens will bring both value and wealth to validators, and will very likely be rarities and collectibles. In our proposal when validators exit they will receive NDAO rather than ETH. In this case if ETH's price is higher than it used to be, validators may feel unfair and honor tokens will be a good compensation.
Honor tokens are good incentives to attrace validators to join staking as early as possible because these early birds may win unique token with their service time which may be the longest among all the service times recorded in all honor tokens. This is the first ever means to reward an Ethereum's contributor with special honor and will motivate future thoughts in blockchain's development.
From our perspective, the above measures will eliminate the risks of ETH 2.0 staking being harmed by ETH price fluctuations.
NDAO and ETH Forging
Before reading this section you'd better learn some basic knowledge about Uniswap's "Contant Product Fomula". For its details, please refer to the following information.
Hayden Adams. 2018: https://hackmd.io/@477aQ9OrQTCbVR3fq1Qzxg/HJ9jLsfTz?type=view.
Vitalik Buterin: Improving front running resistance of x*y=k market makers
The benchmark token NDAO will be forged with ETH based on our proposed RICP algorithm. NDAO's decimals are 18. When the smart contracts that run "forging" start, one will be assigned to NDAO's initial value, ETH's circulating supply will be assigned to ETH's initial total supply and ETH's real-time market cap will be assigned to ETH's initial marketcap .
- Initialized with 1NDAO equaling to 1 USD
In the RICP algorithm, the value of NDAO is always one ---- this is what we call the benchmark. On the forging contracts' initialization, the NDAO's price in ETH is the same as the USD's price in ETH and the USD's price in ETH is determined by the existing centralized crypto exchanges. This makes NDAO's price an interesting and reasonable start. But right after the forging contracts start, the 1:1 pegging relationship between NDAO and the US dollar will be revoked.
- On system initialization ETH's circulating supply will be used as the system's initial ETH supply.
- Technically, on system initialization there are no real NDAOs (only a virtual NDAO supply), and ETH's real-time market cap will be used as the system's initial NDAO supply. Once ETH is sold to this system NDAO will be generated.
- Virtual trading pairs are established.
- NDAO will be forged in two ways: realtime forging and staking with forged NDAO
Realtime forging --- forge NDAOs with ETHs. People who get NDAOs can apply them in various applications.Staking with forged NDAO --- For example, in ETH 2.0 staking, a validator needs to stake 32 ETHs. By using staking with forged NDAO a validator can stake NDAOs instead of ETHs by sending ETHs to the system in exchange for NDAOs as stake. When the validator exits he/she will get back his/her staked NDAOs.
- The RICP's algorithm runs this way:
It is initialized with ETH's circulating supply.
When a trader sends an amount of ETHs to the system, the ETH's circulating supply will be deducted by this amount and the total supply of ETH in the trading pair will be deducted by this amount. We can think of as these ETHs are burned.
For instance if ETH's total supply is 107,477,373 , a trader sends 100 ETHs to this system in exchange for NDAOs, then the total supply of ETH in the algorithm will be 107,477,273 which will be less than the previous supply by 100, and the ETH's price will rise based on the RICP algorithm.
- The total supply of ETH in the system and the total supply of NDAO are calculated once on a daily basis.
- In this system ETH is priced in NDAO.
Note: right after the foring contracts start, NDAO's pegging relationship with USD will be revoked.
Improvement to Economic Incentives
Since the first exchange of Bitcoin came into existence, it has been widely acknowledged that crypto prices are highly volatile. This applies to any crypto including ETH. A huge number of ETH miners appeared but very few survive and beome big. Most of them were eventually kicked out of the market due to unstable income caused by ETH price fluctuations. Therefore it is improper to reward ETH miners with ETHs.
We propose to reward ETH miners with NDAO.
- Based on the RICP algorithm, no matter how ETH's price changes, NDAO's price is always as stable as 1. It is an absolutely stable token.
As presented in the previous sections we can use the RICP algorithm to calculate how many NDAOs should be rewarded to a validator by converting the ETHs he/she should receive to NDAOs and send them NDAOs instead of ETHs by smart contracts.
Validators retrieve NDAOs (as his reward ) from the ETH Forging smart contracts.
Our proposal can reward validators on a daily basis. This is more attractive to validators who can only get their rewards after Phase 1 in the current mechanism.
ETH's inflation rate will become lower.
NDAO will be in great demand. Finally validators will need a huge amount of NDAOs for staking. And NDAO will have far more applications than DAI. Interested users can give it a shot on www.DAism.io/exchange (Ropsten Test Network). An improved mechanism like this one is needed to make Ethereum more stable and reliable and this will be a fundamental building block of the whole Ethereum ecosystem.
Our proposal presents a solution for mass exit of validators and eliminates two consequences that will cause devastating damages to ETH 2.0.
- Active validators are tempted to exit and sell staked ETHs due to ETH's price hikes.
Active validators will get rewards when they perform an exit. Their rewards will not be associated with ETH's price hikes. Thus validators will not be tempted to speculate on ETH and will not be tempted to perform an exit for this speculation.
- ETH's price hikes will not affect the real cost (the number of ETHs) for potential validators. ETH's price will not be positively associated with the cost of staking. In the long term a validator's income will increase and more people will likely join staking but the number of ETHs needed for staking for a validator will decrease. As more validators serve in the system the aforementioned extreme scenario will less likely happen.
This proposal motivates more people to be validators and enhances validators' loyalty(work and behave properly) by rewarding validators with honor tokens. These honor tokens (including their logo images) will be permanently saved on Ethereum. This is the first ever proposal to reward Ethereum's contributors with honor and will greatly incentivize validators.
Recently, a report "Ethereum 2.0 Economic Review" published on ConsenSys reveals some potential issues and risks with ETH 2.0 staking.
- Security of the network in Eth2 is dependent upon three key variables: ETH staked, the price of ETH, and volatility.
- Attacks on Eth2 are easier to scale than on Eth1.
- Targeting 13.8% ETH staked will match security levels of Eth1 at historical prices.
- Economies of Scale for validating exist but are reduced at higher ETH prices.
- Network security is heavily reliant on the price stability of ETH.
- Beware of Derivative attacks.
Through our deep-dive analysis, each of these issues and risks is directly tied to ETH's prices which are affected/manipulated by trading activities in centralized crypto exchanges. In essence, if the improper staking mechanism is not redesigned these issues and risks might be triggerred by ETH's price fluctuations. And our proposal completely eliminates the root cause of these issues and risks.
In addition, our proposal addresses the following two points mentioned in this report and provides solutions.
- While participation from Ethereum enthusiasts is important for a successful Beacon Chain launch, it is ultimately inadequate to reach sufficient levels of security. Attracting capital efficient validators will lead to higher fidelity in targeting a sufficient level of ETH staked.
- This is a compelling serviceable addressable market, and a key objective of the incentive program to maximize network participation should be to convert these wallets into active validators.
All in all, this proposal provides a solution for security and safety of ETH 2 Staking.
You can also read this EIP here: https://github.com/DAism2019/EIPs/edit/master/EIPS/eip-2794.md
Have opened a pull request to Ethereum: https://github.com/ethereum/EIPs/pull/2794
Feel interesting, please join one of the following discussions: