Author: @Irene Data: January 2022

Problem

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?

Why it is interesting? / Applications / Motivations

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: