With the upcoming Ethereum 2.0 upgrade on the way, the network will transition from a PoW (Proof of Work) to PoS (Proof of Stake) based blockchain. Given this major event set to occur by Q3 2022, a plethora of new users is poised to pour into the liquid staking space.
As this continues to develop, pSTAKE is moving towards launching stkETH to enhance offerings within our liquid staking ecosystem.
To better understand what this means for pSTAKE and how users can participate, we’ve prepared a comprehensive outline and overview of our Ethereum 2.0 liquid staking implementation.
How to Mint stkETH via pSTAKE
pSTAKE will allow ETH holders to stake their assets using the pSTAKE Ethereum 2.0 staking interface. As a result, users will be issued stkETH, which follows an exchange rate model (stkETH is not pegged at a 1:1 ratio to ETH).
The process to acquire stkETH in your wallet is relatively simple and can be completed in just a few steps through the pSTAKE app. Users need to access the pSTAKE staking interface to begin, where they can initiate a transaction by staking ETH in order to receive stkETH tokens directly to their wallet.
- Connect your MetaMask wallet to the app interface
- Stake x amount of ETH within your wallet using pSTAKE
- pSTAKE will issue y amount of stkETH (exchange rate mechanics are explained later)
- You can now use stkETH to engage in DeFi activities (depending on available stkETH integrations)
Users can directly stake any amount of ETH, on the pSTAKE app – no minimum deposit is required
After the testnet has been deployed, we will soon release a step-by-step guide with more details on the entire process.
Underlying Background Mechanics
Let’s say that a user comes to the pSTAKE app and stakes x amount of ETH tokens. Next, the platform issues the user y amount of stkETH (depending on the current exchange rate). The x amount of ETH is not directly staked on the Beacon chain, but rather deposited within the pSTAKE ETH deposit contract.
Once the number of ETH within the pSTAKE deposit contract reaches 32, a node operator is then chosen to run a validator node and stake 1 ETH alongside 31 ETH from the ETH pool.
Now, what happens in the background is:
- The node operator deposits the key with 1 ETH on the deposit contract.
- Next, the node operator submits this key to pSTAKE’s contract containing a signature for the deposit of 31 ETH.
- The key is then picked up by the Beacon chain.
- pSTAKE’s oracle picks up the key and verifies its associated withdrawal credentials.
- The key is marked active from the pSTAKE side.
- When enough users deposit ETH into the pool (32 ETH required to be deposited to make a validator active), the node operator can request for key activation by executing a transaction to the contract.
- The initial 1 ETH submitted by the node operator will be refunded to their account from the pool and the 31 ETH will be staked on the validator from the pool.
Once the ETH is staked on the Beacon chain, the oracle provides data to pSTAKE regarding the ETH stake’s activity. In the future, the v2 version of the oracle will also monitor the performance and ETH staked balance of these validators; it will alert the system if a validator is underperforming or gets penalized.
There are several key components to this implementation that are important for consideration:
- stkETH Issuer Contract: This contract issues stkETH tokens to a user’s wallet once the ETH has been deposited into the pSTAKE platform
- Oracles: stkETH is issued on the current Ethereum blockchain while staking is occurring on the Beacon chain (a separate chain that will eventually merge with the current version). Therefore, an oracle is needed to track the ETH balances and performance of validators – pSTAKE’s oracle service is executed internally and verifies the withdrawal credentials and signature submitted by the node operator
- Validator Node Operators: Operators provide the underlying infrastructure that helps run several validator nodes on the Beacon chain within pSTAKE. The validator set hasn’t been completed, however, the pSTAKE team is in the process of onboarding node operators
Fee & Token Models
The pSTAKE liquid staking implementation for Ethereum 2.0 contains both a fee and token model that help shape the way in which it operates – below is a high-level summary of both.
- pSTAKE will charge a 10% fee to users who stake ETH, out of which 50% will be distributed to node operators
- The other 50% in fees (or 5% of the total amount of rewards generated) will be provided to the pSTAKE protocol treasury
pSTAKE: Ethereum Token Model
pSTAKE will implement a single token model for our liquid staking implementation on Ethereum 2.0.
stkETH will start with a 1:1 exchange rate with ETH; however, the exchange rate for redeeming ETH through stkETH will continue to alter over time as staking rewards accrue on the staked ETH tokens. The value of this derivative token changes at every block, which is dependent upon the number of ETH staked and staking rewards earned by the amount locked. Socialized rewards and slashing mechanisms will be put into place for stkETH token holders, which will be further explained below.
As an example, imagine Alice stakes 2,000 ETH and the supply of stkETH is an identical 2,000 at t=0, where t0 refers to the first block since the launch of stkETH, and the exchange rate between stkETH and ETH is 1:1. If Alice deposited 1 ETH, she would receive 1 stkETH given a presumed 1:1 exchange rate.
Next, for simplicity, we assume that the protocol receives no additional ETH deposit from users for one year, and the annual staking rewards on the Ethereum network equal 10%. Therefore, a total of 200 ETH from staking rewards are generated, bringing the total ETH within pSTAKE to 2,200 (2,000 staked plus 200 in staking rewards). In this case, however, the number of stkETH is 2,020 (2000 stkETH minted by Alice, and 20 stkETH minted for node operator and protocol fees).
After 1 year, Bob wants to stake 300 ETH with the pSTAKE protocol. Now, the total ETH within pSTAKE is 2,500. However, Bob would receive 0.918 stkETH per ETH staked with the pSTAKE protocol (2,020/2,200) – meaning Bob would receive 275.45 stkETH (300*0.918).
Note: the calculation does not take into account the amount Bob wants to stake but instead what’s already in the pool and the stkETH in supply before Bob stakes.
The amount of stkETH issued for ETH deposits continues to decline as more rewards are earned within pSTAKE. However, it does not mean that they are receiving a smaller portion of the pie (it only means that they are staking at a later time and would be able to redeem the entire deposited amount of ETH + the staking rewards at a later date – once the merge is successful and withdrawals are enabled).
The following formula can be used to determine Bob’s stkETH issued per ETH:
Here’s the exchange rate formula:
Below are additional calculations to help demonstrate these examples in greater detail:
t=0 (Launch of stkETH product)
- Total ETH Staked by Alice: 2,000
- Exchange Rate: 1
- Total stkETH Issued to Alice & in Supply: 2,000 (2,000*1)
Assume Staking Rewards: 10% annually; out of which
Rewards allocated to node operators: 5%
Rewards allocated to the protocol: 5%
t=n (Assume n=1 year from the launch of stkETH)
Please note that for the sake of simplicity, we assume no additional ETH was staked with the pSTAKE protocol in the last 1 year:
- stkETH minted for node operators and protocol: (10/100)* 200 = 20
- Total stkETH supply: 2,020
- Total ETH with pSTAKE protocol: 2,200 [2,000 staked + 200 Rewards (10% staking rewards on the 2,000 tokens)]
Please note that stkETH for node operators will be kept in the validator pool and used at the time of slashing.
Now assume Bob stakes 300 ETH with the protocol:
- Total ETH in the pool now becomes: 2,500
- Exchange Rate at which Bob receives stkETH: 0.918 (2,020/2,200) – the calculation does not take into account what Bob wants to stake but instead what’s already in the pool and the stkETH in supply before Bob stakes
- stkETH Issued to Bob: 275.45 (300*0.918)
Slashing is a mechanism used by a PoS protocol that discourages malicious behavior on the network and helps make validators act in better faith due to the removal of a portion of their staked assets.
Unlike with other liquid staking protocols, pSTAKE doesn’t directly slash users. Slashing happens in two phases based the amount to be slashed:
- The protocol first slashes the rewards allocated to the protocol and validators, as they are the ones responsible for maintaining the network’s uptime.
- Next, if the above measure is not able to cover the slashing amount, then the users are slashed.
Potential Risk & Solution
In the event that slashing does occur, the amount of ETH staked on pSTAKE will decrease. However, the amount of stkETH in supply does not change. This means that for the same amount of stkETH, users would now be able to redeem lesser ETH (although redemption is impossible until after the merge and unbonding go live).
To solve this problem and allow users to claim the full amount of ETH, the stkETH will need to be bought back and burned from the total supply (the burned stkETH signifies the amount of slashed ETH). Once this process has concluded, the exchange rate prior to the occurrence of slashing will be restored.
It’s important to note that pSTAKE users can stake any non-zero amount of ETH with pSTAKE. Staking rewards will not be compounded, as users are not yet able to claim or stake their rewards on the Beacon chain.
Why Stake ETH on pSTAKE?
The Ethereum network continues to experience upgrades and developments leading into the merge. That being said, several liquid staking protocols have been experiencing issues, and the pSTAKE team has stepped in to develop solutions to combat these problems. But how exactly do we plan on doing this?
- Instead of asking node operators to submit a list of validator keys, pSTAKE asks them to deposit 1 ETH on their own with our withdrawal credentials. When the validator key is picked up by the Beacon chain, we verify the key’s validity by checking the withdrawal credentials (this was implemented after Lido’s issue regarding its liquid staking contract – users who previously submitted the same key with different withdrawal credentials were in control of the funds staked when withdrawals were enabled.)
- We’ve implemented social slashing, which exists in most liquid staking protocols, but with a twist to further mitigate overall risk. Slashing initially affects the rewards allocated to the protocol and validators, as they are the actors responsible for maintaining uptime. If none of the measures end up working, then the users are slashed. The slashing mechanism will go live in the next product upgrade.
Next in the Pipeline: Testnet, Mainnet, & Integrations
We are on the precipice of launching our public pSTAKE stkETH testnet, where users will be able to participate in testing and logging issues. Soon afterward, we will deploy the mainnet version to fully implement ETH staking on Ethereum 2.0.
Additionally, several integrations will be made available post-launch, providing more opportunities and use cases for pSTAKE’s stkETH tokens. This includes the aforementioned stkETH/ETH liquidity pool, plus some other DeFi use cases to leverage stkETH tokens as collateral.
With this new Ethereum 2.0 liquid staking implementation imminent, greater potential will be unlocked for our ecosystem, opening the door to newfound capital, plus greater efficiency and scalability.
pSTAKE is a liquid staking protocol that unlocks liquidity for your staked assets. With pSTAKE, you can securely stake your Proof-of-Stake (PoS) assets, participate in protocol improvements and security to earn staking rewards, and receive staked underlying representative tokens (stkASSETs) which can be used to explore additional yield opportunities across DeFi.
At present, pSTAKE supports Binance Chain (BNB), Cosmos (ATOM), Persistence (XPRT), and Ethereum (ETH) networks’ native tokens, with a view to support more chains and assets in the future (SOL, and AVAX).
Developed by Persistence
Persistence is a Tendermint-based, specialised Layer-1 network powering an ecosystem of DeFi applications focused on unlocking the liquidity of staked assets. Persistence facilitates the issuance and deployment of liquid-staked stkASSETs, allowing users to earn staking rewards while participating in DeFi primitives, such as lending/borrowing and liquidity provisioning on DEXs.
Persistence aims to offer a seamless staking and DeFi experience for PoS (Proof-of-Stake) users and enable developers to build innovative applications around stkASSETs.