Doc by Proto, follow-up to Axel Argues About Interop Architecture Abstractions.

Status-quo

Currently we have 3 types of nodes:

Building a monolith?

A lot of data is exchanged here, and connections are set up both ways.

Axel wrote a document (link) sharing his thoughts of combining the above into a “super node”: all of these services have to run, to effectively fully verify the chain. And potentially we can embed some or all of this into one process.

But should we?

We’re not going to solve the CAP theorem (”Consistency/Availability/Partition-tolerance”, pick 2). It’s a trade-off, and we have to find something that works well enough.

So what are we optimizing for?

There is:

To me, this boils down to “should we build a monolith to save cost?”.

We still need to roll out upgrades, handle local failures, etc. without total chain downtime.

So I believe a monolith is obviously bad.

But we can do some things to improve. This doc suggests what we could do there.