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:
- 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.
- Reduction of importance of intermediate constructs, like state reconstitution and scratch-space database transactions.
- 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.