Data Availability Sampling is a major breakthrough in blockchain scaling, but many struggle to understand it.
Don't worry, it's actually pretty simple. You can think of it like tossing a coin ๐งต๐
Imagine I have two coins, one that always lands on heads and one that has lands 50/50 on heads or tails.
I give you one of the two coins. How do you figure out which coin I gave you?
Simple. You just flip the coin multiple times.
If the coin is heads-only, it will always land heads.
If the coin is 50/50 then with each toss, it only has a 50% chance of landing heads.
So each time you toss the coin and it lands heads, you gain 50% more confidence that it's the heads-only coin.
Repeat the process 20 times and you will have 99.9999% confidence.
This is how Data Availability Sampling works.
There are two types of blocks: data available & data unavailable blocks (heads-only and 50/50 coins).
The block producer gives you a block and - for your security - you need to know which it is!
How do you do it? By sampling that block multiple times (tossing the coin).
With each successful sample (the coin lands heads) you gain 50% more confidence that you have the available block.
You repeat this until you have 99.99% confidence the block is available.
Why is this such a big breakthrough in blockchain scalability?
Well bigger blocks means more throughput, however it also means more data for nodes to download.
Typically to make sure a block is available, you have to download the entire thing.
Data Availability Sampling allows you to make sure that a block is available by only downloading a few tiny samples of it
If you have a 4MB block and you need 20 samples of 1kB each, then you only need to download ~.5% of the total block to be 99.9999% sure it's available.
That's a 200x improvement.
And it only becomes more efficient as blocks get bigger.
This is one of the core technologies we're building @CelestiaOrg and a fundamental piece of the modular blockchain stack.
To learn more I recommend checking out our Learn Modular page celestia.org/learn
& stay tuned for more explainer threads from me ๐ค