Scalable blockchains as data layers
Prehistory: meta-protocols
Problems
ZK Rollup
From | To | Value | Fee | Nonce | Signature |
3 bytes | 3 bytes | 4 bytes | 1 byte | 2 bytes | 32-96 bytes |
root
0x5ac7,
50
0x1fbd,
20
0x358e,
70
0x8a64,
40
ZK Rollup
Taking rollup further
ZK ZK Rollup
Spend certs | New coin values | Fee | New hash |
h1: 32 bytes | o1.value: 4 bytes | 1 byte | 32 bytes |
h2: 32 bytes | o2.value: 4 bytes |
Only one hash required for N outputs because it’s the Merkle root of all the output coin hashes; the spend would need to provide the Merkle branch to the relayer
Beacon chain phase 1
Eth2 in eth1 light client
Authenticate validator set from state root in header
Verify signatures using older validator set to authenticate newer header
Other things you can do with scalable data availability engines
Speeding up cross-shard transactions
Root: R
5 coins to Bob
Alice: 10
Bob: 20
Charlie: 30
Alice: 10
Bob: (25 if R else 20)
Charlie: 30
Alice: 10
Bob: 25
Charlie: 30
General-purpose privacy
Benefits of the “layer 2 computation” paradigm