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

Loading player…

Reth 1.0: How did we get here and what is next? by Georgios Konstantopoulos | Devcon SEA

DevconTue, Oct 7, 2025, 12:00 AM

Reth is an Ethereum Execution Layer in development since 2022, focused on contributor-friendliness, modularity and performance. In 2024, after rigorous testing and security review, Reth had its first 1.0 prod-ready release. In this talk, we review the process of shipping a state of the art & novel Ethereum node, and lay out Reth's plans for the next years. Speaker(s): Georgios Konstantopoulos Skill level: Intermediate Track: Core Protocol Keywords: Core Protocol, Developer Infrastructure, Tooling, rust Follow us: https://twitter.com/efdevcon, https://twitter.com/ethereum, https://warpcast.com/devcon Learn more about devcon: https://www.devcon.org/ Learn more about ethereum: https://ethereum.org/ Visit the https://archive.devcon.org/ to gain access to the entire library of Devcon talks with the ease of filtering, playlists, personalized suggestions, decentralized access on Swarm, IPFS and more. Devcon is the Ethereum conference for developers, researchers, thinkers, and makers. Devcon SEA was held in Bangkok, Thailand on Nov 12 - Nov 15, 2024. Devcon is organized and presented by the Ethereum Foundation. To find out more, please visit https://ethereum.foundation/

Transcript

[Music] good afternoon everyone it's been a wonderful day and it was really inspiring to see so many great questions to Alexi just to see what's going on by show of hands who here is a rust developer amazing and again by show of hands who has contributed to any of our code bases W Foundry alloy anything like that okay fewer people who runs a node or has run a node okay more people great excellent so we're going to have a high context conversation here I'm going to talk about WTH 1.0 reth is a new node that we started building two years ago and I'm going to say how did we get here and where are we going from here my name is Georgios I'm the CTO and the GP at Paradigm I'm also the founder of which is a project aimed at accelerating crypto so I want to start from like what is a node and from a very abstract sense a node is the sole of every Network transactions come in it re executes things it produces a state commitment it streams the thing out and this thing goes on and on and this is what gives us the so-called decentralized Cloud decentralized Web the crypto that we all came and love now today nodes are or have been slow they're rigid you cannot really modify them they're kind of scary like when you see somebody is running a node you think there must be some crazy assistance Engineers developer and they're actually expensive it's really hard to run a node as we saw a small amount of the room only running a node and it doesn't need to be like that nodes must be not can be not should be they must be fast so that they run the chain quickly it must be extensible so I can go and override it and add additional functionality to it must be welcoming very very important a node must not be scary must be a place where you go and you're not afraid to modify to go unblock yourself and nodes must also be cheap they must be able to run on cheap Hardware they must require you to like get a cheap Cloud box if you need or even your laptop we've seen people running re nodes in their MacBooks and that's really inspiring we really proud of it and so we built W to fix this problem we want the nodes to be fast so we built a fast node and re is a contributor friendly implementation of ethereum you can see here I have the GitHub repository it's a repository we feel very proud of and we're spending all of our efforts on every day reth was built to be fast extensible contributor friendly and cheap and that is for many reasons and over the last two years we've been shipping and shipping and shipping and we' shipped a lot of software and I'm excited to talk to you about a lot of this stuff today so we started the W project in 2022 it was a few months into the development of Foundry and I went to our colleague Oliver I'm like okay my man we fixed Foundry we fixed smart contract testing what's next and I told him why don't we build a node and he said you're crazy well a few months later we came up with a node we announced it in 2022 and later in 2023 we released it and the first Alpha version doing that in 2022 was insane I didn't know anything about nodes but we went and studied and we learned a lot and today we're we're seeing the benefit of learning how all of that stuff works in 2024 re hit its 1.0 Milestone it was something I worked really hard on we work with other Cod cordev teams use automated client testing tools we did everything we could to cover every single edge case downtime was not acceptable some slow transaction taking us down was not acceptable the P2P layer taking time to sync taking a long time to fund Pi was just not acceptable the bar is very high and we also worked with the sigma Prime team our good rust friends on the consensus layer who are also Auditors and what we did with them is we told them okay you guys really like the execution layer well we gave you a rust execution layer now go crazy on it and they found a few good things but what was really remarkable is that the under original assessment was scope to say this long and they end up spending way more time because they like the project and that's how we want people to be working with us we want the ref codebase to be something that people are excited to work on and not something they find scary and like kind of like weird to being in 2024 re is being adopted in ethereum main net the data source for this is the ethernet snow craer depending on what source you see you will see different things so bear with me but basically reth is a note that appeared in 2022 and is already starting to be live and existing on ethereum Manet people believe in WTH to stake their assets with it RPC providers use W because they find it exciting to provide better performance the to their customers and we did we did all of that because we want to make crypto better and it seems that we must make crypto go faster and that goes from all the way from the infrastructure to the developer experience so I keep talking about contributors this chart is kind of remarkable because this has been a chart from a few months ago from August and actually I tried to pull it up today but I didn't have time to update the screenshot but we had even more contributors and like even more PRS we have 500 PRS and over 50 contributors every month which is a really exciting metric to be hitting for an open source project with no grants no subsidies it's just cool code and this is not a simple project this is something complex but somehow people keep coming to it because they like it because there's something about like being a part of a community and we really care about this community about our open source developers we have 400 contributors so far 400 people contributing to a node the thesis that we had when we started developing W is not that we wanted to build a fast node to go and take over the stake or to have 33% or whatever it was kind of an education project honestly it was what if we grew the pie of open- source developers that get how etherum works and what if we also tapped on a group of people that care about high performance and the result was the W project so to US Open Source means a few things a there's an agel tale about from Linux I believe where in the eyes of a thousand people every bug is shallow we get consistently bug reports for our code and we love it we take the bugs we fix them and we go to the next and that's the nature of building such a critical project we're very excited that we have teams like the ethereum foundation security team which goes and sends us emails to our security email and we we need to fix things and that's the beauty of Open Source re enables third party Builders the open source community that we have build continuously builds things on WTH and WTH as Alexa said is not just a node is an SDK and it's an SDK for building high performance nodes and so much more like execution extensions the other very exciting thing about the open source is that the community gives the project life I used to be one of the main committers in The Foundry project and nowadays the project just lives on its own it just goes on and on and on and on and it's kind of like remarkable again the beauty of Open Source and finally it has this very counterintuitive thing that if you really figure out how to solve it the problem starts moving faster because of the third party's contribu not slower you don't spend all your time trying to find like great talent to come into your code base they come to the code base because they find it cool and we hire the best of them like we have with the team that we have so far many people ask us okay Georgio what you guys have done is really nice like we also want to replicate this in our code base how how do we go about this you know do I hire a community manager do I hire a devil what do I do and and I think there's like a lot of things that you can do I think that most important things are on this board and it starts with a polished issue tracker the moment that you go to the issue tracker you must be able to go and filter by label good first issue and like go pick an issue what happens in our code bases when we open a good first issue is it gets picked up 10 minutes later people are proud to be like putting WRA on their resumes and they're Racing for open source tickets that's really exciting but how did we get there we got there by having great documentation in the rust code bases that we have we have a lint that doesn't allow for any publicly exposed interface to be undocumented the pr just fails if you don't do that and that sounds like a small thing but it really makes the developer think about it twice and what I really love about the RAS programming language is that it doesn't let you be lazy and parts of the things that we are trying to do is prevent the open source devs from being lazy when when they come to our projects thirdly great tests tests matter we build The Foundry project again because we thought that tests matter more than people think and here again we think that tests matter a lot it means that I can look at a PR like on the plane or like when I'm like on a bicycle or anywhere honestly and I can know that the test that the pr is going to be good for the pr that the marginal open source contributor brings and that is what allows us to bring on more and more people without really having to like deal with the you know taking hours for like PR reviews that's really powerful fourth the maintainers matter if the maintainer is not on a chat room that like you can reach that's a problem if the maintainer is an [ __ ] that's a problem because if the maintainer replies to your PR and they're like no that PR is garbage well you're probably not going to go back to the repository because you think that PR was an [ __ ] so Good Vibes they matter it matters that when you go the repo and you say hey can I take this the person that is maintaining says thank you for the poll request or thank you for the issue what about doing it this way instead of shutting down requested changes 35 comments on the pr and then go to the next uh roast it's kind of uninspiring and demoralizing I think the problem with Elite developers is that they think that the newbies are not worth talking to I think that's a cultural problem that must be fixed and if you want an open source repository you need that finally um the chat room the chat room matters the chat room is where the Vibes happen the chat room is where the communication happens the chat room is where the design happens if the chat room has non teex spam the chat room is not good if there's people trolling the chat room and they make the experience uncomfortable that's not a good chat room God forbid there are ads in the chat room somebody post a job ad or an event ad or anything like that no buo it's terrible to have a bad chat room you start ignoring it you archive it you don't talk about it our chat rooms they have thousands and thousands of people and somehow we manage to keep it together and in the beginning it required me or others on the team to go and do like manual support for a lot of people and we were always very careful about when somebody enters the chat room they have a good experience the developer in an open source project as a maintainer is your customer and you got to treat them with Excellence because for every bad developer you lose 10 for every dissatisfied developer you lose 10 future contributors and that matters again this is a chat about W but like a lot about this is about how to build successful open source projects and communities and how to ship increasingly complex projects with like small lean crack teams that can do a lot of good work without having to hire 50 or 100 people like go and burn insane amounts of money we learned a lot firstly ethereum is just really hard you might think that it's easy building a client it was 100 times harder than I thought like when I told Oliver H we building a node I thought it would have been like a six-month project it took two years and I think building the next phase is going to take a lot longer and that's why we're here for the long run big shout out to the other client tees um that have been doing this for many years and I think we we're two years in the journey it's really humbling to see how hard this stuff is secondly testing is extremely hard especially when you need to interoperate with nodes in other Implement in other languages which may have different architectures maybe you're like built with a trib maybe another DB uses the Argon style Sync It's really interesting like this cross client interrupt and but again they it's like really what makes the problem hard and exciting to work on and again the best Engineers want to be working on meaty hard problems and this is one of them so when we see hard we see a challenge and we go for it thirdly benchmarking is extremely hard I think benchmarking is one of the underrated things nobody in crypto profiles people just like go and do Cowboy modifications without thinking the one thing that you need to do is a flame graph a flame graph is a bar chart that you see when you run a profile or when you run a test and it has big red boxes showing where time is spent so I I don't really know how to optimize but I know if I see a big red box I try to make it smaller red box and samply is an excellent tool that everybody that cares about performance should be using you run samply record your command and it outputs a flame graph and not only does it output a flame graph it also outputs a Firefox share link that you can send to your teammate to continue debugging with you it's really powerful and you need that and fourthly contributor friendliness is hard I think in other languages building building successful open source projects is particularly hard because you don't really have like a bunch of like access to like easy developer tooling to make it easy to review a PR but we did it and we're really proud of it all right we got here where are we going and I have six minutes and I hope it's going to be enough so three things for the future of w stability performance extensibility we think of feedback loops as the most important thing you talk to your customers that's a feedback loop we talk to the core devs that's a feedback loop for our stability if we can pass ethereum main net that's very powerful because it means that people should trust that our software is good similarly if then what is our performance feedback loop we built op re for that which an OP stack implementation of the W project and we laid out the gigas road map earlier this year on all right where do we need to go let's put a Target on it not transactions per second gas a real unit of account for compute and go and like optimize that Loop and thirdly extensibility we have the re SDK op is one implementation of a node using the re SDK the re SDK is a framework for building high performance and extensible nodes and they're stable because you know that they share code with the most important like system like in crypto which is ethereum an execution extensions you heard Alexi talk about so I'm not going to talk more about it so how did we get stability we got it with cross client tests and cross clent benchmarks big shout out the curosis project and the pounds team for the ethereum and the optimism package they let us bring up chains with like as many clients that we need as many nod as we need like main at op stack like fuzzers like any kind of like third party tooling like in two commands these are wonderful tools anybody in node infra should be using them performance is again I'm like citing the documentation on how to run R for opack chains and how to run how to look in our road map or our perspective on how to build high performance nodes thirdly extensibility the r SDK we provide big uh examples showing a lot of things so on the right you will see that the exact examples for the back fill uh for the EXA we have back fi we have an oracle we have the remote EXA we have a rollup example we have a lot of stuff similarly on the r SDK side we have all sorts of things we can show you like in 30 lines how to modify your evm and add a new pre-compile we can show you how to do P2P for BC for polygon even though R was not built for them you can do such crazy modifications without forking the node and you can access any chain in the ecosystem so 20 22 we started with the re L1 node we were able to sync something by the end of the year by the end of the 20 of 2023 we had a re node that can sync ethereum L1 and op stack 2024 and on re is the SDK for building good nodes and we're giving it away with Apache MIT license because we think the industry needs it our vision is to accelerate crypto alongside the open source Community that's why we started iaga a new project that is basically taking our existing team and we're empowered to start running experiments where we're going to start by solving the ux problem we think that the thing that's missing right now from crypto is the ux is the ux and really to fix the front ends we had to fix the back ends first your front end is only as good as your back end and it took four years but we think that finally the stack is ready and we're ready to finally build great experiences and here in the right you will see a tweet from Thea account where we demonstrated what we think next Generation ux can be where we showcase EIP 7702 and p256 which are two proposals like one is already on l2s and other is coming to ethereum main net in a few months what the idea there is that what if we had endgame wallet ux what if like in any device in any chain I can batch no rpcs no Bridges no gas like no key management just works and it's an interesting question can crypto ux be better than web 2 and my claim on why people haven't been able to do that is because the pieces of the stack were not quite lined up so far and you know if you see the user and the developer anytime the user tries to do something they go through connect wallet then they go through metamask then they go to through Fiat on boarding then they go through like a thousand layers and some something always quite FS off and think there's a time to fix it and the time is now and we're going to do that because we have built the industry's most used open source tools we built alloy rev Foundry re cryo we just L solar and use solidity compiler Ox wagi VM we know ethereum and we're going to fix it so our nordstar is to solve ethereum's hard problems we've been doing it for years we think the time is now to go and build the best open source software for the industry and for crypto to become something that we feel proud about thank you thank you very much for the great talk georgeos let's turn our attention to questions are there any are there any current disadvantages of running rest compared to other clients totally there is a trade-off that you make when you're running a ref archive node which is that you give up historical e get proof when you run it um and right now I believe that sometimes on the RPC performance on the web socket subscription is not always state of the art so sometimes other clients can have better performance than us on the RPC and we're working on it what novelty does reth bring other than the language it's written in oh tons um firstly WTH again is an SDK right so the rust language is kind of like independent here the fact that re is an SDK means that I can literally go and build other node implementations using it what it gives you is a runtime RPC P2P DB and you can choose how to put them together and would just give you a nice Builder pattern that you can use to do everything um so people have done a things with r for example I think the Tao team has done things with our stack the SCH team has done things with our stack so it's not necessar really the rust programming language it's that we built it to be by default performant and like we give all the nice abstractions for people to go and build whatever the developers need again without forking by being a library so it's it's really critical to land this point w is not just an L1 node like there's not much that we need to do like to like grow adoption on L1 we care for the stability but like what we care about is developer tools first and foremost to empower devs to build things and Bre in every way from the SDK standpoint is a Dev tool and Dev tools don't need to be scary so I can run a local ether scan with arigon called Autos scan when would ref be friendly to local privacy friendly block explorers that's a great question so on Anvil which is the test net node that we built which um super cidate ganache um you we have implemented the otter scan API and you can run otter scan using Anvil I'm not sure um what happened with the I'm not sure what H if we have that implemented in in rest but like maybe we could add it uh what was your thinking in starting the WTH project rather than building on akula I love W but I feel bad for the aula team totally uh we were looking for a very easy to contribute project and uh we we had a hard time like contributing to that project okay do you have any thoughts on the beam chain not many not many okay then when re light node uh that's a great question um I don't know should we do one okay we'll take it back to the team um why do you keep advertising that W is the most performant one when clearly nethermind is the better one we love the nethermind team and they've been taking our ass lately so big shout out the nethermind team um any plans on making uh consensus client under Paradigm portfolio Paradigm should dominate e ecosystem just relaying this by the way not my opinion totally totally totally totally these are good questions H you know firstly we I see MDI on the crowd and we love the lighthouse team so no plans for anything like that somebody asked us around the beam chain should we do something about that oh like it's a good opportunity I don't know man I really don't know like we maintain so much code it's kind of going even consensus is hard like all of the stuff so far is not like the hardest but like consensus is actually hard any technical decisions on ref that you regret I I need to think more about it okay how did you pronounce Ithaca it's not ithaka Cornell uh it's isaka Greece which is an island that Odus from The Odyssey went back home uh which is the home of Odus when he came back from Troy okay is there any combination planned for w and Lighthouse from the perspective of v and cl [ __ ] yeah we've been calling it red house but like I don't know that it's like planned okay um what's specifically about WTH allows it to scale to higher gas throughput and do you specifically measure gas in the engine we do use gas as our current way uh to measure things uh we think that gas is a good enough way to address to cover our benchmarking needs um I think it's a good question like whether like that's an sufficient metric for example the gas does not Express whether like well enough like whether it's storage or compute operations um and sorry what was the first part of the question um bre and Lighthouse no no okay let's go on yeah all right how'd you look at a PR on a bicycle ER with without hands you know like you okay uh when will rest support non-op stack EVMS and why was op stack prioritized versus other EVMS yeah so I had worked on the optimism code base for many years um so I knew how it worked uh op stack then was designed very nicely in the sense that I can just touch the execution layer component without anything like above it which is like the derivation function or how you do fault proofs or anything else so it had just a nice separation where we only need to do like a few modifications to the codebase um and that felt easier uh and when non op trains I don't think we have plans for us to do it but we've been refactoring the codebase to have no feature flag so it's a pure SDK as much as possible such that people can go and uh do it themselves and we're already seeing that for example the scroll team where the scroll team PR a state commitment generalization pull request and the state commitment journalizing pool request allows them to unblock themselves and go and import re as an SDK and like make it work with the the mercel tree that they have which is slightly different than the one that we have so nothing that we will will do but like we're making the SDK available for people to do it all right we're out of time for questions thank you again

Automatic transcript — names and jargon may be misspelled.