The Stateless Ethereum Summit
It would be a foolish task to try to provide a representative or objective summary immediately After this week in Paris – I and everyone who attended will spend the coming weeks refining our takeaways and adjusting for the year ahead.
But for you, dear reader, who felt the Paris FOMO and was eagerly waiting for an update, I will provide my personal and incomplete collection of high-level ideas, decisions and results from the first Stateless Ethereum Summit.
How was it?
The summit lasted two days, with a minimal structure consisting of first a large group to discuss broad or important topics, then two or three simultaneous discussions. With around 30 participants total, the group sizes were just about perfect to allow for both deep dives and easy Q&A. It was also of course an opportunity to put faces to usernames, and connect in a more human way with the whole group.
I think that for most participants (including myself), the main outcome of the summit was an “upgrade” in our understanding of the problems that need to be solved and the solutions proposed. The handful of people who led this initiative (Piper, Alexey and their teams) had the opportunity to give us all a good old whiteboard to catch up and ask any little questions we had. I’m afraid to ask questions in a forum post.
I highlight this because one of the main goals of this meeting was to more clearly present both the opportunities and challenges of the work at hand. The more clearly the work can be articulated to all interested people, the easier it will be to join and contribute to the effort. I would say that in this respect the summit has already been a resounding success and we have “hooked” some people who had until now stayed away.
What was discussed?
Well, everything, really. With only one pair of ears, I heard most of the topics in the technology tree being discussed in context, and as noted in the previous section, this summit was really about coming together to agree on a simple common vision for Stateless Ethereum. What is the main problem we are solving? What is a reasonable first step to take? Is it worth studying a zero-knowledge system for historical witnesses?
Here are what I think are the main topics:
- Synchronizing primitives
- The transition to binary sorting
- EVM
- Data delivery in the stateless paradigm
- The witness specification project
Alexey wisely commented that the aim of this summit was to do whatever was necessary could not be accomplished on the Internet and to save things that can be done online when we are remote again. One thing that works much better in person than online is disagreement and relatively quick decision-making on complex issues. So, in addition to the general recap and knowledge sharing on the main topics of discussion, emphasis was placed on using the time to present arguments for or against the decisions that need to be made, such as what to work on in first, or what new tools are needed before work can begin. Most importantly, this summit was an opportunity to narrow and better define the scope of this work, and to build a collective sense of what success looks like from multiple perspectives.
What was decided? What’s new?
Again, and I cannot stress this enough: this is just my personal overview of how the summit went. I haven’t even reviewed my notes and recordings yet. But these are my takeaways, in no particular order. These are all new ideas from the weekend discussion that will affect things going forward.
-
Sync, and more precisely the primitive getNodeData This is the key element that must change to move forward in this quest for stateless people. This is something that needs to be fixed before the transition to binary trie can take place, and it will require coordination across all client teams. Felix from the Geth team led a very productive discussion on synchronization, and it became clear and encouraging that most of the alternative synchronization proposals seem to approach the same thing from different angles. Fixing and improving synchronization will also allow for a smoother transition to a binary trie.
-
While previously it was thought that a good transition strategy to a binary trie would require a momentary shutdown of the chain and a recalculation of a new binary state, the new thinking is that the transition can be accomplished without network disruption with a sufficient customer coordination. .
-
Plans and ideas surrounding the creation of a full-fledged Ethereum-specific data transmission network for the state were more or less dashed by a combination of new ideas. The first is that more experienced people stepped in to explain how difficult it would be to build something like this. The second is that such a network can be built incrementally from timing improvements, and that a much simpler version (that only serves headers, transactions, and receipts, for example) would provide value immediate and could be upgraded later.
-
The EVM changes are the most complex, and there has been no clear decision or resolution as to which EVM changes will need to be made for stateless compatibility. The problem here is that most of the proposals under consideration more than is strictly necessary for stateless persons, and it is a matter of weighing the value/complexity/effort of these additional improvements. I guess it’s worth noting that some gas operations are expected to become more expensive no matter what, but nothing has really been determined regarding EVM, and we won’t be able to know which is the best solution until that we will not have more data. .
-
WE NEED TO BUILD ADDITIONAL TOWERS — This is a cheesy way of saying that some of the work ahead is about making the work itself more productive and fruitful. This meta-work comes in two versions: tools that will facilitate data collection and analysis, and resources to help others contribute more effectively, such as stateless-specific documentation for new researchers joining the group. That said, I think there is still significant disagreement over How much the work should be devoted in the short term to the creation of tools and the most necessary tools. Over the next few weeks, we will be revising the tech tree and beautifying it into something more representative of the initiative that Stateless Ethereum has become. This will serve both to help the community keep track of everything and to help interested newcomers contribute more effectively.
As always, if you have any questions, requests for new topics, or would like to participate in research on stateless Ethereum, come introduce yourself at ethresear.ch and/or contact @gichiba or @JHancock on Twitter.