The 1.x Files: The State(lessness) of the Union

The next Stateless Ethereum research call is coming up in less than a week! The telegram chat now has hundreds of messages to catch up on, and only a small portion of the topics discussed have made it into the ethresearch forums. This post is just a quick primer and general update; we’ll re-cap most issues under discussion currently, and set the stage for call #4 as well as the 1.x researcher’s summit following EthCC. This post assumes a higher-than-average... [Read More]

Validated, staking on eth2: #2 - Two ghosts in a trench coat

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... [Read More]

eth2 quick update no. 8

Keep it coming tldr; Audit and formal verification of deposit contract bytecode completed by Runtime Verification The word of the month is “optimization” Ongoing Phase 2 research driven by Quilt and eWASM. Welcome TXRX to the table Whiteblock releases gossipsub testing results Stacked spring! Conferences, hackathons, bounties, and more [Read More]

Solidity 0.6.x features: try/catch statement

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... [Read More]

The 1.x Files: The Stateless Ethereum Tech Tree

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... [Read More]

eth2 quick update no. 7

Welcome to the first eth2 quick update of 2020! This is going to be an exciting year. tldr; Release of v0.10.0 spec as stable target for multi-client testnets and security reviews @paulhauner and @sigp_io team hard at work building Lighthouse Relaunch of Prysm testnet, now with aggregators and mainnet configuration A new proposal for an expedited merging of eth1+eth2 (aka Phase 1.5) [Read More]

Validated, staking on eth2: #1 - Incentives

Thanks to Joseph Schweitzer and Danny Ryan for review. Welcome back! Having discussed eth2’s design philosophy last time, today’s focus is on eth2’s incentives through the lens of that philosophy. More specifically, we look at the incentives effecting eth2 and how they are realised in the form of rewards, penalties, and slashings. We then walk through how and why validators are incentivised to remain online, why you won’t be slashed for going offline, and more. Let’s dig in. [Read More]

Update on the Vyper Compiler

The idea behind the Vyper Project was to develop something that was designed at the language level to naturally exhibit a high degree of safety. The project was originally authored by Vitalik as a proof-of-concept replacement for Serpent, its predecessor, but shortly after its creation Vyper found itself without a dedicated maintainer. Luckily, there were enthusiastic community members that took up the torch and continued development of the project, and we (the EF Python Team) became re-involved in the project... [Read More]