# Understanding the Architecture of Ethereum Staking

- Channel: [ETHCluj Meetup](https://streameth.org/ethcluj-meetup)
- Date: 2024-10-09
- Duration: 1:10:13
- Topics: decentralize, ethereum, ethcluj, eth, ethereumcluj, developers, solidity, staking, architecture
- Watch: https://streameth.org/watch/yt-wgUKcWNgXQc
- YouTube: https://www.youtube.com/watch?v=wgUKcWNgXQc

## Description

In this session presented by Alexandru Males we take a look at source code and parts of Ethereum node architecture that are related to staking.

Besides the technical curiosity, you might be interested to actually stake ETH as a validator. But then, if you do not have the 32 ETH required to run a validator and prefer using protocols like Rocket Pool, it still helps a lot to educate yourself and understand how the Proof Of Stake was designed to work by default on Ethereum.

## Transcript

okay so we're recording now hi everyone so this Meetup is first of all uh so just to start with the disclaimer this is in no way Financial advice uh if you decide to stake ether and uh gain rewards from the ethereum network for running a valid dator please do your own research and uh and uh today where we need to look into the rewards and how they work uh in order to understand how proof of stake in general works on ethereum and um uh how exactly the incentives uh work and uh this is the reason we're talk we're going to talk about APR and things that are related to um to rewards but this is no way Financial advice okay so uh staking first of all in plain English what staking is at least in ethereum context you lock a given amount of funds you run a node and there you go in timing gain rewards uh I'll try to make the presentation in a show and tell manner so I'll try to keep it as practical as possible uh rather than uh having slides with lots of text and lots of theory I'll try to make it as visual as possible actually I've prepared it uh in a way that we would explore through different visualization and dashboards uh so that we would understand different aspects on how proof of State Works uh what are validators how no architecture works and so on uh then I'll in the end I'll show you my own note that I run on girly testet at the moment and I'll share a bit of about my experience with that uh probably in a subsequent meet meet up it would make sense to also take a look at the source code of uh different components in in ethereum nodes but I don't think we'll manage for this one so um so we'll we'll uh take the general overview but we'll also keep it as practical as possible good so proof of stake uh first how it started you have probably heard about the merge or the event that happened last year in September so what was happening during that time basically the entire ethereum state with all the transactions um accounts uh smart contracts and so on passed to the proof of State consensus so ethereum was entirely proof of work until September and then the node Runners have switched from proof of four consensus to the proof of State consensus and this proof of State consensus was active for a while so it was launched in December 2020 it was called Beacon chain and it was working as a parallel uh chain or and consensus algorithm together with the old old proof of work um until September 15th of September last year and uh that's when basically ethereum got rid of all the miners miners that were um consuming energy and running GPU gigs in order to gain rewards for um adding blocks to the to the to the chain and uh ethereum passed entirely to proof of stake without the transition was smooth without any interruptions and so on so basically it was uh from one block to another it's uh it's passed its entire State like nothing happened to proof of sake okay and um since we are going to take uh talk about proof of stake it makes sense to start from the staking R of from the activity of staking and there are multiple ways to to do staking on ethereum so first of all you can do your your you can run your own node by yourself at home um and uh then you can take 32 e and uh deposit it um and stake it on on ethereum of course this has the advantage that you have direct access and full control of your node and your um your validator keys but it has some disadvantages meaning that you need to have some technical abilities and you need to make sure that your node is up and running now we'll see later that it's not that bad if you let's say I know your node goes down and you skip one or two days of blocks of attesting or proposing blocks but um it's still recommended to um to keep it um at high availability as much as possible other options are staking as a service so staking as a service is you have the 32 e but you don't want to run your note at home then you would go to a staking service and now they have different implementations and different rules and you do not necessarily pass your 32 e or deposit your 32 e to them but you give give them away the validator keys and what these validator keys are basically the they are used to sign different messages that you are going to post on the chain for example if you to attest or propose blocks you're staking as a service provider would the user validator keys in order to do that for you and there are some risking in there for example if um this you you need to trust the this service otherwise they might mismanage your keys or or the activity for for a validator and you might lose money and practically being being penalized okay another another option is pool staking so uh this is very popular nowadays you probably heard about rocket pool you don't need the full amount of e it depends on the exact implementation you can in some of them you can stake whatever amount of you you want in return you would usually get something another token that would um currently now it is called so it has this name of LSD which is liquid stake derivatives and um uh it would also be interesting to have a talk about this and study one of the one of the protocols like Ro kitool for example then we have the centralized exchange which is basically the worst option that you could pick so uh that means that you would give away your re to centralized entity but you don't know what happens behind maybe they are not even staking it for you maybe I know they're running a p scheme or something like that okay so the these are the basic ways you could just staking but today so no matter what you would choose at some point in time uh it's still very recommended to understand how solo staking work because this is the default native way of doing staking on ethereum so that's what will explore today how you do solo staking I have a short question if it's go ahead so isn't um a problem with the last three options because it's not a decentralized they don't improve the decentral ation well yes of course Al so the so the disadvantages go kind of in that direction so in sing as a service it's not decentralized because you're giving away your validator keys in pul taking it's not necessarily centralized but you have an intermediary so you have a set of smart contracts and you have another network of operators that would have to run staking so you still have to rely on something in between yourself and the ethereum network and then the centralized exchanges of course is the worst worst way of doing stum from this point of view okay thank you good so let's take a look so I I think this is one of the most important charts or diagrams that we'll take a look today so this this is the architecture of an ethereum node before proof of work we only had something that currently is called execution CL or before proof of stake we only had something that is currently called execution client the beon chain the one from uh this diagram the beon chain is implemented implemented by something that's called consensus client so that that's what happened during the merge so we now have the execution client which is the part that executes all the smart contracts and then uh and all the logic around that it it ditched the code that uh was doing or had something to do with Mining and um now we also have the consensus client which is the basically part of the consensus layer and it's um um taking care of propagating blocks validating blocks and everything that is related to proof of State consensus then we we we have validator client I'll probably mute okay good so so then we have also the validator clients and what's that you can you need 32 years to run one validator if you want to run 10 validators you don't need a separate node you just connect to your consensus client the 10 validators and uh you deposit the 10 uh 10 times 32e and there you go suddenly you have um uh 10 validators working on one single machine then um how how do you do that or how you activate the validator you generate the validator keys which is um um basically a set of keys that uh do not have access to your funds to your 32 e but they are associated with the deposit that you do of 32 e and then you import these validator Keys into your your validator client and uh now your validator client can use your validator keys in order to propose blocks do attestations things like that okay uh and another component that's interesting I'll will take a bit of look a look later this one so it's flashboards MV You' probably heard about this one too okay so this is the general architecture we have the execution client or execution layer client the consensus layer client and the validator client the execution client and the consensus client talk in between them through something that is called The Exchange API uh and uh what what it looks or the usual flow that currently how it looks currently in an ethereum node so let's say users would send a transaction a user would send a transaction to an execution client so that's the thing that you connect to like or 8545 from metamask or whatever other wallet so all the transactions get into the um transaction pool on the execution client and of course it's propagated to other execution clients because uh separately execution clients and consulted clients are syncing with their peers uh okay then that transaction at some point will get packed into something that is called an execution payload and that execution payload is at some point will become a block uh the execution client will pass that execution payload or a set of transactions to the consensus client and the uh consensus client will create will put them in a block and all the additional uh data that is related to uh the block that it is going to propose for example and then it will use the validator client to sign that block and propagate it to other consensus clients now other consensus clients receive this block they take the block and reexecute them with their execution client so they just make sure that the block is fine from um they're basically validating uh the block logically and re executing all the transactions in the local state and then the same block will be uh signed by the validator client where the client will do an attestation and that's what you'll you'll hear this word often today so an attestation means means that I vote that something is okay from a point of view I meaning let's say a validator client I vote that something is okay from my point of view and it should better uh be in um in sync with everything that everyone um votes for because otherwise there is no other way to verify that something uh is okay to put on chain unless it has consensus so even if it's something that is considered truth or FAL or or lies it doesn't matter as long as it gets to consensus it's considered to be valid okay so this is the the main flow that the transaction would take from being submitting to execution client to getting into a block and being accepted by the entire network and um for doing these operations for proposing blocks and for U attesting to blocks that were proposed by other validators and other nodes the validators will get reward words in exchange now uh another property of the exchange API is the fact that now you can have multiple multiple implementations of both the execution client and the consensus client and this is a thing that the ethereum community is very um is trying to promote heavily so what the ethereum community thinks is that if there is a big if there is a critical bug in one of the implementation and that implementation is um too popular let's say or is used by the majority of the network it can just crush the network U so so you can get into a situation that just because of a bug uh you have the entire network down and that's why they uh started this movement that's called client diversity and you have different implementations for example uh on execution client you probably heard about G this is the most popular implementation of ethereum protocol and it's written in goang then you have nethermind Aron B is written in Java we'll take a bit look of this one later this is written in net uh then you have the consensus clients Lighthouse prism te and so on so they metric to say that the client diversity is okay is just to make sure that there is no usage that passes um above 50% uh in popularity for example G is 59% in popularity or 60% almost so this is considered a danger zone uh they want to move you or they are trying to encourage people to replace G with some other implementation in this case for execution client and it's in the same case it goes to for the consensus clients in this case we have light Lighthouse which is the r implementation of the consensus clients uh and uh it's somewhere between 33 and 50 okay so this is about the client diversity I think it's a good way to prevent risk of um and kind of strengthens the the network good now about validators so let's say you have decided to activate a valid dator yes and uh activation is actually a phase that you have to pass through with the validator you cannot just St your e and there you go you started um validating the blocks on or proposing blocks on the network and there is a cue so if you want to activate the validator there is a cue that these dashboards uh is displaying some information about this Q so current waiting time for for activating a validator 43 days so this is the entry queue and there is an exit queue if you want to get out of the of the network and um and reclaim your e you have to wait um in this case for two hours actually it's it's more than that because there is a phase that you have to go through with your validator before you go into the exit q but anyway you can see that people are rushing into to validate and um too few nodes or too few stakers are rushing out of the of the proof of stake okay and then we have some um charts in here so validator que and how it grew over time qway time so about 43 days the number of active validators we already have more than 600,000 validators the the supply stake so 16% of the entire ethereum Supply is currently staked and then we have the APR which is we'll see why it is dropping at the moment it's it's inversely correlated to the number of validators being registered on the network and now let's take a look yeah so beon chain beon CH doin so what is this this is kind of a block blockchain Explorer very much like uh ether scan is uh but it only shows the information or mostly shows the information that is related to The Beacon chain or to the consensus layer clients so uh let's take a look in here and uh what what we have here so first of all we the timeline in the beon chain is divided in Epo so each EPO you you have them here so you'll see they are about um how much a few minutes apart seven to whatever amount of minutes apart and if we go into an Nao we'll see that every EPO is is contains 32 slots each slot and this is the list of the slots uh last for 12 seconds and what is the slot actually it is a placeholder where a proposer or a validator can um assign a block to and then the other validators will validate it so we have the appoc uh 32 slots within an OC and uh within each slot we can have a block that is assigned or not and if we'll take a look at actually let's take a look at the validator first so here is the proposal of this uh of the block for that slot and you can see various information that it has had to deposit the E first then it went into a pending State and then it became active and it has a balance which can go up or down and uh depending if you get rewards if you get penalties for the way you run your node and then we'll have different information around here um the blogs that have been proposed attestations in committees deposit withdrawals we'll take a look uh in more detail later and some uh historical information about the activity of the node and I'll also show my you mind my not on gly later okay but back to the uh timeline so we have the EPO so we have on this uh dashboard we have five EPO and 32 slots in each EPO and we have uh green means that a block has been proposed for U for the GMA slot then there are other colors like I'm not sure exactly orphan I didn't have time to look into the orphan but there's also when you see a red square in this uh chart it means that the the slot is missed meaning there was a proposer that was selected but it did not manage to put a block into that slot good now let me see what I wanted to show you here I think we can go P to the next one so let me pick the last EPO and the first slot or actually the last lot of the last EPO yes and we I'll go back to the proposer or the validator that is has the role of the proposer and you'll see that there are different entries in here so basically these are the rewards that the validator has received and uh you see that there is a big difference between the rewards that here uh the validator received in here and here and we take can take a look at the Historical activity of this validator so this is a pretty old one since uh July 2021 so a lot so so before a lot before um the merge people were receiving and earning rewards on proof of stake even before ethereum transition to proof of stake just by running validators on the Bitcoin chain okay but in order to understand the rewards we'll need to dive a bit into the bit into the few slides that I have prepared so when do you get rewards if you run a validator if you have an active validator on ethereum network so first uh most often you'll be selected for attestations and as I said attestations are basically votes that are consistent with majority of other votes that are are submitted by other validators basically you need to make attestations that are in consensus with others then uh you get rewards for proposing blocks and these are the the biggest rewards and then you get rewards for participating in sync committees and um what is a Sy committee this is a random group of validators that is chosen uh from time to time to uh add supplementary information to the to the blockchain in order to allow uh E Light ethereum clients to synchronize this so light eum clients basically not download the entire uh blockchain but only the headers of the of the blocks and this is considered to be a syn committee then you have the execution income and the execution income is based on the fact that uh when when as a user when you send a transaction on ethereum you have you have the ability to uh say okay what's my B base fee that I'm willing to spend and what is the uh tip or let's say um priority fee that you want to to pay for your transaction so that your transaction will have a higher chance of being selected on included in block and execution income means this that priority fee or the sum of all the priority fees that you uh that you include in a block as a block proposer okay now how much so this is a Formula that's I hope it doesn't look too awful uh so you have the base reward everything in uh proof of stake rewards on ethereum are calculated based on this base reward which is basically the average reward for a per validator per Epoch and um the base reward is equal to the effective balance so it depends on the effective balance if you have 30 to if Stak stake you'll get a base reward that is twice as low than if you have 64 if inner balance then you have the effective balance uh that's uh then you have the base reward factor which is a constant 64 base reward per pero is four don't ask me why they didn't just simplify this and write 16 instead I don't know but the most important thing is the effective balance um and the active balance active balance or some of active balance is basically the entire amount that is St on the network and in order to not affect and to not allow this to be linear and uh um influence the base reward and uh decrease the Bas word linearly they they put uh they put the entire Stak amount under a square root and we'll take a look at that later so the more ether is staked on the network the less the base reward is this is the reason why we saw in that chart that the APR is decreasing as as the nodes Pile in into into the network but it's not this decreasing linearly because they put a square root in there okay and in more detail you as a validator you have five duties um and different weights that end up to a 64 by 64 so 14 by 64 if you attest to the source um um to the source slot and the source slot is basically the first slot in the previous EPO uh then if you write an testation for the for the Block in the first slot of the target EPO it's not correct to say the first slot but just to simplify things a bit uh Target um I would refer to them as being the first because the rules are a bit more complicated in there the target uh slot is the slot of the current EPO then if you ATT test for the head of the chain then if you get selected and you do your um your operations that are required to for participants in the S committee then you get other reward if you propose a block or you have a proposal reward and everything in here adds up to full based reward now there are additional rewards I think that is called inclusion delay reward so this is an additional reward that incentivized these ATT testers or validators that send an tations to send a testation as fast as possible and that's why they have this formula so uh inclusion delay reward equals another base reward times one divided by the delay where delay is the number of slots between the um block proposal and the attestation that you have sent as a validator so if I send U my attestation as a validator four slots later than block proposal then I'll get a fourth of this uh inclusion delay reward then we have even more rewards for blog proposers so we have each blog proposer will get eight by 64 of Base reward for each valid attestation sent by other validators that in the end the block proposer includes into the block that they propose and uh this is the main reason why why um block proposers get um higher rewards then um as a Blog proposer you also can send evidence for misbehavior that someone did not do some validator did not send attestations for example or more severe um Mis behaviors like slashing and as a Blog proposer you can get a a part of the SL validator effective balance or whatever and and that comes and that's true for basically all the slings that you detect for all the validators in Block okay and um bit more so this is about the proposal proposals so we have the five duties of the validator the inclusion delay reward and the special block proposal reward and then we have also the penalties and slashings and people get afraid when it comes to here uh to this part because they think that I don't want to run an old because I might get slashed but things are not that severe as as they look so there are two types of penalties some some penalties that are more light and then are slashings which is are more severe so the actual penalties or things that are called penalties is if you miss to send attestations either for Target um slot or for the Source loot uh and the penalty equals to the amount that you would have been rewarded should you have successfully sent those attestations so it's not that awful so for example if you know your note goes offline for one day and then you fix it and you put it online and it starts to send attestations again you would regain these penalties in during the following day and then um if you miss as a validator if you miss to send a head vote you do not get penalized at all and of course if you uh inclusion delay is also not penalized if you just delay to the maximum and then if you fail to if you're selecting as a proposer and you fail to propose the block you will not get penalized either then slashings are more severe you can if and there are various scenarios where you can be slashed but you have to intentionally do something bad you can uh either do multiple proposals or of blocks to the same slot or send different do double voting or send multiple attestations uh for the same um slot or um and and the the amounts that you can get slash with rise up to one ether or so and only in situations that are called in activity League which means that during the same time other validators were also slashed then uh this is a more severe situation where you get get to lose even more of your balance but again you would have to do something really bad to get slashed uh the only thing that is okay to remember if you run um validator just make sure that you're not using the same the same validator keys on two different nodes because uh the network would thinks that think that you want to get the reward twice for testing or for proposing blogs and then that's a slashing scenario okay then we have the execution rewards uh which as I said are the priority fees of the yeah all the transactions that have been sent in the blog so if you're a Blog proposal proposer and [Music] you you successfully propose the blog then you get the priority fees and let's take a look some of them [Music] so let's try again let's start again from from the last slot the last EPO okay I'll take the proposal validator and as you see the execution income is a very large amount comparing to others I'm not sure why the consensus inom is so small for this one maybe I'll it's better if I choose another slot let's take this slot [Music] closer okay anyway I'm not sure why so uh probably because um so each bar in here is uh the entire amount during one day so it's 7th June 8th June 9th June and so on if we take a look at the rewards is basically the things that I showed you in the slides so um here so we have uh attestation of to the source to the Target head vote Sy committing proposal reward so you can see attestation for the source the Target and the head vote that has summed up to 12,000 way and here is the larger reward which also includes all the attestations of the other valid dat that this proposer has included in the current block and the all attestation of all the Sy related activity done by other validators that the um proposer has included was included in this block okay questions so far related to rewards penalties I I just wanted to say that uh seeing what the reward was uh there in this in the in the chart uh we can see that the execution reward won't be like uh putting the balance uh in the yeah consensus uh yeah in actual State balance but it will be directly sent to uh the address that is taking if I'm not mistaken yeah so so you're saying that it will not get into this balance exactly exactly okay uh yes it might be that I'm not sure honestly but um okay as far as I know uh that execution income is being sent uh yes you're probably right Alex it's it's for example so this reward or this amount that is correlated to this High bar in here high value here so it doesn't include anything that's related to the execution yeah uh as a reminder you send when you send a transaction you specify the base fee inue and then the P Max priority fee and uh the base fee is burned the priority fee is received by the validator that has proposed that block but yeah yeah I think you're right I'm not sure exactly about the mechanism probably they just update the balance without doing a transfer directly in the state of the node yeah other information that we could see here are related to the blocks that this validator has proposed the fre frequency of propos blocks is not that high I'm not sure if this validity wasn't active probably so it's few months in between um so when you get to be selected for proposing blocks then you should better have your validator up and running then we we can see all the attestations so there are lots of attestations in here that have been um submitted by this validator than the syn Committees so this validator missed one one but the rewards for the participating in s committies are not that high uh slashings no slashings for this validator we have deposits so let's see this validator has deposited 32 e uh 711 days ago on July 2nd 2021 um what else and withdrawals so withdrawals are the actual I'm not sure exactly even withdrawals how work if you do actual transfer or is this [Music] um timed operation that happens every 5 days or so as I see here I have also three questions if it's possible yeah so uh the attestation it's made um one per block one per node or each validator can do testation yeah so so this is a bit of information that I missed to um to add so uh there is a process called randow uh before a OK where um a set of validators are selected and at that time we know who are the ATT testers for the given EPO and for every slot of that EPO so you can see here this validator has been sending a stations every other Epoch and this goes up until I don't know this so you get it to be chosen during ook and then you can attest and send votes during each slot of that apple mean is it possible to be um for example two validators to be chosen from from the same no which I think because yeah then what what is the advantage to have more validators on the same node because I think they are using the same execution client if they are all on the same node and I see an issue here well um let me explain well I'll try to explain so look this is the actual number of etherum nodes that are currently running on the network so there are about 8,000 nodes I'm not sure if it's a very accurate number because uh I've seen dashboards that show other figures in here so it's 9,000 or 10,000 or something like that but the idea is that there are roughly a bit less than 10,000 nodes on on the ethereum network but validators there are about 600,000 as we saw in this chart so that means that there are nodes that are running multiple validators and yes initially I would have expected that you would have to run one validator per node but um I think that the problem or why it is not possible to do that is just because the communication um of six 600,000 nodes on the network would just be probably will will not be sustainable or probably the current implementation of the algorithm wouldn't handle it yeah go ahead a video yeah so I want just to ask few few things here this is the the schema that we are showing it's a Linux server hosting ethereum node ethereum full node and it's correct what what these Graphics says but in reality the validator client which is connected to the full node or to the other nodes it's a up running besides the ethereum full node so in this case you can have multiple validators connected to the same node but this doesn't mean that it's running on the same machine as the node itself so basically we can have 10 virtual machines connected to one node and each validator can validate its part in the in the validation Pro process this why you can have multiple validators and less nodes yeah and and and that that's also true so there is an API that the validator client is using to communicate to the consensus client and uh also in the code base of the majority of the Bon chain client or consensus clients the validator code is actually in the same code base as the consensus client you can run the process separately and uh I let let me show also the note that I have set up and it would be more clear but yeah thanks for the for mentioning this okay so I have just one more question and then so um why you say that the more ethereum is sted um the reward is going to be lower this is why why is going like this because of this formula so this is the total amount AB is active balance of one node and sum of ab uh is the total staked active balance of all the NS on the network and it's inverse inversely proportional to I understand the formula but why they choose chosen to why they chose to do to go like this I mean because they did doesn't support decentralization at some point with this type of reward because you want to have more ethereum State because you will have more validators probably more nodes and if you choose to go with rewards lower this means you want and supp point to stop the decentralization yes that's true but at the same time they probably wanted to limit the inflation because so if um each validator would have received the same based reward no matter how many other validators are on the network then you would get into situation where you would just inflate the supply a lot it's interesting to take a look at vitalics let me find it so it's called the it's written by vitalic liaran and it's called Serenity design rational so Serenity was the previous name of the entire project of proof of stake and here they he explains a bit of why he thinks this is a good approach and in the end this has got implemented mostly in the in the final design and you can see the formula here so he uses a constant times the deposit size or the active balance of the current um the current node divided by the sum of the total active balances but and he says that is better than just uh oh sorry that it's better than just um um to use a square root in here because otherwise you would um lower the base reward even even more anyway it's it's interesting to take a look at this one I'll drop a few links later in the Meetup other questions I'm just thinking if maybe they in the future they will use the burn ethereum to to share as as a reward and this mean you will have a constant ethereum um like a constant total Supply if you reuse the burn ethereum yeah so we saying that instead of burning ethereum give it to the validators no okay got it it might it it's need needs to be any any proposal like that needs to be analyzed from different perspectives just to make sure that you don't miss and you don't um end with something that is not in equilibrium and would probably not be working but yeah I I I I was kind of surprised I was expecting something a bit more complex or or at least more let's say more El don't to put it in a way then I have found but it seems to work for now so we'll see later okay so um I want to show another thing and that's related to the you probably heard about the M Bots right flash Bots do you remember the scandal with the flash Bots and off list and so on yeah yeah so what this does instead instead of your consensus client just picking or or your execution client picking transactions from the transaction pool and packing them into um into a block based on um the standard algorithm uh and propose the block and probably not get as much of execution rewards uh as in an optimal way uh they've created so there various um enti that have created these Mev block Builders and you can connect your consensus client to a Mev block Builder and require the M Block Builder to propose a block for you and then and then uh that's how basically you can maximize your U um your revenue from the execution income and uh we have a graph some data here so for example at least this is what they they claim so this is an example of someone that's running with MAV and someone that's not running with MAV and um average total rewards uh per block yeah so so it's average total rewards per block um without the M boosters and with them so it's almost twice as high and um people start using this using these U M Block Builders and then since these are run by centralized entities uh that's where people from ofak came which is uh this is basically the institution that says okay we are going to restrict access to the economic and apply economic and trade sanctions to different countries or individuals across the world and this is where the censorship um problem came bubbled up and uh it was a bit of a scandal and discussion on Twitter so you can see on this dashboard uh how the percentage of U block that uh that were not a compliant and this is the reason it's uh it was such a such a big um Topic in the ethereum community so basically these uh these are blogs that have been censored from being produced and these are the entities so you can see different MTH block Builders ether Capital celsus bit Phoenix binance and and so on they're probably mostly running their own nodes but being centralized they are at the whim of legislators and or let's say law enforcement okay so um that's about it now let me show you the note that I run so this is my validator that I have uh set up on one node and as you see I keep losing money this is the girly test net so this is not main net and I didn't even have the 32 uh test net E I had to register to um on a Discord Channel and uh I had to generate my validator keys with something that is called the withdrawal address an adjust that is owned by this faucet or let's call this funding funding bot and then this funding B has deposited the 32 e for me on gly and that's how I managed to run the N now let's see why am I losing all the the attestations I'm basically missing all the attestations I have uh activated the no then um a week ago or so I haven't been selected for running for proposing blocks yet but I've missed all the attestations so far and here's my deposit no withrawal so far of course and why does this happen uh first I tried to figure it out and debug it myself I didn't manage to I asked people on Discord and they said that okay look you're running on an old laptop uh you do not have S you need an SSD drive because uh the execution clients is always behind and is not in sync and it's always falling behind with with the with the chain let me show you how and why so I'm um tell me if I need to zoom this out on the same okay so what I did I have connected or this is the um this is the logs first um in fact let me attach so this is the way you would attach your you would operate with the node directly so this is a JavaScript console G attach and you attach to your execution client and you can run various Commons in here even even sending transactions the usual even deploying contracts uh uh calling contracts so people were doing this uh from from this console before so if I do if syncing I'll see that there is a current block and then there is a highest block and there is difference between them and if I subtract them the highest block minus the current block it always all behind round number 69 so it it's always 60 plus blocks behind and uh if I'm two epics behind that means that I lose the source attestation and the target EPO or the target slot at station so this is the reason why uh my execution client is U out of syn because an old hard drive ini initially I thought that it's because of the uh of the bandwidth but it's not okay now so the this is the log of the Y I have chosen get as my execution client so this is the log of the execution client this is the log for the consensus client and this is the log for the validator and as a video mentioned before you you run usually run the validator as a separate process I think in some implementations you can run the the validator embedded in the same process as the as the main consensus process consensus client process so what I see here is that this small warning message head is optimistic it means that just my consensus my execution client is not um syn yeah so this is my not on ging if I would upgrade my hard drive I would probably also get some rewards on gly okay so that's that's about it guys one one more thing I want to show you um is too slow low the SSD that you have now no I don't have an SSD I have an uh solid state drive actually it's a hybrid SSD but it's not the same speed of course it's not normal hard drive or all hard drive and I would need an SSD to catch up with the block production on the on the test net or on the main net okay yeah now ethereum Foundation is trying to uh encourage people to run their own nodes there are various advantages to run your own node instead of connecting to infura or Alchemy or other centralized providers node node services so first of all because of the Privacy so they cannot so you connect to your no on node your on node is connecting to other nodes on the network you can choose the peers that you want to connect to and then you don't have this middle man that can read your IP address and story information related to your activity on the chain and there are also other techniques that you can employ to maximize your privacy if you run your own node so this is the the desired uh way to do this and the ethereum foundation has released this program where they if you apply and I would ENC encourage you to apply and find um convince them that you have an interesting and creative way of running a node and convincing other people to run a node uh then they would send you a DB node home or uh or pay for your custom build node and the D node if you choose to get a d node home then basically they say they will send you this thing I think it's uh this configuration so uh this computer with 32 gab of RAM and four terabytes of SSD so I think this or probably I'm not sure if that but this this is Hopper this is another or hoer I I don't know so I would encourage you if you want to run know the home just to go and apply this and the deadline is uh 20th June so there is almost a week to apply I will addend this to the Meetup okay I I have submitted an application for the for the ethereum which ethereum developers community and let's see maybe we get know if not it's fine even like that cool that's about it guys questions other things to ask comments so uh I believe that if I remember correctly you said that uh you didn't have to have those 32 ether to uh the girl eer to actually run your validator yeah correct they they came from yeah another party and basically it's like uh I don't know you are in a pending State waiting for uh the actual eer to be staked and they come to uh yeah stake stake that eer and then your validator is up something like that no no no you got to your dashboard I don't have it prepared in here but see so so you go to a dashboard I'll try to grab it or I'll try to try to find it I don't have it at hand now so what you do you go to E stakers Discord Channel there is uh Discord server there is a channel in there and uh basically that's the the where you have to wait for me to get validated so that people are just uh piling up to get gly e for free but uh what you do in there is you uh you do have to depos deposit a small amount it's like 0.01 e girly e but you would the deposit goes the same way as you would have deposited the 32 yourself uh but you have to specify the withdrawal address as being their address or the whatever the community's address so this is the only thing so so I I don't think you have to wait more just because you're using that bot but you do have to wait through the activation period and it can take some time so you still get into the activation que so basically in this case you're running a validator but if you want to withdraw anything you'd have to withdraw to their address yes exactly you cannot withdraw you can withdraw the rewards but you cannot withdraw the 32 or or no no no no I'm actually actually I don't know withdrawal should should go to the re their just to I haven't made any any draw but yeah I was wondering given today's info how uh the whole uh rocket pool science actually works behind the scenes because it's a yeah those things in which basically you can run a valid dat provide eight eer of your own and yeah the the protocol would give you 24 eer to stake so you can uh fill up that uh requirement of 32 yeah stake yeah interesting I haven't studied rocket pool uh are you guys interested into having a talk on that I could also look into and probably prepare for right know yeah maybe uh I wased in in this so in rocket pool yeah um yeah so rocket pool is an kind of a net staking Network for ethereum so it's an intermediary between you as a validator and let's say not you don't have to run a validator but there there is a network of people that run validators for you and you have to stake partially and then um there are different rules I see Alex knows some information on that but I need to look deeper into that to to understand how they designed it but behind it it's still the same staking solo staking that we we we went through today the the thing you said that I don't think is correct is that you said that uh you you have uh your part of in in our case there there are rocket pools uh with eight ether that you offer to stake and 16 and you said that uh there are validators that take it uh anym from you and then it's that what I wanted to say is I I don't believe there are other parties that are the validators I believe that you can be the validator with only eight ether but you get uh 24 other ether from the protocol itself okay that validator yourself then then I I draw my statement so I was not sure I probably was misled by this thing no I yeah so basically there there are like two two components in which there are the lsds mhm that yeah you you get you you st with whatever amount of eer you'd like and you get the the LSD that uh yeah has the yield component to it I believe that that uh for what you stake like The Ether you Stak into into the protocol can be withdrawn to activate a validator if you come with 8 eer or 16 eer yourself MH MH so this is more for liquidity and this is more like thing that basic basic the table you can you can see it right there below the two differences in what you get if you st if you if you have the LSD you basically have a yield because you provided some eer to the protocol and obviously deserve some yield but also I believe that because of that the validators will not actually give you the APR the yeah the yield yeah the entire API okay understand so if I if I if I don't want to run a node I would put it here I would get some yield but it's not the yield entire yield that would cover I know that would rise up to the current ethereum Network Guild exactly and and because of that the rest of the amount will be given to the people who actually run nodes and that would mean that it's more efficient to run nodes on uh rocket pool rather than yourself at home something like that something like that okay interesting okay so let me take a look at this and maybe um um I I'll try to prepare something and just to understand so so there are a set of smart contracts in here uh some other logic probably I know if there are some other components that are not are of chain uh involved but yeah it's it's interesting let let me give me some time or Alex if you do want to uh research and do a presentation on on Rocket pool then I'll leave this to you it's especially if you're passionate about this yeah yeah I think about it yes video as as far as I know it's a non St de solution to uh run a validator with uh less ether than you'd actually need to have uh if taking solone yeah okay okay guys thanks a lot thank you for the presentation was a good one thank you so if there are no other questions then we'll call this and uh see you next time I'll post the recording or I'll upload the video to YouTube and I'll post it in the Meetup okay byebye see you later bye bye
