Merging Erigon 3 and Erigon 4, and possibly Caplin

Merging Erigon 3 and Erigon 4, and possibly Caplin


We had mentioned before that there are currently three big features in Erigon’s technological roadmap: Erigon 3, Erigon 4, and Caplin. As we tried to formalise the roadmap further, we have split each of these three features into R&D phases:

  • Prototype (proof of concept) – initial implementation, possibly with sub-standard performance and not integrated with Erigon, but answering most obvious questions about feasibility of design. Usually developed by a single person based on approximate design.
  • Integration – connecting the prototype code to the code of Erigon, giving other people apart from the prototype developer, ability to exercise the prototype.
  • Stabilisation – achieving good predictable experience with the feature, gradual elimination of thorny edge-cases.
  • Expansion – making the feature work for all supported networks/chains.

Our initial plan regarding Erigon 3 and Erigon 4 was to roll them out as two separate non-backwards-compatible upgrades. These upgrades would require node operators to bootstrap their nodes from scratch, in a similar way to how upgrade from Erigon 1 to Erigon 2 was performed.

However, couple of months ago, looking at the progress of Erigon 3 and Erigon 4 development, when Erigon 3 was quite well into the integration phase, and Erigon 4 was just coming out of the Prototype phase, we decided to bundle them up into one single upgrade. That way, we are hoping to gain these benefits:

  • Collaboration. Prior to the decision, there was 1 team member working on Erigon 3 integration and another team member – on Erigon 4 prototype. Combining two projects would lead to these two team members working together – something we would like to encourage.
  • Reduction of the importance of some intermediate constructs, like state reconstitution and scratch-space db transactions.
  • Even though the delivery of Erigon 3 will be delayed as a result, it is likely that the delivery of Erigon 4 will come sooner.

Caplin integration phase will also require a change of the data model, and it may be that this will also merged into the Erigon 3/4 upgrade, though decision on this has not been reached. If it does happen, however, then the remainder of the Erigon technological roadmap will be delivered in a single non-backwards-compatible upgrade.

original post: