My Authors
Read all threads
1/ To design a web-speed blockchain computer:

—That can scale without bound
— Is efficient enough for mass market usage

You must observe a key design principle:

Your network protocol suite must separate key blockchain concerns, such as mediating participation, and consensus...
2/ Bitcoin was the first blockchain design, so naturally it tightly coupled concerns

For example, Proof-of-Work hashing must create "Sybil resistance" that mediates participation by making it costly *and* generate random numbers to drive consensus by selecting block proposals...
3/ At a Stanford Security Seminar, a long time ago, I proposed “Puzzle Tower” cryptography, which transformed Proof-of-Work into a membership scheme to obtain:

(i) Stronger Sybil resistance
(ii) Anon identities for faster consensus

Bitcoin cannot be so easily reworked.

But...
4/ For me, this affirmed the power of decoupling concerns:

—If Proof-of-Work only has to mediate miner participation (Sybil resistance), security can be increased

—If consensus only need form agreement, and dedicated crypto generates randomness, consensus can be vastly faster…
5/ Separation of concerns is the most obvious principle at work in the design of the Internet Computer blockchain.

Its ICP protocol has four main layers: Execution, Message Routing, Consensus and P2P.

Consensus is broken into three further layers...
6/ Consensus layers 1-3:

L1. Threshold Relay efficiently produces a sequence of unmanipulable random numbers


L2. Probabilistic Slot Consensus creates a blockchain using the perfect randomness

L3. Asynchronous Negative Attestation Finalization anoints permanent blocks...
7/ Meanwhile, consensus is decoupled from updating on-chain state:

First "Consensus" produces a globally consistent final ordering of messages

Only then are messages (e.g function calls) applied to update state

Hence on-chain state doesn't fork, avoiding the cost of rewinds...
8/ Sybil resistance is decoupled thus:

—The participation of network nodes is controlled by a dedicated system (the NNS)

—Which means fixed rewards can be disbursed to standard node machines in return for compute power the network can repurpose for users, instead hashing…
9/ Of course, separating concerns is nothing new in networking. Both the TCP/IP and the OSI stacks have rigorously layered architectures

But the need for scalable, fast and more efficient blockchains, behoves architects to take separation of concerns principles to the next level
Missing some Tweet in this thread? You can try to force a refresh.

Keep Current with Dominic Williams

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!