# ethereum staking there are a lot of tweets on ct about how ethereum is the most decentralized chain, how it's crypto economic security is very good, how using restaking - apps can leverage this crypto economic security and build more secure offchain infra. but, all of this has 1 minor issue. ethereum is actually not very decentralized. today the nakamoto score of ethereum is 1. this may not give the full picture, so to clear things we are going deep into why current ethereum is not as decentralized as you may think. before quantifying ethereum's decentralization, we should first understand what decentralization means? ## decentralization - bread of butter of blockchains > Process of distributing activities away from a central authority decentralization means distributing a process that's been running on a single computer to multiple computers and helping them reach to a consensus together. ### how do we quantify decentralization? there are multiple ways of quanitfying decentralization according to the algorithms that the network is using. if it works on a POW algorithm, decentralization is quanitified by the hashrate of the network. hashrate is the compute power a miner has -- how fast can they generate guesses ![current hashrate of bitcoin](https://hackmd.io/_uploads/r1afKRcLR.png) as you can see the bitcoin's hashrate distribution, ~50% of compute power is controlled by 2 entities in a POS network, decentralization is quantified by stake distribution of the network. the higher number of people control the stake, the higher the decentralization is. ![image](https://hackmd.io/_uploads/H1oapA5I0.png) this is ethereum's stake distribution and lido controls a whopping 29% of the staked ethereum and lido also controls 88% of the liquid staked ethereum market. the second highest is coinbase (cex) followed by ether.fi (lrt) and other cexs and staking pools follow soon. ### decentralization and ethereum we saw how 29% of stake is controlled by single entity in ethereum but we can also argue ethereum's decentralization is not only affected by stake because of few reasons - lido is not operating nodes for all of its stake, there are ~29 operators who are doing that and same is the case for other validators - rocketpool/stader and DVT have a very good solution to promote decentralization in liquid staking - lrt pools have increased decentralization - other factors also affect decentralization like node hosting, geography, and client diversity let's also see other factors for decentralization > all data is taken from [ethernodes](https://ethernodes.org/) **client diversity** ![image](https://hackmd.io/_uploads/Hy6PCbo8A.png) *this matters, but it is also slowly improving with new clients being adopted* **geography** ![image](https://hackmd.io/_uploads/BJ760Wi80.png) *need major work here* **node hosting** ![image](https://hackmd.io/_uploads/S1g3AboIR.png) *it is better here that residential is 46.7%* as you can see from the above 3 images, ethereum is improving on a lot of factors but needs improvement in some areas, but overall future is looking quite promising for ethereum if some issues are solved. we are talking a lot about lido and other staking providers, let's dive into them and understand the nuances of each of their solutions there are 4 type of staking providers - centralized liquid staking (lido) - centralized exchanges (coinbase, binance and kraken) - decentralized/hybrid liquid staking (rocketpool/stader) - staking pools (kiln/figment) ### lido lido invented liquid staking, it is one of the main reasons why ethereum and other blockchains have liquid staking and this has helped a lot in promoting staking for retail. kudos to them. they have the largest stake controlled by a single entity right now on ethereum. now some people might argue with me that "no, they don't control the stake directly, they distribute it between their operators" which is right. they don't directly control the stake. but we have to understanding 2 important things which will clear the picture for us - node operators are chose by dao process and dao is controlled through LDO - though they are in the process of introducing dual governance model (LDO + stETH), but afaik they don't have clear timelines on it - node operators need to use whitelisted set of relays that lido provides - currently they have whitelisted relays from bloxroute, flashbots and other parties lido is taking increasingly better steps to decentralize and limit itself, we have to wait for them to meaningfully decentralize themselves (which is hard when they earn $1B yearly in fees and don't even share it their token holders😬) to conclude about lido - stETH has immensely deep liquidity and integrations across defi (remember this point) - process of onboarding node operators starts with a google form and then proceeds to verifying kyc and further dao vote - just to understand, node operators are verified first through a centralized process and then through vote of token holders who mcap is $2B - a $2B mcap community securing 29% of ethereum😳 ### centralized exchanges after lido, centralized exchanges like coinbase, binance and kraken have the biggest share of ethereum staking. they have staking pools and some also have an LST, the staking happens directly through their app which is a very big factor in why they have so much stake. majorly these exchanges have rebranded staking as various other names -- coinbase calls it earn so does binance and others majority of new users hold their ETH in centralized exchanges and getting 3-4% yield on top of it under the "earn" program since no-brainer. this is why they have been able to gobble up so much of the stake, so quickly. we need a major study on what type of users stake through cexs, because then we will be able to understand incentives and bring this users onchain (for real) through LSTs. to conclude about cexs - big userbase with idle assets in spot market - simplified and rebranded process of staking ### rocketpool/stader rocketpool is a decentralized version of lido -- node operators can permissionlessly join, put up some collateral (in form of eth and rpl -- their native token) stader is hybrid solution, it has permissioned, permissionless and dvt solution as node operators. understanding rocketpool will also give better understanding of stader. rocketpool has things called minipools. minipools can be deployed by node operators by putting up the said collateral and they can charge commission from users staking to them. solo stakers love rocketpool because of [smoothing pool](https://docs.rocketpool.net/guides/node/fee-distrib-sp) this solution has limitations - validators need to put up atleast 8eth + 0.8eth worth of RPL token to be eligible for deploying a minipool (not a big problem) - if rocketpool attracts less node operators meaning less opportunity for users to stake, this results in less number of stake -- also might be one of the reasons why it wasn't able to compete with lido to conclude about rocketpool/stader - good on paper, not good in practice, need some good amount of tweaks so that the vision is executed in practice ### staking pools there are individual staking pools on ethereum who do contractual staking for institutions and companies like renzo etc figment and kiln are good examples on ethereum but there are more these solutions are better for them who want institutional grade staking, with the security and uptime and SLAs --- we still haven't talked about solo stakers because they are one of the most vital entities in making ethereum truly decentralized and achieving the vision of everyone who has worked on ethereum till date. solo stakers have different kind of issues which needs to be tackled in correct way so they can rise to meaningful percentage of above ethereum stake graph. ### who are or can be solo stakers? solo stakers are anyone who is running their own ethereum node and helping in validating the network. they also need to stake 32 eth which might be large amount for some, for others it is good. **there are some recurring issues in solo staking** - not having enough ethereum to start staking - a lot of people who have the technical knowledge of running a node, but not having the min stake amount to start - no having technical knowledge to run ethereum node - some people have enough eth to start validating ethereum, but not the technical knowledge to effectively run an ethereum client - majority of the time, these stakers will lose out on [slots](https://x.com/nero_eth/status/1742139964714791078) - being solo - due to existence of big players in ethereum staking, solo stakers get a lot less chance of being a proposer thus losing out on rewards - smoothing pool of rocketpool gives a chance for validators to evenly distribute their rewards between other solo stakers, so collectively earning more than being solo ## people in staking there are 3 different people/entities in the staking process - user - one who is staking ethereum - node operator - one who is running the nodes - middlemen - one who is connecting both of them (ex: lido) middlemen have created an asset-light business for themselves. they don't own the liquidity nor do they run the nodes. they are just facilitating trade between these 2 entities and charging fees for that (lido alone earns $1B in fees yearly) all of the above people/entities have incentives of being in the current system - user - wants highly liquid representation of their staked ethereum that can be used across defi on ethereum and other chains - node operators - want more liquidity to run nodes and earn more and more fees for the same - middlemen - connect both of them, facilitate integrations and earn fees ## recap of issues - ethereum is not decentralized enough, it can be more decentralized - centralized staking is more profitable than decentralized staking for both the user and node operator because of incentive alignment - solo stakers don't earn much thus discouraging them from securing ethereum ## introducing virya a lot of issues of ethereum stem from the fact that staking is centralized around few entities, some of which are centralized we need to change it. but before speaking about how we can change this, we should talk about why now? ### why now? there are now ample amount of dapps, communities (daos) and rollups on ethereum with large amounts of liquidity who are doubling down on ethereum for various reasons -- including but not limited to it being a settlement layer, more useful dapps etc. this aligns incentives for them to support virya in making ethereum decentralized again. if you see the past, every protocol who launched or used lsts -- mantle (meth), blast, ao and more have attracted larger amounts of liquidity from users. so we can say ethereans love staked ethereum. restaking was introduced by eigenlayer earlier this year. it's about how stakers can earn more yield on top of their staked ethereum yield by securing other networks. so now, stakers (specifically solo stakers) have a chance to earn more yield by securing varying range of networks other than ethereum at zero extra cost (stake-wise, there is some cost computationally) to give a gist of above - stakers can earn more yield through restaking and through some defi activity - communities, applications and protocols are ripe right now to launch their own liquid staking token thus decentralizing ethereum ## introducing virya (again) virya helps communities to permissionlessly deploy lsts and lrts, with multi-asset liquidity pools supporting deep liquidity and facilitating trade between these assets. ### how does it promote decentralization? ethereum's nakamoto score is 1 and most of the stake is held by 3-4 big staking pools if we can democratize launching staking pools, so that anyone who is invested in ethereum and wants to see it get more decentralize can deploy their own staking pools coupled with lst which has deep liquidity to facilitate trades -- it will be game changer and we can meaningfully see ethereum getting decentralized. solo stakers will also get a chance to get involved in virya and be node operator for this new staking pools earning more yield than traditional staking pools because of **custom reward manager**, it will enable communities to give custom rewards to stakers, while also having an option to participate in securing few AVSs through supported restaking services. we will talk further about how we enable this. as we saw in the **people in staking** - users want lsts with deep liquidity pool ✅ - multi asset pool of lst and lrt solves this by combining liquidity of multiple lsts into a single pool (as they are backed by the same eth and very slightly varying risk factors) and enabling trading between lsts to lsts and to eth - so, even lsts with low liquidity can swap to lsts with deeper liquidity without much slippage and then swap to eth - stakers want more liquidity and earn more yield ✅ - stakers will get increasingly more liquidity as they can support multiple types of staking pools or continue supporting same staking pool - stakers can opt in to lsts which give very high yield through **custom reward manager** which will increase their yield - stakers can also opt in to restaking services and earn even more yield by securing AVSs - ethereum is becoming decentralized ✅ - stake is distributed between various many ethereum "users" (ethereum's actual users are communities) - solo stakers will get a chance to earn more yield and become more profitable thus becoming competitive with other big node operators ### who are these communities? communities here are any of the below - protocols - rollups - dapps - daos it's better to explain usecases with real world examples imagine if **uniswap** launches their own lst - **uniETH** instead of launching liquidity pools with wETH, uniswap can enable launching pools denominated in **uniETH**. depositers will earn extra yield of staked/restaked eth (with other incentivies through customized rewards). it will also help uniswap to expand their brand while also decentralizing ethereum. similarly, **aave** can launch their own **aaveETH** -- a cross chain lst earning more yields on aave. *my favourite example* -- **zachxbt** launching his own lst called **zachETH**. they will not need to run their own infra, infra can be handled by a solo staker but they can have another income stream for securing our ecosystem while also decentralizing ethereum one more good example -- **pudgy penguin** launching **pudgyETH**, using the yield to give **pudgy toys to underpriviliged kids** **yuga labs** launching **apeETH**, turning yield into apecoin for stakers. now that you are onboard virya, let's explore the architecture ### architecture -- virya permissionless lst and lrt <!-- ![image](https://hackmd.io/_uploads/HJunJq3UA.png) --> **actors** - user - deposits ethereum and mints lst - community - issuer of lst and lrt - operator - staker who wants liquidity to start validating ethereum **context** ethereum has 2 parallel chains -- consensus and execution layer. ethereum is staked on consensus layer through deposit contract on execution layer. **contracts** - staking contract - user will deposit ethereum into this contract and mint lst - this is the main orchestrating contract which users and other contracts will interact with - it will handle initial stake deposit and notifying bond contract whenever ethereum amount exceeds a multiple of 32 - oracle - oracle between consensus and execution layer - sends report to staking contract every 24 hours about consensus and execution layer rewards, unstaked validator and many other parameters - reward manager - needs to be written by community - executes customized reward logic - examples - yield can be converted to a erc20 token (dca) - transferred to a third party for doing some work (public good keeping it as revenue) - invests in defi strategy for more yield over longer duration - many other - rewards (if denominated in eth) will be accured to the token (lst) value - bond contract - needs to be written by community - rules for choosing node operator (staker) - example - needs to stake 10M $token in a defi protocol - bond min 8 eth and receive other from staking pool - do kyc/aml - community can chain these rules, so that node operator will need to fulfil multiple rules at same time - this contract will be triggered by staking contract to find a suitable node operator - it will trigger an auction in marketplace - marketplace - node operators will register in marketplace to start validating for lst issuers - bond contract will start an auction - multiple registered and eligible node operators will try to grab the spot by verifying that they fulfil the rules, verification happens through bond contract - at launch, this auction will be FCFS (first come first serve) - stakepool - stakepool is deployed when a eligible node operator is chosen - node operator will deposit their bond (if any) into stakepool and staking contract will also do the same - withdrawal and fee receipient will be virya's addresses - restaking is still (wip) - smoothing pool - this will be an opt-in service for node operators - node operators will change their fee receipient address to smoothing pool address - rewards collected in smoothing pool will be redistributed between all stakers - this will majorly benefit solo stakers because of the volatility of the validation market - as virya grows and more lsts and lrts are launched, solo stakers will be empowered enough to not need this service - withdrawal and buffer - withdrawal queue will be the contract responsible for initiating withdrawals - for initiating withdrawal, users can send withdrawal request to this withdrawal queue contract which locks their LST and mints and nft in return which can be redeemed later for underlying token - oracles get request data from withdrawal queue which is then used for finalization of request depending on amount for withdrawal and other parameters - if buffer pool has enough tokens then withdrawals requests can be fulfilled directly through buffer. Buffer is filled from new user deposits, beacon chain withdrawals, protocol tips, and mev rewards. - if additional funds are required for withdrawals then validator exit bus oracle is responsible to eject validators depending on the current state of the validator set. these ejected funds are accumulated in withdrawal vault for beacon chain and execution layer rewards vault for execution layer which is then emptied in buffer ### architecture -- virya multi asset pool - virya multi asset pool is a liquidity pool which contains multiple LSTs and allows any lst to any lst swaps in efficient manner - on depositing LST in this pool, users get XYZ token in return which is itself is an LST and a yield bearing token - XYZ is a yield bearing token as its yield is the weighted average of the staking rewards of all the LSTs in the pool + trading fees earned from the pool + custom rewards from lst issuer - price for each lst is dependent on eth balance on cl and rewards(priority fee, mev) accumulated on execution layer which comes from oracle, this price is then used to calculate exchange rate for lst to lst swap - for swapping dynamic fees are implemented in order to encourage swaps that helps rebalance the pool - users will earn more interest on their lst and lrt by simply depositing them into virya multi asset pool. they will earn the staking rewards + custom rewards from lst issuer + restaking rewards + multi asset pool trading fees (wip) ## roadmap (wip) too early to talk about roadmap, but i am sure it is one of the craziest roadmap you've seen in a while virya is not just about money, it's about decentralizing ethereum - lst and lrt issuer with a multi asset pool - attract billions of dollars of liquidity - lst and lrt are security backed yield bearing token - virya can transition from being issuer of just lst and lrt to issuer of **anything** backend token (may or may not have yield) - virya can then launch a stack or it's own chain which will help institutions and users to manage their assets, earn yield on it. open credit lines against your assets (real world), facilitate payments, becoming a full-fleged bank and clearing house in the process - it will happen once it democratizes liquid staking market in ethereum - now we are at crossroads, we can either expand to new chains or focus on transition to becoming bridge between cefi and defi ## resources - https://x.com/nero_eth/status/1742139964714791078 - https://ethernodes.org/network-types - https://x.com/0xidanlevin/status/1675866647800709127 - https://notes.ethereum.org/@vbuterin/staking_2023_10