← Back to Blog
Erigon ClientR&DOrgMay 30, 2023

Merging Erigon 3 and Erigon 4, and possibly Caplin

By Alexey Akhunov·1 min read

Erigon's development team explains their decision to consolidate Erigon 3 and Erigon 4 into a single non-backwards-compatible upgrade, and the possibility of including Caplin in that same release.

Erigon 3 and Erigon 4 were to roll out as two separate non-backwards-compatible upgrades. We changed our mind about that and decided to bundle them together.

R&D Phases

For context, here is how Erigon structures its R&D work. Each feature goes through four phases:

  • Prototype: This is an initial implementation, with proof that the feature is feasible, typically a single developer effort.
  • Integration: Connecting prototype code to Erigon's main codebase.
  • Stabilisation: Achieving predictable performance and getting rid of all known edge cases.
  • Expansion: Supporting all compatible networks and chains.

Rationale for Merging

Originally, Erigon 3 and Erigon 4 were to roll out as two separate non-backwards-compatible upgrades. Each of these would require node operators to bootstrap their nodes from scratch (or from a snapshot). We have decided to bundle them together. Here are the benefits of doing so:

  1. Collaboration. Prior to the decision, there was 1 team member working on Erigon 3 integration and another team member working on Erigon 4 prototype. Now they can collaborate better.
  2. Reduction of importance of intermediate constructs, like state reconstitution and scratch-space database transactions.
  3. Erigon 4 delivery is likely to be faster, even though Erigon 3 delivery will be slower.

Caplin

Caplin integration phase will also require a change of the data model. Therefore, we are considering to include Caplin into this unified Erigon 3/4 upgrade, consolidating most of the remainder of the technological roadmap into a single non-backwards-compatible update. No final decision has been made yet.