Brewing The Espresso Hardfork

Yaz Khoury
The Celo Blog
Published in
3 min readFeb 11, 2022

--

An Overview of the Changes Coming to the Celo Protocol

The Celo Core Community is excited to announce that Celo’s second Hardfork, called Espresso, will be activated on March 8, 2022.

Espresso has been — wait for it — brewed to bridge the gap between Celo and the Ethereum protocol code base. Although initially scheduled to be activated on February 8, more time was needed to overcome the challenge of merging nearly 100k lines of code and fixing the memory leak issue discovered in v1.5.0 of the celo-blockchain client. The delay in upgrading to v1.5.2 is a testament to the amount of pressure needed to brew the Espresso Hardfork.

What’s In the Espresso Hardfork?

At a high level, the Espresso Hardfork makes Celo fully compatible with the latest upgrades to the Ethereum network, including the addition of the Berlin and London Hardforks, and several EIPs. The changes made to the Celo protocol are great for dapp developers looking to migrate or deploy their contracts to Celo. Additionally, the changes will allow awesome dapps such as Orchid and Superfluid to work on Celo after Espresso activation. This is very exciting, as they’ll enable decentralized VPN services as well as streaming payments!

To learn more about what a Hardfork is and how it works, please review Dissecting the Donut Hardfork, our blog post about the activation of Donut in May 2021.

The Technical Details

The following is an overview of changes included in Espresso that come straight from the Berlin and London Hardforks.

Berlin Hardfork Changes

Berlin EIPs added to Celo include Typed Transaction Envelopes (EIP-2718), which allow for a format to specify future typed transactions on the network; Optional Access Lists (EIP-2930) for Typed Transactions, making it easier and more affordable to access them; EIP-2929, which we modified in CIP-48; and EIP-2565, with changes to gas costs for state access.

London Hardfork Changes

London EIPs added to Celo include EIP-1559, which changes the transaction fee market and improves how transactions are included in the block. Some modifications to 1559 in CIP-42 were also made.

Other additions include EIP-3529 and EIP-3541, which enable better development practices to maintain network health and optimization improvements.

Celo-Specific Changes

CIP-43 for Block Context improves read-only access to on-chain information by referring to the previous block for information. CIP-47 brings improvements to Celo’s IBFT consensus mechanism, adding 5-second timeouts in between validators proposing blocks. Finally, CIP-50, with the Optional Replay Protection, allows for dapps like Orchid and Superfluid to deploy on Celo.

Node Operators

Validators and node operators (e.g. exchanges, dapps, or businesses providing RPC endpoints) must begin upgrading to Espresso immediately. The version to upgrade to is version 1.5.2 for the celo-blockchain client, which is detailed in this Celo Forum post. Failure to do so will result in your node or validator not syncing with the network after the Hardfork, which means validators will lose rewards and exchanges will not receive the latest block information for their operations.

The engineering team will coordinate with the entire Celo ecosystem to ensure a smooth upgrade.

Join the Core Community In Celebration

The Core Community will host a live-streamed Hardfork Watch Party on March 8, 2022, at 11:15am PST, roughly one hour before Espresso activates at 12:15pm PST. All are welcome to listen in, ask questions, and celebrate the Espresso Hardfork with the Celo community. In the meantime, see what you can expect by watching last year’s Donut Hardfork Watch Party on YouTube.

To get weekly updates on the Espresso Hardfork activation and all Core Community activities, sign up for the Celo Signal mailing list. To learn all about the Espresso Hardfork and read the technical specifications, review the Meta CIP.

--

--