Author: Michael Johnson

January 14th tl;dc (too long, didn’t call) Disclaimer: This is a digest of the topics discussed in the recurring Eth1.x research call, and doesn’t represent finalized plans or commitments to network upgrades. The main topics of this call were Rough data quantifying advantages of switching to a binary trie structureTransition strategies and potential challenges for a switch to binary tries”Merklizing” contract code for witnesses, and implications for gas scheduling/meteringChain pruning and historical chain/state data — network implications and approaches to distribution. Logistics The weekend following EthCC (March 7-8), there will be a small 1.x research summit, with the intent of…

Read More

I started to write a post that detailed a “roadmap” for Ethereum 1.x research and the path to stateless Ethereum, and realized that it’s not actually a roadmap at all —— at least not in the sense we’re used to seeing from something like a product or company. The 1.x team, although working toward a common goal, is an eclectic collection of developers and researchers independently tackling intricately related topics. Consequently, there is no “official” roadmap to speak of. It’s not complete chaos though! There is an understood “order of operations”; some things must happen before others, certain solutions are…

Read More

The try/catch syntax introduced in 0.6.0 is arguably the biggest leap in error handling capabilities in Solidity, since reason strings for revert and require were released in v0.4.22. Both try and catch have been reserved keywords since v0.5.9 and now we can use them to handle failures in external function calls without rolling back the complete transaction (state changes in the called function are still rolled back, but the ones in the calling function are not). We are moving one step away from the purist “all-or-nothing” approach in a transaction lifecycle, which falls short of practical behaviour we often want.…

Read More

Keep it coming tldr; Runtime Verification audit and verification of deposit contract Runtime Verification recently completed their audit and formal verification of the eth2 deposit contract bytecode. This is a significant milestone bringing us closer to the eth2 Phase 0 mainnet. Now that this work is complete, I ask for review and comment by the community. If there are gaps or errors in the formal specification, please post an issue on the eth2 specs repo. The formal semantics specified in the K Framework define the precise behaviors the EVM bytecode should exibit and proves that these behaviors hold. These include…

Read More

Special thanks to Sacha Yves Saint-Leger & Danny Ryan for review. In this installment, we’ll discuss the consensus mechanisms behind eth2. Eth2 has a novel approach to deciding which block is the head of the chain, along with which blocks are and are not a part of the chain. By using a hybrid between the two mechanisms, eth2 aims to have a consensus which, in addition to being rapid and safe when the network is behaving normally, remains safe even when it’s being attacked. A Trilemma FLP impossibility is a core result in the field of distributed computation which states…

Read More

February 26th tl;dc (too long, didn’t call) Disclaimer: This is a digest of the topics discussed in the recurring Eth1.x research call, and doesn’t represent finalized plans or commitments to network upgrades. The main topics of this call were: The rough plan for the 1.x research summit in Paris following EthCCThe Witness FormatThe ‘data retrieval problem’ Logistics The summit to discuss and collaborate on Stateless Ethereum is planned for the weekend following EthCC, which will be an indispensable time for working on the most important and unsolved problems for this effort. The schedule is not fixed yet, but a rough…

Read More

What Devcon is all about Now that we’re well into the new year, our Devcon team wanted to share some of our thinking on what’s to come for Devcon this year. With new goals driving this year’s effort, we’ve learned from successes and challenges in recent years, and we’ll provide some early details on what’s ahead. For those that are new to the Ethereum family, Devcon is the only annual gathering held by the Ethereum Foundation, and it dates back to a small meetup in Berlin (ÐΞVcon-0) about a year prior to the launch of the network. For some members…

Read More

The Stateless Ethereum Summit It’d be a fools errand to try and provide a representative or objective summary immediately following this week in Paris — I and everyone else whom were present shall be spending the coming weeks refining our takeaways, and adjusting for the year ahead. But for you, dear reader, who felt the Paris FOMO and have been eagerly awaiting an update, I will provide my personal and incomplete collection of high-level insights, decisions, and results of the first Stateless Ethereum Summit. What was it like? The summit was two days in duration, with a bare-minimum structure of…

Read More

Strange times. I hope you are all well and continue to take care of yourselves, your families, and your communities. We’re a bit overdue on a quick update. My apologies. I’ll keep them coming at a regular clip after this one. Eth2 is looking good — Phase 0 is stable, client teams are crushing it, and some promising research was published for our stateless future. tl;dr v0.11.0 post-audit release Spec version v0.11.0 — Lan party — was released last week. This release represents a “post-audit” Phase 0 spec, ready for long-standing multi-client testnets. It contains limited changes to the core…

Read More