Dan Boneh on Blockchain Primitives

Dan Boneh is a professor in applied cryptography and computer security at Stanford University.

Blockchain can be seen in four layers.

Layer 1: Consensus layer

Layer 1.5: Compute layer (Blockchain Computer)

Layer 2: Applications (Solidity, Move, Motoko)

Layer 3: User Interface (eg: web3)

He termed it as layer 1 and layer 1.5 because often they are combined but he likes to separate them because there is a consensus issue and computing issue.

Layer 1: Consensus Layer (Informal)

A public data structure (ledger) that provides:

Persistence: Once added, data can never be removed. * exception: 51% attack*

Consensus: All honest  participants  have the same data *may not be applicable for the last few blocks added to the blockchain*

Liveness: honest participants can add new transactions

Open(?): anyone can be a participant ( no authentication) *except permissioned blockchains*

Similar technology existed before – State Machine Replication studied since the 1980s: Google, Amazon all have a lot of servers so they need to ensure the state is consistent across all servers. Also, there should be a known number of servers, and all are authorized.

Difference between state machine replication and the open consensus is that anyone can write new data to the blockchain (bo authentication, unknown #)

Satoshi Nakomoto found a way to bypass the lower bound using proof-of-work.

How are blocks added to the chain?

So there are miners and participants. Each participant possesses a secret key which signifies ownership. They use these keys to sign transactions. Then they send them to miners and the consensus protocol chooses a random leader in this group of miners who orders the transactions into blocks and these blocks get posted into the blockchain. The miners then get paid in native currency and the other miners also verify the transaction if it’s valid.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s