Typefully

Danksharding

Avatar

Share

 • 

3 years ago

 • 

View on X

(1/30) @ethereum Roadmap: Danksharding From A to KZG, a comprehensive guide to the post-Merge roadmap of the World Computer: - Proto-Danksharding (EIP-4844) - Proposer-Builder Separation (PBS) - Danksharding A megathread deep-dive on decentralized scalability.
(2/30) @ethereum is the World Computer, a single, globally shared computing platform that exists in the space between a network of 1,000s of computers (nodes). These nodes are real computers in the real world, communicating directly from peer to peer. twitter.com/SalomonCrypto/status/1566078593150492675
(3/30) As of mid-September, @ethereum has switched its consensus mechanism from Proof of Work to Proof of Stake (PoS). Tl;dr node operators stake $ETH to gain the role of validator, earning $ETH and securing Ethereum. If the operator acts maliciously, he forfeits his stake. twitter.com/SalomonCrypto/status/1579594609855934465
(4/30) At the end of the day, real computers need to run the @ethereum software. And so, the World Computer is limited by the min requirements it sets for nodes. Our primary goal: credible neutrality through decentralization. If we lose $ETH decentralization, we lose everything. twitter.com/SalomonCrypto/status/1559920665477595137
(5/30) Enter the Scalability Trilemma. The classic framing goes "A blockchain can only have two of these three properties: scalability, security and decentralization." But @VitalikButerin, @dankrad and the gigabrains of @ethereum just reject the framing.
(6/30) @ethereum PoS delivers incredible security, both through direct economic implications and through the defensive mechanisms built into PoS. And Ethereum is decentralization maxi; full nodes can run in your girlfriend's closet, taking ~1 hr/month (based on experience).
(7/30) Scalability is where things get interesting. After years of research, @ethereum has solved the execution problem: move it off-chain! Tl;dr Rollups are independent, high performance blockchains that settle to Ethereum. twitter.com/SalomonCrypto/status/1569461980821606403
(8/30) Settlement is a loaded word that gets thrown around a lot, so let's make this simple. Settlement refers to the ultimate source of ownership. When things go wrong, the place you go to get your stuff. Rollups compute off-chain and then post a record on to @ethereum.
(9/30) Today, we're still in the infancy of rollup technology and even still we're seeing execution time and cost drop orders of magnitude. But rollups only address the execution problem. In fact, as they scale they will create enormous amounts of data. twitter.com/SalomonCrypto/status/1571524423639007232
(10/30) If we were to stop here, the World Computer would still be the most secure, fastest smart contract platform on the planet... but the cost of posting data might be too expensive for anything but the highest value financial txns. Fortunately, we are not going to stop here.
(11/30) < NOTE > The subjects beyond this tweet are the active development-part of the @ethereum roadmap. Implementations WILL change. Details WILL change. I am confident that some of this is already out of data. We do, however, know A LOT about what's coming... < /NOTE >
(12/30) Rollup development will continue and even accelerate, but this activity will be increasingly taken up by private companies. The @ethereum core devs will focus on data scalability through a 3 part plan: 1) Proto-Danksharding (EIP-4844) 2) Enshrined PBS 3) Danksharding twitter.com/SalomonCrypto/status/1559402384526258176
(13/30) The first step - Proto-Danksharding - does a lot of the preparation for Danksharding. Interestingly, Proto-Danksharding is named after people (@protolambda & @dankrad), but it works descriptively. The most important thing to understand about Proto-Danksharding is blobs.
(14/30) Today, we post data to the blockchain by passing it into a smart contract through the "calldata" field. This is a field that is intended for code and other data to be passed into the EVM. Therefore, Rollups post their receipts INTO the EVM. But... do they need to?
(15/30) Let's consider a (hypothetical) ZK-rollup. The rollup bundles txns, creates a ZK-proof (ensuring the batch is valid and final) and posts it on-chain. Once on-chain, the EVM never needs to access this data. The important thing is just that it is publicly available. twitter.com/SalomonCrypto/status/1569335078844772353
(16/30) This is the idea behind blobs: huge amounts of data (think 10x the size of blocks), unaccessible to the EVM, that are MUCH cheaper than the old way (calldata). Blobs will get their own independent gas market; the supply/demand of execution gas will not affect data gas.
(17/30) Proto-Danksharding introduces blobs (including the independent gas market) to @ethereum via a new transaction type. Post EIP-4844, proposers will be able to attach a single blob to the blockchain. A single blob that every node will have to download.
(18/30) The transition from Proto-Danksharding to Danksharding involves two important changes: - available blobs per block will increase from 1 to 64 (as of now) - blob data will be distributed across the network, so that no single node needs to download them all
(19/30) This increase from 1 to 64 blocks is massive, both in terms of network data capacity but also in terms of the computational power needed to build them. A @ethereum node with minimum specs couldn't realistically keep up with a professional operation.
(20/30) Fortunately, we already have a solution for these types of problems: protocol enshrined Proposer-Builder Separation (PBS). The concept was born out MEV research but maps perfectly to our problem. We simply separate the action of building and proposing a block. twitter.com/SalomonCrypto/status/1570557757190983680
(21/30) With PBS, node min spec remains low, we get the benefits of centralized performance and we maintain decentralization. Builders will create blocks/blobs, bidding for inclusion. And, of course, nodes will always be able to be built solo (they just wont earn optimal fees).
(22/30) PBS gives us the ability to propose our blobs, but we still need to address our biggest problem: how can we achieve 100% data availability without forcing any nodes to download 100% of the data. Well, we'll just distribute it across the P2P network! twitter.com/SalomonCrypto/status/1585042835459387392
(23/30) More detail above, but here's what's important: each node will download just a small data sample from each blob. Upon request, the network will be able to quickly/efficiently reconstruct a blob. We've just got one final question: how can we securely sample the data?
(24/30) If you've made it this far, you've found the nugget of gold at the center, the true magic: KZG Polynomial Commitments. TL;DR KZG Commitments use elliptic curve cryptography to commit to the data in VERY useful way. twitter.com/SalomonCrypto/status/1583705993300492288
(25/30) Underneath some intimidating (but doable, try the thread above) math, KZG commitments are simple: 1) commitment is made to specific data 2) a node can "open" the commitment at any point 3) the prover sends the data and a proof of validity 4) the node verifies the proof
(26/30) It's creating the KZG commitments and proofs for 64 blobs in a single slot timeframe (12 sec) that is particularly intense and will require a centralized actor. But, again, a node can do all of this itself. It just (probably) wont be able to fill all the blob spaces.
(27/30) Now look, at the end of the day we are putting a HUGE amount of data onto @ethereum. The P2P design is cute, but eventually this will catch up to us. The solution is blob expiry. After ~a month, nodes will be allowed to delete the samples they have collected.
(28/30) The nature of @ethereum will change; instead of a permeant database, think public notice board. ~1 month for archive nodes, @etherscan and others to grab everything for perpetuity. But don't worry... the KZG commitment will always be available on-chain to verify data.
(29/30) Finally, Danksharding will require upgrades to @ethereum consensus and the network. Again, Proto-Danksharding does a lot of this work. The actual Danksharding upgrade is much more about the implementation of KZG commitments, P2P storage and other non-consensus changes. twitter.com/SalomonCrypto/status/1585298274478542848
(30/30) The road from today to Danksharding is long, winding and largely unknown. In fact, it will definitely change, but we know the landmarks to search for: - Proto-Danksharding (EIP-4844) - PBS - Danksharding Just keep paying attention, things are happening quickly!
Avatar

Logarithmic Rex

@LogarithmicRex