The ultimate guide for building a decentralized Ethereum liquid staking protocol
Ethereum is a powerful open-source blockchain platform that hosts a wide range of decentralized applications. With the rapid growth of the decentralized finance (DeFi) sector expected in summer 2020, it's only natural that the vast majority of DeFi applications will rely heavily on decentralized Ethereum — via its immutable smart contracts — to properly transfer, lend, borrow, or maintain users' funds.
The recent release of Phase 0 of Ethereum 2.0 marked the beginning of Ethereum's transition to a proof-of-stake consensus mechanism. People (now known as validators) stake their ETH on the Beacon Chain to secure the blockchain, earning staking rewards proportional to the number of tokens staked.
In effect, this allows users to generate a passive income stream by staking their Ethereum or running their validator infrastructure to participate in network consensus.
To stake on Ethereum 2.0, you must have a minimum of 32 ETH to become a full validator, with less getting you into a staking pool.
Ethereum's level of decentralization and transparency is a key component. Users can uphold the network from anywhere in the world by running their node validator, and smart contract codes are transparent for users to inspect.
Self-Staking: Overview & Limitations
There are numerous constraints for users who want to become validators, such as the immovability of staked funds, the minimum amount required to participate (32 ETH), and the individual responsibilities of running a validator. The immovability factor is one of many that we will be focusing on in this article.
Users who stake their ETH into the Ethereum deposit contract to secure the network will be unable to un-stake their ETH until transactions are enabled. Because no official date has been set for this phase of the upgrade, users may have to wait years before receiving their staked ETH.
Exchange Staking: Overview & Limitations
The process of staking tokens through a centralized exchange service is referred to as exchange staking. This allows users to stake and un-stake at any time — they can withdraw their rewards whenever they want, but exchanges will charge them a percentage fee.
However, the inability of users to withdraw staked Ethereum during the early stages of Ethereum 2.0 complicates exchange staking for Ethereum. Because of this inability to withdraw, exchanges can only safely stake a portion of deposits — up to approximately 60% of deposited ETH — to allow users to withdraw their staked ETH. As a result, the reward rate for Ethereum 2.0 exchange staking is expected to be significantly lower than that of self-staking or liquid staking.
Liquid Staking on Ethereum
In light of the limitations of both self and exchange staking, liquid staking emerges as a novel way to avoid the risks associated with illiquidity, complexity, and centralization.
The liquid staking protocol is an alternative to locking up a user's stake: it allows users to stake any amount of Ethereum and effectively un-stake it without having to enable transactions. This is accomplished by issuing a tokenized version of the staked funds — a sort of derivative — that can be transferred, stored, spent, or traded just like any other token.
A user would put their ETH into a third-party app. This app would deposit this user's ETH into the Ethereum deposit contract on their behalf (via their validators), and in exchange would mint a representative ETH token for them (eg. stETH).
This representative token will allow users to keep their ETH liquidity, allowing them to transfer their ETH wherever they want while still earning Ethereum staking rewards.
A user would put their ETH into a third-party app. This app would deposit this user's ETH into the Ethereum deposit contract on their behalf (via their validators), and in exchange would mint a representative ETH token for them (eg. stETH).
This representative token will allow users to keep their ETH liquidity, allowing them to transfer their ETH wherever they want while still earning Ethereum staking rewards.
Lido, for example, allows users to stake any amount of Ethereum and receive stETH in exchange, which can be used for lending, collateral, and other purposes, while still earning daily staking rewards. As a user's staked ETH generates staking rewards, the user's balance will increase once per day, allowing them to access the staking reward value. Lido's method also allows users to un-stake at any time by utilizing stETH liquidity pools.
When Ethereum transactions are enabled in a future upgrade, this representative ETH will be returned to the third-party issuer. The issuer will then refund the user an amount of ETH equal to their original stake, as well as any rewards earned while securing the network. Users can also un-stake by trading their staked ETH tokens on the open market.