# Dan Goron - Partial Node, the new kid on the block

- Channel: [ETHCluj Meetup](https://streameth.org/ethcluj-meetup)
- Date: 2026-07-09
- Duration: 18:28
- Watch: https://streameth.org/watch/yt-ooL4rijBvwk
- YouTube: https://www.youtube.com/watch?v=ooL4rijBvwk

## Description

With the advent of zero-knowledge proofs, and stateless attesting nodes, state growth and the lack of decentralized RPC access could have a compounded down-side effect on the network.

## Transcript

[applause] Yeah, thank you. So, as as per the introduction, I'm going to be talking about uh partial statefulness and partial nodes. And since it's it's an rather new Ethereum uh Ethereum research, I'll give it just a quick intro. So the topic itself uh was initiated by Carlos Perez at at u um stateless uh at stateless EF team uh around the end of last year and uh I've posted uh the links to his uh research at the in the last uh slide. So the resources slide you can uh you can check more on the topic. uh I uh contributed to the first efforts of this uh of the topic. I'll go into uh details. uh I had the chance of presenting uh partial statefulness at uh it uh uh at its CC at the stateless summit uh together with uh Carlos but on separate presentations and for the scope of today's presentation my contribution is that I'm going to propose uh the extension of partial uh statefulness from E to to CL okay so uh one definition of Ethereum that I enjoy is that it's a transaction based u state machine. So basically, Ethereum actors uh initiate state transitions by proposing, ordering uh and voting on uh transactions which generate the the last world state to uh mutate and and become the you know the result of the state uh uh transition. Uh nodes do keep uh the latest and uh they uh nodes do store and uh upkeep the latest uh uh state in able in order to be able to verify by applying the latest block uh transactions that the actual new state is what uh the actual new states hash like uh coincides with the block proposers hash. that's uh already public in the in the blog being proposed. So this is good. This is how Ethereum functions at the moment. But with an ever growing state like I think the the state bloat issue is not um is not a new issue. It's something that's been talked about for some time. And with the state going up and up and and up, basically it's going to be harder and harder for a lot of uh operators or like home uh node operators to actually keep machines where you need to have terabytes of of storage just to to prepare to actually keep the state uh in a full node as we do now. So enters uh zk proofs that simplifies everything decouples uh validations from validation of the chain from uh uh state storage. So basically the ZK nodes of the future voila can attest to the uh current state of the chain without actually holding any state which is great right but with caveats like everything. So the the caveat is that on the so the verification plane is like perfect but on the state retention plane once you have zkms in place and once you have zk stateless nodes nobody will actually be incentivized to keep the state except for actors that their business will depend on keeping the state like uh blog builders, indexers, centralized RPC providers and I think that's that's pretty much about it. There will be of course uh hardcore people like us, most of us that will keep running full nodes just to you know keep up with the with the chain's uh resilience. But that that behavior behavior will not be the rationale behavior that you expect for for from market participants from protocol participants. most of them will not will not keep state at all. So to counter this thing to counter this threat of centralization of Ethereum data layer and of Ethereum state Ethereum state into the hands of a few centralized entities enters partial statefulness that says what if nodes could only store what they care about. So only the contracts that they want to track and still be coherent under the canonical roots and the initiation of uh partial statefulness began with EL and I'm proposing to extend that to CL and we'll see uh why by the way zero knowledge uh stateless nodes will not be able to participate in fossil that's a very important aspect that uh it's not very easily you know remar um like remarkable because having no state at all does not allow a node to verify any transactions locally. So that means no censorship resistance scheme participations participation for the uh for zero uh knowledge stateless nodes of the future. So that's another big uh caveat. Okay. So, uh, to see how we can have nodes only hold what they care about, I'm pushing forward a term that's not a new term and is not a new architecture. It's it already exists in how how the the logical state is being defined in Ethereum specification and that's functional domains. You don't see it from the plant, but uh it's there. So, it's functional domains. If we look at this uh very dark pictures here. So for E we can identify topologically. So this is this is uh logical topology. Yeah. So it's not how clients actually instant uh use state in their DB. It's it's how the the state is being logically defined in the Ethereum specification. So for L E we have three levels. We have the account level on the on on the top. Yeah. So here all the 300 million uh accounts with balance nouns whatever and then we have storage underneath. It's code by code underneath and then we have code and for CL it's a rather simple uh structure because you have 27 highle um domains like validators balances u there 27s 27 of them payload uh execution payload bridge whatnot and they're all hashing towards the state route so you do not need any traversal uh uh you know very complicated traversal um re um graph reading. Okay. So these domains uh as I said are three for for EL and 27 for uh CL. But it's much more easier in CL case to to to manage them. And for E because uh or of how uh Marshall Patricia try is structured the partial nodes will need to keep this one. So the full account uh try otherwise otherwise they will miss uh they will can be they will not be able to hash everything up to uh state root. they will need um MPT nodes uh and account uh three nodes that will not be there. Another important uh so it's coherence that's the first property that partial nodes have to fulfill to be uh to be self sustainable and the second property is to be able to offer proofs. So it's one thing to understand what's the canonical root and if your data that you hold fits under the the world view and it's another thing to actually proof it with with uh either MPT or or SS proofs. So I'm going to move a bit from the protocol ccentric view to the userentric view and talk about the partial nodes. So the physical uh infrastructure not just phys physical but the actual uh u you know running of the protocol. So what partial statefulness proposes is an introduction of a third tier of nodes which we do not have at the moment in between light client like clients and and stateless clients that are not here yet obviously but there soon will be and the full node that we know now. So is this part and I've split into four specializations of this type of partial nodes because we are now we we're going to be capable of doing that if partial statefulness ever you know gets adopted. We just it's a very early research stage and also Carlos started working on a on a G implementation based on block access list. It's yeah that's early. So we have the um the vops nodes uh cheeky gorilla talked about uh them uh in in protecting uh Ethereum future. So basically those are the minimal type of nodes that you can have uh like a zk like a stateless node but not not per not purely stateless. you have like eight nine gigs that you need to keep uh in your node on on the ZK node so you can actually participate in fossil and in in censorship resistance schemes which is yeah it's something that's very important for for Ethereum and the other ones are uh partial nodes that could run in the in the browser but with not without verification without proofing just with verification and then the the edge partial node which it's my favorite cuz it's like the like the the niche one. You can have like industrial uh nodes that only follow some contracts that are to their own uh uh interest uh wallet u I don't know stakers that want to follow only a few contracts and then you have the state mesh uh nodes which actually bundle a lot of the known contracts or used uh like widely used contracts and participate in node mashing in state meshing and in state markets. that's that could have their own uh dows, you know, like selling state or like offering state to peers that want to sing or or bootstrap or whatever. So, that's a whole market that's uh probably going to come out. Okay. Uh going a bit uh I'm going to speed up a bit because I'm giving too much context and I won't be able to finish it. um going into details of how the the partial nodes would actually work. I'm going to summarize that we need full state diffs and hash diffs in order to be able to uh transition the state to the next phase without reexecuting all the transactions because we do not hold all the state. So we do we cannot like re-execute the whole block. So by by updating what we keep with state divs and with filling in the gaps with hash diffs then we can hash every the nodes can hash everything up again like a full node to the uh to the root. So that would actually like make partial nodes self sufficient. Uh until now I didn't say anything about what's to be done. I just we just I just looked at things how they are like how state is logically u a bit of fundamentals but now at this slide I actually get into what's to be done and that's to modify block access lists which is what uh Glamsterdam second headliner I think so it's going to come up uh this year and we need balls call block access list to to add on top of full state divs which they which block access list already supply. So that's a important thingy. This part is already part of of the road map. So I need we need them to add hash diffs if block access list or another type of mechanism that can send a payload to nodes with with with these diffs could add that difference, that small difference, we would have you know the the the fundamental the the foundation of of having this uh this type of nodes. Obviously that the the discussion it's a bit more broader now with binary trees coming up back into discussion is going to be able to you know create a lot of issues. That's a whole other research. some alpha for extending uh partially uh partial statefulness to uh to CL is that we could have um trust uh trustless RPCs also for beacon uh clients. So not just for E. Uh this is the same tech the same idea with how things work. I'm going to jump over it and I like this one. Basically we can think about bundling uh the CL uh functional domains into like like CL bundles. So some clients will ask for the staking bundle. So all validator balances slashing exits uh withdrawals whatever. Some of uh some of the clients will ask for the bridge if they are if they serve a bridge bridge bundle and they can just track that part of the consensus layer state which is directly into their business interest or personal interest or whatever. And again my personal prefer preference the industrial part where you can just track one contract that you care that where you push data uh like for your industrial controller or whatever and be a first class citizen on Ethereum. So that's the that's the big key. Okay. So this is how we bring uh everything uh together uh the the protocol ccentric view, the client, the UX uh the user uh centric view and verify locally the execution layer values and the consensus layer like consensus or decisions and you can verify that with a partial node. You could we could verify that with a partial node locally and make out of a a partial node not just not just uh verifiers but also protocol aware agents and state I'm done anyway [laughter] I'm close to finishing uh state uh supplying uh uh actors on Ethereum. So yeah, partially partial stfulness should not stop at EL. That's my proposal for today. This is the resources. Uh I included the links. So this is the research part, the first uh two parts. That's Carlos Perez's. It's his presentation, my presentation. Then the PR to uh to GU, which is a very interesting thing that they're doing. They're actually working on blocks access list uh DevNet 3 I think to actually run nodes now in a partially way on EL there's no there's no CL implementation or specification yet it's just my proposal my or my contribution to the to the subject and uh I also dropped the link for the VOPS it's Thomas research on his research thank you that's it &gt;&gt; woohoo Woo! [applause]
