New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

ssv.network 🛠 Decentralized infrastructure for Ethereum staking

ETHGlobalMon, Oct 9, 2023, 12:00 AM

Join Ariel Zimroni from ssv.network for a workshop titled "Decentralized infrastructure for Ethereum staking." Thank you to everyone who joined us for ETHBogotá 🇨🇴 and helped us kick off Devcon Week. With over 1400 attendees from 62 different countries, ETHBogotá was our biggest hackathon in Latin America ever! ----------------------------------------- Follow us: https://twitter.com/ETHGlobal​ Check us out: https://ethglobal.co​m Email us at: hello@ethglobal.com #ethereum #web3 #blockchain #eth

Transcript

foreign [Applause] [Music] I'm very excited to be here and present it for you today I work at a company called blocks which is the core developer of a very cool project called SSV Network SSV stands for secret shared validators and it's a decentralized infrastructure for ethereum staking now um with a quick before we start with a quick raise of hands how many of you here has been engaging in ethereum staking either through solos taking or any other staking service very nice hopefully there will be even more after Defcon so I think in order to better understand what we do it's important to take a step back and talk a little bit about the current state of ethereum and how it works so the transition of Italian to proof of stake started almost two years ago on December 2020 and since then we have about 440 000 validators active on the beacon chain which amounts to 14 million ether at stake or 18 billion dollars this represents about 12 percent of ethereum circulating Supply and those validators are earning approximately between four and four and a half APR um even more if you factor in math which is now available now I personally think this is pretty amazing even more compared to the fact that most of our ether was just collecting dust in our wallet right so um every new technology has challenges and ethereum is interior is taking is no exception to that the main challenge that the most familiar one is slashing slashing is what happens if you part of the validation process do something that goes against the protocol it's a big penalty into your principal stake um which is pretty bad because it can result in negative Roi definitely something you want to avoid at all costs moving on there's centralization if you are not new to crypto Twitter you probably heard a lot of concerns regarding centralization or a subset of that problem which is client diversity basically it's the idea there's there's no single point of failure in the form of one entity whether it's a client or a service that has enough market share that you can shut down or censor ethereum your keys have to be aligned 24 7. [Music] um this really goes against everything we know about Keys management right we need to keep our keys offline preferably in Cold Storage and so so it's hard it's also something we take for granted right because we all have our device in our in our pocket we we bring it up we have Internet but as in life the internet shuts off the kids plug it Off the Wall we go on vacations and sometimes we come to load up a song and it's buffering right there's latency issues now we personally can wait out those 20 seconds for it to load but if you were to run a validator and we were to miss a duty because of that we would miss out on the associated reward with that Duty which is pretty bad and last but not least ethereum staking has a very significant cost of development and maintenance in almost all staking providers out there has to build their own infrastructure which makes it very very not reusable now the bottom line of what I'm trying to say is that ethereum staking is very very hard and a lot of it has to do with the design itself of the staking so let's see how it looks like this is the most basic infrastructure scheme of almost all staking providers out there ranging from the coinbases and the Krakens of the world all the way down to startups and solo stickers managing a single validator this is the most basic way people set up the infrastructure and as I said the reason is is pretty much derived from the ethereum spec itself now in this middle part here we have a thing called a validator client this is a software containing of different and a bunch of validator keys each validator box we see here represents a 32 each validator monitorium and this piece of software is responsible of coordinating those validators into the duties they have to perform periodically every six minutes or so now for the Keen eyes here you can see that this infrastructure has a very big flow in it this big thing in the middle is literally a single point of failure and this causes a lot of challenges and a lot of risks validator clients can only run a unique set of keys if you try to run a multiple validator clients with non-unique set of keys then you're risking beings last Almost for sure so robustness through stuff like redundancy or backup is something that is really hard to to develop into the infrastructure of ethereum you also have to keep your past signatures of all of the things you signed with your validator key into something called the slashing database and if you lose access to that database because you fail to restore it or back it up correctly then you're also risking being slashed as well the keys has to be online 24 7 which is hard we just discussed this and because the infrastructure is not reusable it's going to cost you a lot of money a lot of resources and a lot of knowledge and expertise in order to actually do this and this is pretty much goes against everything we learned in the past decades regarding software development especially in crypto right one of the amazing things we have in our ecosystem is that we managed to build these components that everyone can use right usually it's their blockchain itself but it can also be an application if we take D5 building blocks for example that are stacking up and building on top of each other this really reduced the the cost of development for everyone and accelerated growth and innovation and because the current infrastructure of ethereum is not reusable it really hinders Innovation because if the cost of innovation is high then it's very high to innovate so with that in mind let's Circle back to SSV SSV is a protocol it's a decentralized infrastructure for ethereum staking and it tries to solve a lot of the issues that we just covered so how does it do that well first it doesn't use a single validator node or any specific staking service or provider to run its validators it uses multiple of them there's no no single operators hold their full key so there's no single point of failure we use threshold signatures and BFD consensus protocol to coordinate duties between non-trusting parties in a way that builds fault tolerance within the protocol and the best part is that it's a reusable infrastructure anyone can use it in a permissionless way and this really enables you to focus on the application focus on your business and not on the infrastructure beneath but still in a way that left you enjoyed a solid first class decentralized info charger and it looks something like this and you can see in the in the middle part there's no single point of feather anymore there's a bunch of them and they work together to to run your validator and if one of those nodes or or clients in our case it falls shuts down gets hacked or compromised nothing happens to your validator because the rest of them will continue to work and this is really the heart of it instead of having a single point of view failure that runs everything you now have a bunch of them and this really removes centralization not only by the fact that you have a redundancy of more than one but also because it's highly customizable and you can cherry pick your validator operators according to their set clients their jurisdiction their client provider Etc according to your needs now we're all devs here so I'll let's see how it looks pretty much internally so as I said each validator has to perform periodically every six minutes or so a duty whether it's an attestation or a block proposal it doesn't matter and then those four or seven or whatever the amount of operators you chose for your validators once a duty comes in then they together select a leader in a very deterministic way that leader proposes what they need to do for example sign an attestation and then if the rich consensus regarding what to sign and this is where really the false tolerance kicks in this is where the power of SSV kicks in then they each produce locally a partial signature they then reconstruct it to a full signature and executed to the beacon chain as a full and valid Duty and this all means that no operator has the full key okay they only have a share of it so they need each other to work together but they are pretty independent right they don't need to know the other operators they don't need to trust the other operators only to to communicate over a consensus protocol so with that in mind the benefits of SSV are pretty significant right first of all you don't have to keep your key online anymore put it in Cold Storage follow the best practices of Key Management because they don't need the key um the threshold signatures that we used they Grant security and if a share is compromised it cannot be compromised in a way that will compromise the full validator there's no single point of failure anymore it's decentralized it's fault tolerant and it's ready to use infrastructure right it's it's reusable now you can use the same operators the same network the same setups over and over again and the cost of integrating SSV is practically nothing it's literally a smart contract call which is pretty amazing now the best part about everything I just said is that it's not some moonshot idea this is no science fiction this is actually works it's running on testnet people are using it people are experimenting with it it works and you can try it out today so I want to talk a little bit about where we come from and where are we now well it all started when we received a grant for my Italian Foundation to build an SSV node SSV was later termed as DVT distributed validator technology since then for the last year and a half we've been running test Nets during which we got engagement from over 3 000 operators a hundred of them and more are verified operators and by that I mean to real and reputable staking services some of them the biggest in the industry that are running a test this node experimenting with this with the intention to adopt it when it goes live we also managed to accumulate over 20 000 validators so we can freely test it that it works out in scale and right now we are the final stages of getting it ready to launch hopefully early next year early 2023. now I want to kind of showcase to you how it looks like through a very simplistic flow or use case of a solo sticker that has a validator that he wants to run on the SSV network instead of running his own infrastructure or instead of choosing a centralized taking service so we built a very cool and easy web app which you can try which you basically come with your validator and you can import it to run on the SSV Network all you have to do is bring your validator key bring your Play Store file enter your password if you have one so we can extract the key and then you'll be asked to choose the operators for your validator you'll see a big list of operators a Marketplace of operators some of them you know and recognize some of them you don't but you can evaluate every one of them through some metrics like how many they are managing currently what is their performance metrics according to specific time frames what rate they are charging for their services because this is a free market and once you picked your group all you have to do is review and sign this transaction with your web3 wallet and once it's broadcasted to the network your operators will pick it up and start managing your validator for you and and that's pretty much it you're welcome to the distributed net infrastructure of the SSV Network um I really encourage every one of you to go to ssv.network check out this web app it's very simple very easy to use and it really showcases how to onboard a distributed validator and how to manage it so I discussed one use case but there's a lot of different use case which you can use to build on it right because it's infrastructure and install infrastructure was meant to be used somehow so these are the more most typical use cases that we come up with obviously there are more because now when we open up infrastructure as a reusable way a lot of innovation can happen so the most obvious one are staking pools it's taking pools that will use SSV as their back end and starting this presentation I said there's currently 14 million ethernet stake this number is projected to go to 40 million in the upcoming years and that new eater that will come in will not only go to Lido we'll not only go to Rocket pool but in our eyes there will be a long tale of new staking pools that will compete for this market share because at this amounts it's becoming a huge Market and for those taking pools for those news taking pools now that they have the infrastructure available as a service the next rocket pool will not take three or four years to build it will take three months and we know this because we currently have teams doing exactly that in those time frames moving on there's a lot of Dow treasuries on ethereum a lot of D5 protocols even bridges that has a lot of ether they're also accustomed to to holding inter they're accustomed to the price price fluctuations of Intel and we see that that data will eventually find its way to to staking because it's becoming the de facto reference interest rate for for ethereum and also staking services and institutional staking will want to use SSV as their back end to have higher performance more security to decentralize their operation and mitigate the risk they have now because they're running it in a central way and I want to use this opportunity to really call out all devs to check out our new uh and big grants program and where we give out grants to build exactly those use cases and help the teams bootstrap their operations so if you follow along one of these categories come and reach out make an application and also use this opportunity to extend this offer to the teams who choose to build on us today on this weekend if you choose to continue working on your project and make it from this weekend to a production grade venture feel free to to reach out and apply for even a bigger Grant we would love to support you and partner with you in the future go to grantsssv.network check it out and so with that I would like to pass the torch to lior our CTO who will present to you how to onboard a distributed validator through our smart contracts thanks Ariel [Applause] so I hope you're getting excited after hearing um what I will describe um so I want to do a quick guide because I don't have a lot of time on how to run a distributed validator and how easy it is for developers we offering ground uh offering grants for this hackathon to run ssv's taking pool or us taking service based on SSV so to run a distributed validator I there's a simple pre-requirement is to have a validator if you don't have you can use ethereum Launchpad to generate one and deposit you'll need to go early and you'll need a test net SSV you can get both of them for us you'll need a little bit go early to just to make the transaction to our contract um you can get SSV as well from our faucet okay um the process is you select a few operators right now we support four in the future we'll support more you can use um sorry then you need to distribute your validator key to shares and then register the Viator to the network and that's basically it to have your validator run on the SSV Network um okay so the operator selection you can use our Explorer where you can you can browse all the all the operators and um their performance as Ariel mentioned and and choose which one do you want to use for your validator okay once you chose them you need to just pick um just to copy their ID and publicly as mentioned here on the image and we will need it for generating the key shares okay so key distribution we created a SSV key distributor SDK and wrapped it with a CLI so you can either integrate it in some code that you're running or just use the CLI for your convenience um the output of this thing is the key shares it has a public key and encrypted shares corresponding to The Operators you chose you will need that for registering that to the network all right and then the main function register validator on our contract it accepts its its expects the public key the validator public which you have the operator is these that you chose from the Explorer the share public keys and encrypted Keys that's the output from the CLI or SDK whatever you choose to use and the amount of the SSV that you want to fund your validator right to pay the operators that you chose by the way the CLI also outputs the this whole payload for the transaction so you can use that for your convenience instead of building it by yourself I mean it's not just providing the public keys and encrypted keys for the validator um we really encourage you to go to our documentation you have this whole guide and with a lot more resources um to uh see how you run a validator but as well we have integration guides for this hackathon how to build a staking bonus Suite has a lot of information or us taking service and um you should go there before you start uh we really encourage you to go there it has a lot of information will make things much more easier to kick start so just go to docs.

cv.network and um yeah that's uh that's basically it um so if anybody have questions feel free to ask right you basically mean I'm repeating you want to run your own operators and then choose your your validators to run on that operator right correct yeah so each operator you can see the clients that he uses right so if you want to to have different clients you can choose operators that operate with different clients and then you have some diversification it's up to you totally open anyone else I'll just add I think it's even encouraged uh to do that right for client diversity you can choose one operator runs on AWS and and we show that those operators when they register verified operators uh provide their data one can run on AWS and run prism client and one can run on Azure or whatever Google cloud and and run something else and not just that you can run even one operator locally if you want to like uh to have more diversity right like let's say if Google Cloud right now for like uh shutdowns or have some outage we're probably going to see a lot of validators not working right or what Etc AWS or so so that creates not just for you for your security but also for the ethereum network to be more secure viators that's going to run on SSV Network are much more uh resistant and make the network itself to be secure um yeah so later you want to answer that again all right Leto have a few operators right but they have they managed to eat they have the ethereum and then they're distributed between uh their operators so um each operator have and run it by itself x amount of validators it means it holds the private keys somewhere right in a one custodial Central Way with SSV the difference is that the validators running on operators but each operator hold a share of of the the Privacy right so if let's say one of the lighter operators will be hacked for some reason this way or another the attacker will have the private keys right I'm here if one of the operators hacked you have just a fraction of the keys and you can't do anything with that yes um sorry if you have what yes so um SSP is a Dao that's first of all and operators anybody can be an operator but um we have a verification process that runs through the dial and operators that are um showing that you know they have a good infrastructure a good reputation can get to be verified but hey even if one operator from those four operators as we mentioned would be hacked or would be like uh um something wrong with it then that will probably vote for it to be unverified that's a and for you that's not going to do anything because if you're running a validator on that again one one operator can do anything for your validator actually the the threshold is three f plus one that's why we said four but in general like it depends on how many single points of flash you want to assume how many failures you want to have to support so if you want to support one failure that's four operators right today when you run a vital client as a sales taker for example that's zero so three multiplied by zero 1 right I mean if you want to have two failures and it's seven and Etc um so yeah and then as a validator you can always change the operators right if you not happy with some operator because you think he's malicious or because his performances are great then you can anytime change the operators um any further questions if something comes up you can reach out to us outside or you can booth and thank you all for coming foreign

Automatic transcript — names and jargon may be misspelled.