 Hello everyone, I am Darren Langley and I work on Rocket pool, which is a decentralized liquid staking protocol So at rocket pool we've spent the last six years Building our liquid staking protocol. So today I'm going to take you through some lessons that we've learned along the way So in this talk, we're going to break down. What is a liquid staking protocol? What are some of the design choices? What are the challenges of building a truly decentralized protocol? And then what are the opportunities? So liquid staking So liquid staking is built on a theorems proof-of-stake system A little tangent I couldn't be more excited that a theorem is now a proof-of-stake chain and congratulations to all the researchers core developers and And coordinators that have made it happen. It's fantastic So when you stake you are participating in a theorems proof-of-stake consensus Why would you want to do that? So the most important thing is that you're contributing to the security of a theorem You also earn staking rewards for being a good node operator So a theorem has a couple of kind of barriers. Oh, sorry a theorem staking has a couple of barriers First of all, you need technical experience to run like a validating node You also need a fixed 32 ETH per validator The state ETH is actually kind of naturally illiquid It exists on the beacon chain earning rewards But you can't really use it for anything else which is by design But most of the 32 ETH that you stake is not actually at risk Except under the kind of most dire of consequences or situations Currently it's also a one-way thing. So withdrawals are coming soon But at the moment you do your staking and you that's it so The rewards from staking ETH come in two juicy flavors The first one is consensus rewards Which comes from new ETH inflation? And then you get that by kind of performing your node operator duties So that's a testing being part of a sync committee and proposing blocks As I said before withdrawals aren't available at the moment, but they will be potentially after the Shanghai hard fork Execution the next type of reward is the execution rewards. They come from users. So they Come from priority fees, which are the non-burned part of a transaction fee And then potentially MEV if you're extracting MEV That's actually available today and pretty much in real time So how a staking protocol captures and then distributes those fees or those rewards is key to its design So how does liquid staking work? A liquid staker deposits any amount of ETH into the protocol and in return they receive a liquid staking token The ETH that they deposited gets matched with a node operator The node operator interacts with the protocol and deposits the ETH into into the beacon chain node operators then earn rewards by being good node operators and The liquid staking token accrues the value as yield So that to unstake a liquid staker burns the liquid staking token for and gets back to the ETH or actually more ETH than they put in generally and You you can either do it kind of in a primary mechanism or you can do it on a secondary market So this is the very basic outline of how liquid staking works As we'll see every step has some design choices and trade-offs to to be made So why liquid staking? So it's kind of important to know why you're doing this. What benefit does it serve? So it turns out that there are significant benefits to Ethereum as a whole So liquid staking encourages greater participation that in turn provides greater security and decentralization There's a little star there because they only Contributes to decentralization if the validator set or the node operators are decentralized and not just one entity It liquid staking facilitates unstaking through like a primary mechanism through the protocol itself or On a secondary market So it reduces validator churn It also fosters innovation and capital efficiency and through the use of these liquid staking tokens in DeFi Okay, so on this section. I want to focus on liquid token design But there are some equally big design spaces on the node operator side and spend some definitely some interesting challenges on that side as well So first thing you realize when you're designing a liquid staking token is that node operators earn rewards at different rates They may also be penalized and in worst-case scenarios. They can be slashed So there's a couple of ways of handling this The first way is to have a fungible token That shares rewards and losses across the entire protocol Or you can have a non-fungible token where rewards and losses are specific to each node operator or each validator Then you can kind of have this hybrid of the two Although you got to be careful. We don't end up in a worst of both worlds Each of these approaches have some different trade-offs and you have to kind of weigh up which ones So the next one is safety So there is each backing you know backing the liquid staking token So what mechanisms are in place to protect that collateral a? theorem's proof-of-stake system is a very forgiving protocol But it is possible to lose your your stake either partially or in like the extreme cases fully Safe the mechanisms built into the protocol need to account for things like slashing protection Aligning incentives and general risk management So rewards So how are rewards delivered to token holders? How does the token reflect the yield that the protocol actually is producing? So generally there are two approaches to this. There's rebasing and non-rebasing So a rebasing token Its exchange rate is like a notional one-to-one with ETH But the quantity increases So the token increases in quantity over time. That's how the yield represents itself or gets delivered With a non-rebasing token The exchange rate increases, but the quantity is the same quantity stays constant So the the actual token increases in value over time And there's some there's definitely some kind of pros and cons of each of these may need that so with a rebasing token It's very simple to understand. You're literally getting more of the token But it's extremely hard to integrate So when the if the quantity is changing all the time, that's not really compatible with most DeFi protocols With a non-rebasing token It's harder to understand and if you go down that route, you'll spend most of your life Explaining to people what a non-rebasing token is But it is much easier To integrate it's it's just a standard ERC-20 and it's supported by most DeFi protocols It actually turns out that an a non-rebasing token is more tax efficient as well. So it depends on your jurisdiction but With an rebasing token you have like a taxable event every single day Whereas with a non-rebasing token, you have a taxable event when you stake and when you un-stake So liquidity By tokenizing that mistake teeth it can be traded on secondary markets such as exchanges This provides liquidity for people to un-stake their ETH The price you pay on secondary markets is dictated by the market So it may present a liquidity discount or potentially a liquidity like premium With large orders there can also be slippage and so staking protocols can offer like a If they can offer a primary mechanism for un-staking ETH So that you can allow Liquid-staking token holders to actually swap back without the discount and without the slippage Both of these mechanisms of un-staking kind of reduce the need for validator churn Okay, so now you've got your token out in the wild I mean everyone's going crazy about it You need to start building utility these come in the form of integrations with other DeFi protocols So there's kind of like a Maslow's hierarchy of DeFi integrations and It goes something like this you integrate into wallets and explorers first Then you build up some liquidity. This is the bit that takes time a lot of time to build up liquidity You need to get breadth of liquidity and depth of liquidity That's important to kind of get to the next phases You also need to get good liquidity on layer twos because you want to build up and support in those in those Ecosystems and also provide good UX for stakers So then the next layer is oracles So once you once you've got some liquidity you get oracles the next one is DeFi protocols particularly lending platforms But also kind of options and index platforms and fixed income products and loads of things The last one is vaults. So vaults are kind of like yield Optimization and platforms they sit over top of loads of different DeFi protocols and optimize that yield So a decentralized staking protocol is a set of smart contracts that mediates between depositors and node operators kind of escrow funds into the theorems proof of stake system and then back again on withdrawal the protocol transparently distributes those funds and ensures that each party receives what they expect in Short withdrawals aware of most of the action happens Okay, so it's this point in the presentation. I need to give a bit of a disclaimer The information on this slide is not final the Capella specification is still being kind of drafted But at this point this is what it looks like So after the Shanghai hardfork hopefully and consensus rewards will be fully withdrawable or partially withdrawable so fully withdrawn is a node operator initiated thing So a node operator submits an exit message they get processed by an exit the beacon chain execute They come into this withdrawable state and then their funds are returned to a withdrawal a withdrawal credential At that point they are no longer validating. They're done as a validator. Okay. That's full exit With partial withdrawn, you're still validating and in fact, this is like an automatic and ongoing process so This is this essentially takes skims the rewards off the top So you have 32 ETH is your kind of initial deposit and then anything else you make On top of that will be kind of continually skimmed and sent to your withdrawal credential automatically by the the beacon chain and the consensus clients So withdrawal credentials are a key element of the Ethereum spec And they come in like two types There's a 0x 0 which is this BLS signature credential and 0x 0 1 which is an Ethereum address that receives the withdrawn funds So most credentials in use today are 0x 0 And that's because they were introduced first and then much later 0x 0 1 came came ahead So in the current plan 0x 0 credentials, we need to be converted into a 0x 0 1 To allow you to withdraw and there'll be like this special kind of migration process that'll that'll facilitate that So 0x 0 1 is important because it facilitates the development of these non custodial staking protocols and essentially because the 0x 0 1 address can be a smart contract and so that smart contract can You know take custody of funds that can deposit them into the beacon chain into the one to the deposit contract And then it when it withdraws it can then distribute the funds to all the parties So building a decentralized staking protocol is easy not so much There are significant challenges to developing a truly decentralized staking protocol So that's for permissionless being an open and public piece of infrastructure is key to a protocol success And it's and it's also it's important for its alignment with Ethereum Being permissionless is a is a noble pursuit and it's critical for Ethereum to for retaining its credible neutrality So being permissionless subsequently leads to trustless designs, which I believe are much more resilient in the long term Like Ethereum itself decentralized staking protocols have to rely on a combination of cryptography and Crypto economics to balance incentives and penalties Ensuring that the participants have aligned interests, but it is challenging But personally, this is what makes into this is what makes it interesting work so scaling Being competitive market participant is important to ensure that Ethereum remains decentralized Scaling a decentralized staking protocol is much harder than scaling a centralized provider The two aren't even really comparable a Decentralized staking protocol has to rely on ingenuity to scale, but never lose sight of its kind of core value A decentralized staking protocol is actually a community a community of node operators who are passionate about securing Ethereum Scaling is certainly a challenge, but it is one that can be overcome. It's a reliance on oracles So semi-trusted oracles are essential for decentralized staking protocols today The consensus and execution layer are separate concepts and they've only just been merged together So oracles are required to aggregate and report validated performance information to the protocol smart contracts There's actually an EIP that's being considered for Shanghai and it's EIP 4788 What it does is it adds access to the beacon chain state route To the execution layer so that smart contracts can verify proofs about the beacon chain state This is key to reducing the role of these semi-trusted oracles in Decentralized staking protocols, but it is important generally to combine those two concepts and allow innovation Particularly around validator status and finality on the execution layer. So what are the opportunities? okay, so This might be a bit counter-intuitive, but Ethereum doesn't need more stake. It needs more individual node operators So I believe this quote is from SuperFizz. So thanks Fizz if you're watching Decentralized staking protocols have an opportunity to redress the balance So by lowering the collateral requirement for node operators There are more potential node operators available By streamlining setting up a node and running a node. It's easier to onboard new node operators And if you lower the barrier to entry for spinning up a staking business Built on top of a decentralized staking protocol This allows a whole ecosystem of niche staking businesses to compete with large providers more node operators The more node operators we have the more decentralized Ethereum is Being a node operator is Not as hard as you think Okay, so execution rewards moving so Execution rewards and so the ones that come from like transaction fees and potentially MEV Extremely variable This is because block proposals are chosen at random So at this time if you have like one validator You'll receive approximately five proposals per year On average, but you could get two or you could get ten So this variability hits small node operators hard but probably harder actually hard the hardest As a decentralized staking protocol is an opportunity to provide a reward smoothing pool that participants pull their proposals To achieve a consistent return rather than this highly variable return So a smoothing pool actually levels a playing field for small node operators They can kind of compete with the larger than node operators. This is particularly Interesting when you think about MEV MEV You can have on average you can you can earn, you know Decent amount from MEV, but every now and again. There'll be one of these lottery blocks The highest block. I think that's recorded was a hundred each block That doesn't happen very often But that hence why it's a lottery block, but if you do get one of those blocks Then this is what the smoothing pool helps with so I'm Darren Langley I'm from Rocker pool. You can see catch me on Twitter And that's me. Thank you very much. My name is Benjamin with Rubicon that finance I wanted to ask I understand rocket pool nodes are collateralized with RPL How do you protect against a tail risk scenario where if the price of RPL ETH is is dropping the average Collateralization of the network starts to fall and how can the protocol like become robust in light of basically, you know Relying on RPL ETH price to guarantee security So in actual fact So RPL is used as a backstop. So the the first thing that they read so with the with the rocket pool node the node operator supplies 16 ETH and The liquid stakeholders supply 16 ETH and then the node operator also supplies some RPL like it's minimum of 10% so it's about 1.6 ETH and But the ETH is hit first so if they if they get slashed or if they you know If they're an absolutely terrible node operator And then it's actually the ETH that it gets hit first and then RPL is used as a backstop because you can actually lose a little bit More than 16 ETH in like a like the worst worst case scenario Multipart question So first part how hard is it to run a rocket pool node? Like do you need to know Unix or can you just run a script and it installs everything? Second part. Yeah, how many nodes can you run on one powerful PC? Right, cool. Okay. Good question So running a rocket pool node, you do need to know probably a little bit about Unix, maybe you can run it on different things We don't necessarily support Windows, but you can run it on then a Linux box. You do need to know a little bit about Linux Spinning up a rocket pool node is I think pretty much four commands And you're and it's four commands and you've you spun up a validating node So we've made it we've streamlined the process We have this thing called a smart node stack and it streamlines the process of actually spinning up a node We connect everything up for you. We handle upgrades for you. It's it's really easy The other question the other part of that question was oh Right, that's right. Oh, that's yeah, that's that is a hard question to answer So terminology wise a node is like the box that that's running it And then you have validators. So you can have a lot Now whether now whether you whether that's a good idea or not is another is another matter So what you would tend to do is you probably want to distribute across multiple nodes if you had a lot but you can run a lot and Different clients different consensus clients and different execution clients have different performance profiles but you know, yeah, you can run a lot on I Don't think we've I don't think we've we haven't modeled it, but it is it's in like the hundreds. Yeah It's depending on that it also depends on the box. If it's a powerful machine, you can do that. Yeah. Thank you very much guys