Author: @Irene Data: January 2022
How can nodes with a partial view of a blockchain (eg, “light clients” downloading only the block header) be sure that when a new block is produced, all of the data (ie, transactions) in that block was actually published to the network?
Solving the data availability problem is need for enabling fraud proofs (needed in different scalability solutions such as shards and optimistic rollups)
”If a block producer doesn’t release all of the data in a block, no one could detect if there is a malicious transaction hidden within that block and produce the corresponding fraud proof”
and more in general in any application that uses a blockchain as a data layer (eg, celestia/LazyLedger).
“Reducing the problem of validating the blockchain to simply verifying that the contents of the block are available”.
A Proof of Data Availability is an interactive protocol among light clients and full nodes.
NETWORK ASSUMPTIONS: