The ETH 2.0 deposit contract is finally deployed. It allows users to stake ETH. This upgrade will bring the proof-of-stake consensus method to the Ethereum network.
Validators support the network to validate the network transactions. In return, they receive incentives to perform their duties. The validators vote on the next block, and the staking amount decides the weightage of the vote.
To become a validator and participate in voting, users stake 32 ETH. The ETH is locked in a one-way deposit contract and is a non-reversible process until withdrawal is enabled (after phase 0). And as we have mentioned earlier, the validator will be rewarded with additional ETH at some interest rate, along with receiving a portion of the network transaction fees.
In this article, we will explore how a user can participate in staking or get a benefit from it.
The ETH2 Launch Pad, an application compatible with the ETH2 Medalla testnet, will guide the users to generate ETH 2.0 key pairs and stake your 32 ETH into the official deposit contract. It will go live once the network collects the genesis threshold of 16,384 validators with 524,288 ETH. The launchpad also allows the users to stake multiple times if they want to run more than one validator client during the setup process.
The basic prerequisite for ETH 2.0 staking are:
- 32 ETH per validator
- Supporting hardware
- Constant internet connection
The software requirement depends upon the kind of activities you want to perform:
- Beacon node only
- The Beacon node + validator client
- Beacon node + multiple validator clients
ETH 2.0 supports the following four Validator Clients:
Lighthouse is built in Rust, which primarily focuses on speed and security.
You can find more details and an installation guide here.
Nimbus (Apache 2) is similar to python-syntax and is written in Nim. The company is famous for its messaging app/wallet/Web3 browser.
Find details about it here.
Prysm is written in Go. It mainly focuses on usability, security, and reliability.
Find more details about installing it here.
Teku is an Apache 2 licensed product written in Java. It is designed and built to meet institutional needs and security requirements.
You can find more details and an installation guide here.
Check these below points before opting for staking:
- Users require hardware resources to run the validator node and a beacon node as well.
- The approximate costs are $120/year for a beacon node and validator client.
- The user needs to send 32 Ether on a one-way transaction to the deposit contract.
- Stakers cannot directly sell staked Ether.
- Users will not be able to withdraw until phase 1. It is locked on the Beacon chain.
- Need a minimum 140 GB SSD to run geth fast sync on the mainnet.
- Reliable staking software.
- Network flaw.
- The secure environment of their validator clients (internet connection, operating system, hardware, etc.).
- One-way bridge enhances security and is less complex, but the lockup risk is significant as ether from Eth 1.0 is effectively burned.
To maintain the security of the network, the validators are required to be available and constantly vote for blocks. In case of unavailability, the validators will face a penalty:
- If blocks are finalizing and you’re offline, you can lose x% of your deposit over a year where x = current interest.
- If blocks aren’t finalizing (>33% of validators are offline) and you’re offline, you can lose 60% in 18 days.
Important: If your balance falls below 16 ETH, you will be kicked out from the validator list.
Apart from penalties, validators may face slashing charges for behaving maliciously like attesting to invalid or contradicting blocks. Validators facing slashing charges pay a minimum amount of 1 ETH (can be more if other validators are slashed at the same time). In the worst case, they cannot participate in the protocol further or sometimes are kicked out of the protocol.
Validators need to generate new keys to identify and secure your validators. It derives from a unique mnemonic seed.
There are 2 keys:
- Signing keys
- Withdrawal keys
The validator uses the signing key (online) to perform their duties. Hence, it is prone to hacking. Transferring and withdrawing ETH needs withdrawal keys.
Checklist/ Main Steps
- Install and sync ETH 1 Client on mainnet.
- Configure the ETH2 Client. Use any of the four validator clients which we have mentioned earlier.
- Install the latest ETH Beacon Node stable software release.
- Connect ETH2 Beacon Node with ETH1 client via HTTP API(s).
- Sync ETH 2 Beacon Node on mainnet.
- Run ETH2 Validator client on a separate machine and connect it to Beacon Node via HTTP/GRPC API(s).
- Use Prometheus and Grafana monitor to visualize real-time metrics.
Do remember to secure your keys.
The current ETH 2.0 deposit contract is for running direct nodes with 32 ETH. The delegation function is not available yet. Two solutions promise to bring out delegation features in the future:
Ankr provides ETH 2.0 staking facility through its platform, Stkr. Using Stkr, users can participate in Micropools and stake directly from their MetaMask wallet. These pools charge very little fees, and depending upon the stake, you can earn rewards.
Projects Supported by Ankr:
Currently, the platform is not operational.
The platform is quite flexible and allows the users to run their nodes if they want. You can rent hardware or you can even deploy the Ethereum 2.0 node with the ANKR platform. It allows you to choose your hardware requirement. The platform charges a monthly fee for its services.
Read their blog for more info.
Similar to Ankr, ETH 2.0 staking in Rocketpool is yet not released. It is currently running a beta program on test networks. Rocketpool works with a Web 3 browser like MetaMask. You need to convert your ETH to rETH.
The exchange rate of rETH to ETH is dynamic. It may be more or less depending upon the network rewards. That means users may get more or less rETH than the amount of ETH that they have put in. If you want your ETH back, you just burn the rETH.
Kindly do your research before using both the Ankr and Rocketpool platforms.
ETH 2.0 staking is quite complex from a naïve user’s perspective. Users have to deal with complex software installation and security measures. Staking 32 ETH in a one-way deposit contract for an uncertain period (until phase 1) is a bit risky. Also, holding 32 ETH is just like a dream for most ETH users. So until the delegation feature launches, the staking will be out of the reach of most crypto users financially. Apart from this, you should be technically efficient to carry out all these activities without fail.
Resources: ETH2 Launch Pad