Ethereum Research for Sustainability and Scalability
ETHBarcelona Talks · July 2024 · 19:36
Leonardo Bautista Gomez presents research aimed at making Ethereum more sustainable and scalable. The talk covers open research questions on the network's resource use, performance and long-term growth. The two goals are treated together, since efficiency affects both energy use and capacity. Presented at ETHBarcelona.
Speakers
Topics
From ETHBarcelona Talks, hosted by ETH Barcelona.
Transcript
next speaker is talking about ethereum research for sustainability and scalability uh please make him feel very very welcome put your hands together for Leonardo Bautista Gomez thank you okay can you hear me yeah okay thank you yes so um good afternoon uh my name is Leo and I'm going to talk a little bit about the research we are doing uh on ethereum for yeah sustainability and scalability this is part of uh our research group uh migal laabs and so uh just before
starting I want to introduce a little bit myself uh and so that you know my my trajectory and where I come from um this is not working apparently okay um all right uh so yeah I say I come from Latin America I was born in caraga I grew up in Colombia I did a bachelor in computer science in Paris and master in distribute systems I did a little bit of uh PhD on supercomputers at Tokyo Tech and then did some uh you know research on scientific Computing uh
in Chicago uh and at that moment uh then I came to Barcelona to work at the Barcelona supercomputing Center I work in scalability for supercomputers and scientific Computing and in 2018 I started to realize that the scalability issues that uh blockchain technology has were very very similar to the super Computing world and the and the same kind of problems we talk about you know resilience performance scalability and all that uh are kind of very similar to what I did for my studies and so at that moment I decided to kind of join this adventure uh and trying to make um blockchain technology more scalable and so at that moment I started to uh do research with the eum foundation uh this
was the first meeting we had I think it was in Ty Taiwan uh in 2018 so I have been doing research with um with them for the Last 5 Years uh and since then we had like already I received like five Grands from then and we have done uh a lot of different projects uh and what today I want to present is some of those things that we have been doing uh on the on the last few months so uh there are three main topics that I want to present uh first I'm going to talk about the peer-to-peer network uh for ethereum uh and the crowler that we have developed and the data that we managed to gather using this crowler then I'm going to talk a little bit about the transition to proof of a stake basically the merge and the analysis that we did on rewards
uh for you know staking institutions and then also I want to present uh uh very new product or service that we introduced that is a staken monitoring platform where you can actually see uh the Bon chain being built in real time uh and basically all the things related about staking so let's start with theum peer-to-peer Network so we created this uh Network crowler that is called Army ARMA uh it's an open source crowler so if you can you can access the code you can just uh take a look at the QR code in the screen and you can download the code and use it yourself it's completely open source uh we also published an article uh in a scientific conference a couple of years
ago describing how the crowler works so if you have you know more uh of a technical background perhaps this is the kind of uh documents that will make you understand uh how this uh this crowler works so I don't want to get too much into the details about how how it works but I want to present more or less the kind of data that we managed to gather with this scowler so for that we just launched uh last week uh this uh dashboard that is online again you can access it uh with a QR code in the screen and so we have two dashboards one is for the Bon nodes and the other one is for the the Bon validators all right and I'm going to present some of those results so for example one of the things
that we can know with this crowler is um how many nodes are active in the network so this Crowder is trying to connect with as many peers as possible in the peer-to-peer Network right and every time we connect with a node we try to gather some basic data about the nodes and we put all that in a database and so uh here we can see more or less uh there are about 12,000 nodes in the ethereum network and we also can uh know the geographical distribution of those noes right because to connect with them you need to ask you need to contact them through their IP and when you have their IP you have more or less a good idea about the region where they are located and so you can have a a good geographical distribution about the nodes in ethereum now this is it's very
important actually there are many people that are interested on this because there are many efforts right now on trying to decentralize even more the network uh geographically speaking right because there are countries that might be wanting to shut down kind of blockchain uh operators in some countries and so um that's why I think it's important to decentralize that uh the network as much as possible right but we don't know how to decentralize it if we don't even know how what is what the the network looks like today right so that's what I think think these kind of pictures help us uh you know understand the current state and and to understand also where we want to go right so right now most of the noes are in the US there are many in in Germany in France uh some of them in Australia
Russia Etc right but we want something that looks more red across the entire world instead of just one single point now another type of diversity that we want is software diversity right uh when you are running a a network with 12 th000 nodes and for example everyone is using the same software the day that that software has a bug your network is down right and so client diversity is very important uh the ter Foundation put a lot of effort in funding five different teams with five different implementations in different languages uh and so that make sure that the the system is robust in terms of software diversity so right now here uh this is dat data that we gather with the with
the with the crowler and we can know that more or less uh Prisma Lighthouse have about 40% of the nodes in the network and then 10% and 7% for Te and nimus respectively and then the few others are uh smaller proportions this image right now is much better than what we had one year ago one year ago like 70% of the nose were using one single uh software one single client right so now we manag to get a little bit more diverse and if one of them is not behaving well or there is some back door introduced by accident or not um we have a system that is still reliable because there is this there is this software diversity we published this uh scientific paper a couple of years ago
that actually analyzes the performance of the different consensus layer clients so if you're interested you can take a look at it and so um one of the things that I want to mention also is that we actually provide this data for free to the community and um to the to the website client diversity. org which is this effort to to you know improve client diversity in ethereum right and so if you look the data that they are providing in their website actually is data that we are providing to them uh and if you look at the execution layer client for those that know how note R in ethereum you need two clients one consensus layer one execution layer and in the execution layer you see that 50% use get which is not good we want more diversity on the execution layer client
and this is actually much better than before like a year ago 80% of the nodes were running gu uh now we have more nether mind and and others so the the software diversity is changing a little bit is improving in the execution layer clients but again we need to know where we are and we need to know uh where we want to be another thing that we want to that we might uh discover with this type of crowler is uh how where the nodes are located right and so we know that right now about 50% of the nodes in ethereum are in clouds and about 35% of the nodes are in homes now how do we know that is because we have their IP when we have their IP we can know their ISP right so you have the
internet provider and the internet provider finished by Amazon LTD then you know that's a cloud right and if it's I don't know Vodafone or something like that it's most likely to be a a home right now another thing that we know from the uh network is um how many attestation networks uh these uh different nodes are subscribed to uh for those that know what attestation means and what is taking means um here you can see that uh for about 6,000 per of the noes oh sorry 6,000 of the nodes uh have uh they're not subscribed to any attestation Network which means that most likely they are not they don't not having any validator behind so these are
non- staking nodes these are just nodes that are running and they don't have any validator behind and then you have what we call the home stakers so those are notes that have between one and 10 uh validators behind them and then on the other side of the screen you have those that are subscribed to 64 attestation Network which is the total maximum that you can register to and these are most likely International takers and of these you have more or less like a thousand of those nodes these are most likely you know big operators like Lio Kraken binance coinbase Etc now uh another thing that uh we do uh we collaborate with the University of
Cambridge they built this uh dashboard that shows the energy consumption of the entire ethereum network uh originally they had this for the Bitcoin network uh since several years ago but now they built this dashboard that estimates the energy consumption of the ethereum network uh and they estimate this based on the data that we provide to them uh like things things like the number of nodes and the client diversity and so on and so forth so this is something that is also possible to do thanks to the crow and the um software that we have developed at migal laabs now uh I was talking about the beon noes in general now I want to give a very quick overview about the validator nodes so these are nodes that
are validating that have validators behind and we know that because they are subscribed to at least one attestation Network and so you see the geographical distribution is more or less the same the software distribution is actually better uh this okay the ler is not working uh the the figure on the left uh shows that this has a much better distribution it's like 35% for prism 30% for Lighthouse 15% for Te and 10 or 11% for nimus so it's a much better distribution uh in terms of you know client diversity if you only focus on the validator nodes regarding the um hosting is more or less the same 50% of cloud nodes and 35% of residential homes we also see that there are about 10% of
the nodes that run in arm which is actually something good we want to be able to have validators running in a small devices that are not very energy hungry and so this is a good thing and yeah more oress we see about 5,600 noes that are validated in the in the network okay uh transition to proof of a stake that's another work that we did um and um so we publish this uh paper that you know if you're interested on on all the details you can take a look at the paper it shows more or less the reward system before and after uh the transition to proof of a stake so basically the merch and we also build this kind of visualization dashboard that allows you to compare multiple
entities like for example you take Kraken and I say I want to see how they perform before the merge versus after the merge so uh there is this website that is called Panda metrics you have the QR code if you want to take a look at it and you have all the different entities and you can click on an entity and see how they perform before and after the merge and you can if you click on them you actually the entire list of validators and you can see how every different validators perform uh in terms of rewards basically what we are trying to check here is um the bars that you see here is how much rewards you manage to get versus how much you actually could get you know if you have done a perfect job as a validator right so um this is the kind of things that that we
did for the merch you have the paper and the uh visualization dashboard online uh in case you were interested on that uh finally I I want to talk about the new staking uh monitoring tool that we develop uh it's a again it's an open source Tool uh that CHS uh a lot of data it's called et.io Uh you can access it on the QR code okay so uh let me try to explain a little bit uh what you see in this screen uh first on the top you see the basically the summary bar where you can see which EPO do you uh we are the slot the block height and the number of validators that are active right now and then here in the middle you see basically the Block Chain being built in
real time so you will see blocks appearing now this is a static picture this is just a screenshot uh but when you go in the in the in the website online you will see the blocks being created one by one after the other if you know a little bit about how ethereum staking behaves or the consensus protocol you know that there is 32 slots in a in an Epoch so basically there are group of 32 blocks uh and these are the boxes that you see here you see so you see two EPO and each EPO has 32 blocks and we also the color and the logo that you see on the blocks is which entity is producing that block so you you know for example uh the one uh on the top right uh uh corner is a is a block is a block
that was proposed by Kraken for example right and then three lers I think is binance and so on and so forth you can see which entity is producing each block and we know this because we know which validators belong to which entities right and so basically in real time you can see which are the actors that are playing that are building the Block Chain that we are all using right and then on the bottom uh what you see is the statistics of every single uh Epoch so every row that you see there is an Epoch and what um what you see there is a lot of information about the number of block that were produced the number of blocks that were missed um if the block is missed you will see a red cross on the Block uh you can also get information about the attestation
accuracy uh we want that uh hopefully the attestation accuracy is always above 99% in the ideal case and we also um get information about the total uh voting participation and so in a healthy Network we want 99% of the validators doing their uh duties uh uh according to what they are supposed to do so we want the the voting participation to be very high so 99% so basically this give you an idea about you know the state of the chain in real time a couple of weeks ago or a month ago there was a problem in in ethereum chain it was not finalizing for several epochs uh and we actually could see this in real time in our dashboard
we we see that the participation was getting down blocks were being missed and so it was it was read everywhere and we were we didn't know what was happening uh but it was really interesting to see that actually you could actually visualize this in real time in in our dashboard in addition to that you can actually CL click in an EPO and this is the this is the image that you have on the right and you get all the details about that specific EPO how many blocks were proposed how many blocks were missed how many attestations were sent how many attestations were missed uh the um active balance and you can see the whole list of all the blocks and for every block you can see the entity the proposer the slot the date the withdrawals every single detail uh you can know on on this dashboard and then
on the left side you can see the validator um view so you can see uh how this validator has been performed on the over the last 12 hours you can see how many rewards it got versus how many rewards it could have gotten and the attestation misses the blocks that has produced since the beginning of time also the withdrawals and so on and so forth we also have a view for the slot where you can see uh the consensus layer information the execution layer information and the withdrawals so basically very much detail about everything and there are also information about the entities uh so we have a page where we can actually Vis for example Kraken and I can see how many active validators they have how many validators they have exited how
many have been slashed and so on and so forth and we are also going to give a statistics about each one of those validators uh sorry entities uh in the near future and again so all this is open source for free and available for everyone to use uh now we're working on an API so that everybody can access this data in an automatic way through this API and hopefully this going to be uh a lot of help for staking um entities and for validators even solo stakers to get real-time information about how the nodes are performing how the validators are performing and so on and so forth so um yeah just to finish I want to uh you know say a big thank you to our collaborators uh these are the entities we have been working with over
the last six months a year so we got uh several gr from the terum foundation and gr from Lio we also have been working a little bit with obal on distributed um validator technology I didn't have the time to present this today uh but uh yeah uh we have been working with us if you're interested in KN to that you can come talk to me after the talk uh we talk as I sorry we work with Cambridge University as I mentioned uh we also work with aant which uh has been supporting us for uh quite uh some time uh already and yeah we we collaborate with the status and and and ether Alpha so uh all this work has not been done by me only actually it's a it's a group of team it's a team of members that has been working very very diligently very
bright and enthusiastic people that have been working on this so I want to thank all the team which is actually sitting in the in the back and so all that uh that's all I want to say and thank you very much for your attention Leo everybody nice I got the clicker here I think it's not working yeah it's not working uh it's still working but nice for okay cool thank you uh yeah you've got two minutes if you want to do a question yeah if anybody has any question I can answer questions otherwise yes can we do a PR so by yes definitely you can do
[Laughter] that any other question all right thank you very [Applause] much