What is data availability? Why is it important for blockchains? A ๐งต breaking it down ๐
Data availability (DA), much like ZK proofs, is an actively researched area. A lot of problems still need to be solved before implementation, and there are several potential solutions. I'll break down one solution: high dimension erasure code and Kate commitments.
It all stems from one question: how can nodes in a network verify that all of the data from a new block is available, and nothing is hidden or censored?
If the data isn't 100% available, a block producer can smuggle in malicious transactions or impact security.
How do we fix this?
Similar to torrents, the key is redundant data. Using a lot of fancy math, we can create use erasure coding to create fraud proofs, which prove to the node that the data is complete.
Here's an example of a block with DA implemented:
This has some issues still, including the fact light nodes can't currently handle the additional data, it increases computational overhead, creates state bloat, and it requires at least 1 honest node in the network for it to work properly.
This amplifies another problem: Storing more data means the chain gets larger, which is why we need state expiry and statelessness! If we want true scaling, we can't have a single transaction exist as data in perpetuity, as the growth would be unsustainable.
In my next thread, we'll go over statelessness and why it's important (and required) for scalable data availability.
If you want to dive even deeper on polynomial commitments as a potential DA solution:
I'm not worried about L2s filtering transactions at all because of one important feature L2s have vs sidechains: exit functionality. Regardless of censorship, users can exit trustlessly back to L1.
Let's talk some more EVM basics. ERC standardsโฆ what are they, and why are they important? What's the difference between an ERC-20 and ERC-721?
๐งต๐
One of the most important things is interoperability. In order to have a neutral base settlement layer, things must be able to work together easily. There are a lot of ERCs, but the most well-known ones are ERC-20 and ERC-721.
ERCs are application-level standards and conventions implemented into smart contracts.
Let's start 2022 off with the basics and dive into the Ethereum Virtual Machine (EVM), the current smart contract standard, and how it works. We'll also discuss how L2s open the door to a supercharged EVM!
๐งต๐
The ETH blockchain exists to run a state machine, the EVM. Let's break it down further, and discuss what a state machine is!
A state machine is any machine that takes inputs and provides outputs based on those inputs. Here's a diagram of a simple state machine:
yesterday i wrote about zk proofs which separate execution from validation and verification. so what are blockchains moving towards beyond L2s?
another ๐งต๐
after we solve zk rollups, development is far from done. there's one looming problem: data availability. when everything in the world is run on a blockchain, where/how do you store the transaction info while remaining decentralized?
there are a few projects tackling this, like @ethswarm and @CelestiaOrg, but research is even more bleeding-edge than ZKs are- i expect the narrative to shift to DA a few years from now.
all these zk terms... what do they mean? what's the big deal with zk proofs?
a quick ๐งตbreaking it down: ๐
zero knowledge (zk) cryptography is very new and an active field of research, but we're very close to having it ready for primetime with @zksync and @StarkWareLtd. let's discuss what this means for the future of ETH and blockchains in general
previously, blockchains have required all pieces of a transaction to be bundled together (verification, validation, and execution) which bottlenecks the whole process and makes it hard to scale while remaining decentralized