markoInEther - Launch your own decentralized 🌈LSD staking pool

EthStaker at Devconnect Istanbul 2023 · November 2023 · 17:02

MarkoInEther walks through what it takes to launch a decentralized liquid staking derivative pool, treating decentralization as a design choice built into the pool from the start rather than a default outcome. Presented within EthStaker's staking track at Devconnect Istanbul, the talk situates this within a liquid staking space where more centralized alternatives already dominate. It frames launching a genuinely decentralized pool as a live technical challenge for Ethereum's staking ecosystem.

Speakers

Topics

From EthStaker at Devconnect Istanbul 2023, hosted by Eth Staker.

Transcript

okay seems uh that we can start hey everyone uh my name is Marco I'm contributor to the SSV d That's a DVT network based solution and today I will give you a basic structure on how to Lounge your own LSD decentralized taking pool so if you want to make your own LSD this is the time this is the place uh okay so let's get going let's started and for those if you uh want to build it you can build it right here we have like an hour time so I'll be going through the presentation and those of you who want to build uh I'll be happy happy to get you going so launch your own LSD the

centralized staking pool now let's go over through the overview I'll do LSD 101 basically how does LSD pool work how does DBT work work um how to safely delegate running of validators how uh ssvs DVT Network fits into the picture and how it helps really developers to to build uh and then possible things to work on if you want to um build new creative staking GS I'll give you some tips and how to start building okay so let's start with this who here is familiar with the basics how

lsds work how the pool pool works the basic Dynamics so I don't have to like okay so so this is quite clear right somebody Stakes meaning gives their e to the pool um then pool accumulates the E and then it actually needs to uh send it to some operators who then will run the machines the the hard problem from the perspective of developers is developers if you are a developer basically your main skill set is developing a web app is developing smart contracts back end front end and not really running the infrastructure right so uh all this is a problem that all LSD

pools face that they need to basically somehow run the infrastructure or have someone run it for them uh DVT 101 yesterday there was a lot of DVT talks who is familiar with with DVT okay kind of all of you so so you know the basic concept you are basically splitting one validator into multiple parts and they need to come on consensus what will be the validator signing basically it's like a multis for validator a good analogy uh but you are familiar with that so I'll skip this explanation now the hard problem is how to S safely delegate right running of

validators right because if you are uh delegating running of the validators you are basically giving someone the keys and they can potentially slash you they would probably not slash you but they can get their key stolen and you could get slashed they can go offline etc etc there are two main approaches and now they are coming obviously many more but but the the basic approaches are Lido approach and Rocket Pullet approach Lido has a trust based approach meaning they have few operators right now is uh I think something under 40 and they have a trust relationship with them uh they trust

them they don't require collateral but but yeah uh if you want to duplicate something what is Lio doing is very intensive you would have to come to someone and and basically persuade them hey like I'm building my own LSD um you know join my Network and you need to persuade them that it's worth their effort to basically start operating on your network which is not easy if you are a new project then there is the rocket pool approach that requires everyone who wants to participate as an operator um collateral meaning it's very collateral intensive if you want to run thousand validators you need to you post collateral thousand times for each

validator now what we have now is the secret LSD source which is a DVT network based solution uh the networking part is very important why because now what you can basically do is you can make your app just talk to operators in the DVT Network and uh there are two advantages firstly is the networking Dynamic so the the coordination is automatic you don't need to do any manual dealing nothing you just look at the Explorer pick based on your criteria performance U history etc etc the reputation you pick the operators you

want uh your validator to be operated by and but each operator doesn't even have much power because uh every every validator is distributed and you you are deciding do I want to distribute every validator between four operators seven etc etc so this is kind of the the background this this is what it enables now the question is from the the perspective of the Builder of uh of a developer is okay I'm sold but how do I start building how do I integrate with the DVT Network and basically it's as simple as this you just re uh implement the register

validator function into your LSD pool and in this function you basically pass okay I want to register this validator with these four operators and there you go you obviously need to do the uh key splitting in the back end but but all you do basically is registering the validator on chain The Operators will see it will will pick it up and of you go to the races so the takeaway is uh no need for the builders to worry about operator validation this is completely removed you can really focus just on building your apps and getting your users I think

that's that's the next step like uh it shouldn't be hard and and we are working hard to make it very easy to build a web 3 app right this that is not the main issue and you can now start focusing on the user acquisition and basically getting the tvl which is the hard part so you don't need to worry about the getting the The Operators you can just step into the the DVT Network that's already there and uh you have the ability to delegate with zero coordination that's also an important one obviously as I've said shown you before you just call the register validator function uh and that's it that's how you register your

validator uh but also it may happen that some of the operators is not responding so changing the operators is super easy you don't need to exit your validator you can basically just call another function you can just re-register the the validator again with different operators I mean there are caveats to that you don't want to do it too often and you don't want to change too many operators but to make it simple you can dynamically change operators without requiring any um any involvement basically outside of a smart contract call so those are the takeaways okay so basically this is uh

just a preview of how the repo looks um as I've said in the beginning if you guys have your laptops and want to clone the repo and build up a minimalistic staking pool that is that is fully functional that is actually doing uh running the validators in the back end giving you LSD token on the front end you can do so uh I along with some contributors have made this for for uh the teams to start building to really see how the whole process works and basically go off to the races from there uh I have also done a video tutorial for that and yeah I um

I've try tried to make it as simple as possible uh just to give you a preview if you build if you build it it will basically look something like this you will be able to launch a front end to to search directly from the repo there you see nothing fancy but you have like all the the seeking functions the stake unstake you see the the the pool overview you can have the manager view as well so basically it's it's for you it's it's for developers to really like uh get a hands on on working staking pool on the left you see my console there and I'm running the back end the back end is basically checking the

balance of the pool you see the uh waiting for deposits pool balance less than 32 there so and once I stake I Stak 32 is here and it it recognizes that the balance is higher it will create the validators um it will deposit the validator then it will split the key and it will register the the encrypted key shares with the SSV Network so uh here are the possible things to work on if you are interested and uh if you run the repo there are some interesting things that that could be much improved like implementing

oracles uh basically implementing some some kind of a a trustless of semi- trustless Oracle that can also import the beacon chain balances into the execution layer implementing withdrawal address check that would be so that the back end would be trustless meaning it wouldn't be able to uh to trick the smart contract even if somebody hacks your backend they wouldn't be able to basically cause much damage um adding a execution layer balance basically some some some kind of a better checking of uh accounting for Mev rewards and execution rewards and perhaps me smooth smooth there you could work on nicer front

and also what could be really cool uh an NF validator contract basically what you could do you could you could mint you could register the validator uh you can have have the validator be owned by the smart contract mint nft and be fully transferable on chain so these are some of the cool ideas you could work on okay so if somebody is excited to work on this uh you can scan this scan this QR code basically you will get to the telegram group or you can uh and there is the link to the repo or you can go directly to repo and clone it is there

anyone who wants to build anyway okay great um yeah just uh go forward get it going and uh we have 1 hour so I'll be around I'll be here uh I'll be here to help you maybe I can go through some of the tutorials here myself uh also if you want to test it test it live on girly uh we will be transitioning to heski but it's still on girlyy uh join the group I can give you some some girly e to launch validator so yeah that's that uh anyway who who is

building one two right okay so uh let me know when you when you are ready to clone the repo I'll just walk around and uh I can open the the repo on my end as well the uh does anyone need a QR code still

you have the address you have everything perfect if you if you know if you need it let me know basically this is how the repo looks and yeah it's best to just start with the readme and uh there are basically two ways how you can go about things you can run smart contracts and front end this will direct you to um this tutorial or you can do smart contracts only that's without front end but yeah I think if if you are building you probably building this one

e