Haym Profile picture
Oct 27 31 tweets 12 min read
(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.
(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.
(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.
(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.
(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.
(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
(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.
(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.
(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!
(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.
(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.
(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!
Like what you read? Help me spread the word by retweeting the thread (linked below).

Follow me for more explainers and as much alpha as I can possibly serve.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Haym

Haym 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!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @SalomonCrypto

Oct 26
(1/25) @ethereum Roadmap: [Potential Danksharding] Consensus Updates

Today, Ethereum is not scalable, but there is a clear path from "a big blockchain" to The World Computer, and let me tell you... it is DANK.

Let's talk about the changes we need to make to consensus. Image
(2/25) @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.
(3/25) As of mid-September 2022, @ethereum has switched its consensus mechanism to Proof of Stake (PoS).

Tl;dr node operators stake $ETH in order to gain the role of validator, earn rewards and secure Ethereum. This stake can be deducted from in cases of malicious behavior.
Read 26 tweets
Oct 25
(1/24) @Ethereum Roadmap: Peer-to-Peer Networking

In order to achieve the vision of the World Computer, Ethereum needs more data bandwidth. But more bandwidth = higher node requirements = centralization. So what's the path forward?

Let's look into the future of the P2P network.
(2/24) @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.
(3/24) Today, the World Computer is... just ok. Execution is expensive and there isn't that much storage space. Yes, you can do (almost) anything, it's just going to be expensive and slow.

The solution: rollups. Independent blockchains that use @ethereum as a settlement layer.
Read 25 tweets
Oct 24
(1/21) The World Computer of tomorrow is a rollup-centric @ethereum. But rollups produce data, lots and lots of data. How can we scale a growing network without growing bandwidth?

We've talked about randomly sampled committees, now it's time to talk Data Availability Sampling. Image
(2/21)
< NOTE >

If you've already read my post on Randomly Sampled Committees, the following introduction is copy/pasted. If you've seen this part, skip to tweet 10.

< /NOTE >
(3/21) @ethereum has been charting a course towards a rollup-centric future for ~2 years now.

Tl;dr Ethereum will scale by offloading execution to performance-optimized blockchains, while settlement and economic security will remain with mainnet.

ethereum-magicians.org/t/a-rollup-cen…
Read 22 tweets
Oct 24
(1/17) The World Computer of tomorrow is a rollup-centric @ethereum. But rollups produce data, lots and lots of data. How can we scale a growing network without growing bandwidth?

We are going to need a couple solutions, let's start with Randomly Sampled Committees.
(2/17) @ethereum has been charting a course towards a rollup-centric future for ~2 years now.

Tl;dr Ethereum will scale by offloading execution to performance-optimized blockchains, while settlement and economic security will remain with mainnet.

ethereum-magicians.org/t/a-rollup-cen…
(3/17) The rollup-centric paradigm is based around quickly and cheaply executing transactions in a more centralized environment, and then posting a (compressed) record back to @ethereum.

In the rollup-centric future, it becomes critical to ensure that data is available.
Read 18 tweets
Oct 23
(1/19) Cryptography Basics: Polynomial Erasure Codes

Moving data across the internet is difficult; assuming you trust all the intermediate parties, you still have vicious network conditions. How can you ensure your data stays clean?

A lesson in pratical cryptography.
(2/19) Encoding is the process of mapping one set of symbols (usually human readable, like letters/words) to another (usually machine readable, like numbers/math).

One purpose of encoding is to translate data, another is to provide additional functionality.
(3/19) Polynomial encoding is a specific type of encoding that packages arbitrary data into a mathematical function know as a polynomial.

Tl;dr the dataset and the polynomial convey the same underlying data, albeit expressed as a function (as opposed to a list of data points)
Read 20 tweets
Oct 22
(1/24) KZG Polynomial Commitments: The Complete Guide

Our goal: 1) prove we are committed to a specific set of data and 2) allow others to verify specific points within that dataset.

Want to see some mathematical magic? This megathread is for you!
(2/24) Elliptic curve cryptography and KZG polynomial commitments are HARD. This thread aims to give you a high level understanding of how KZG commitments work, while the linked threads go MUCH deeper.

Just remember: pink border = summary, blue border = details
(3/24) Before we get to KZG, let's first cover the basics: polynomial commitments.

First, take your dataset and break it into discrete chunks. Then, plot them on a graph and draw a line through those point. Now derive the formula for that line.
Read 25 tweets

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/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

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

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(