1/ Complexity in building a state sharded blockchain - insights on how things look before a mainnet launch.

We've managed to increase the speed of development during the last weeks. It's kinda fun testing the limits but also painful👇
2/ To start the next Battle of Nodes phase, all we need is (1) a feature complete code freeze and (2) robust stability against known attack vectors after each feature add.

💪So our team has been pulling 14-16 hour work days to integrate last features, and stabilize the network.
3/ Each feature integration means:

👨‍💻Idea -> specification -> peer review -> code pull request -> 2 peer reviews -> merged in test branch -> deployed for large scale testing -> bugs found -> bugs fix pull request -> 2 peer reviews -> internal hacking -> code merge main branch.
4/🏋️‍♂️There are 3 challenges we've been facing, which are almost solved now:

1 - Though we've reached good network stability in past releases, with each new feature we merged during the last days, stability got a reset.

This means new bugs, new testing, new fixes

Rinse & repeat.
5/

2 - Growing system complexity has become increasingly difficult to manage at this speed. Monster large codebase, multiple interdependencies, many features added in a short timeframe, tricky bugs emerging & isolating them taking longer than expected.
6a/

3 - Given the several layers of overlapping complexity, calculating precise time schedules for a release has become practically impossible. Hence our use of tentative heuristics.
6b/

... All we have is insane amounts of effort directed at these problems, bugs being solved & a rough estimate of next expected release, based on:

Number of features still being integrated * Days it takes on average to perform all tests & reach stability with new feature
7/ The good news is our solutions are already in sight👌

1 - Most features are already implemented, the last few are being processed right now.
2 - New tools for managing complexity will be put in place.
3 - Once features are integrated, predicting timeframes becomes 50% easier.
8/ Building a state sharded proof of stake architecture is hard. Doing it on an aggressive schedule is even harder.

This is why most projects have failed, and Ethereum will not be able to deliver any working solution in the next 2 years, despite what $ETH supporters tell you.
9/ 💡Complexity is high, but far from unsolvable. In fact, we are 98% done for Genesis.

The last 2% will be (1) finishing 1-2 features left and stabilizing via heavy testing, and (2) trial by fire via battle of nodes.
10/ I'm surprised no one is talking about this complexity, especially given how early and unstable the other state sharded architectures look in practice.

This might mean they're basically faking it, or maybe they're too far behind to have stumbled into this.
11/ It's useful to remember that the problem with state sharding has not been a theoretical one. We've published a full theoretical solution 2 years ago.

The problem has ALWAYS been in building a *working solution*.
12/ Perhaps the new moat for open source tech, equivalent to old patents, is the capacity to conquer complexity at high speed.

A high throughput, low latency, high security, low cost blockchain is not sufficient for the next wave of adoption, but without it it's an impossibility
13/ You might think you can get around the performance problem, but there's no shortcut. It will become an inevitable bottleneck.

Having the tech is a major achievement, but adoption is the name of the next game level.

For this, we have a new solution, to be unveiled soon 🔥
You can follow @beniaminmincu.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: