This proposal introduces a Data Availability Assurance System designed for blockchain networks. The system ensures that data stored by a special committee of nodes remains accessible and verifiable. It leverages a token-based stake mechanism, challenge-response protocol, erasure coding with inclusion proofs, and a decentralized storage network (Swarm) to maintain data integrity and availability. Swarm is specifically architected to safeguard against data withholding and denial-of-service (DoS) attacks, ensuring a reliable and efficient blockchain data ecosystem.
The system's cornerstone is the on-chain (L1) insurance commitment:
Data Availability Committee (Insurer Nodes)
Nodes stake tokens and make an on-chain commitment for each dataset, ensuring data integrity and availability.
Challenge-Response Protocol
Leverages Swarm and L1 transactions for data verification and retrieval.
Consensus over Swarm Hash
The system ensures data integrity if there is node consensus over the swarm hash of the dataset. Erasure coding and inclusion proofs allows reconstruction of the full dataset from partial data and ensures data authenticity through cryptographic evidence, even from non-commitee members.
Data Availability
To prove in L1 that the dataset has reached and has been uploaded into Swarm nodes, and therefore it is available, an additional zk-proof is required. That proof must include the merkle tree from data chunks (swarm hash) and the corresponding postage stamps of the dataset.
The zk-proof circuit will need to include operations for verifying the association of the given swarm hash with the specific postage stamp, and it has sufficient balance to cover the cost of storing the data.
The members of the DAC (insurers) are responsible for verifying these proofs before posting the commitment to L1.
Economic Incentives
Steps of the journey to verify the availability of a particular transaction, guaranteeing that the transaction data published by the sequencer is indeed the sequence of transaction that was executed in the rollup:
An alternative would be to also include the transaction hashes in the on-chain commitment transaction and have this hash array signed by the insurer. Thus, the cost of creating the commitment would be increased by the cost of including this data, hashing this data and a fixed overhead for including and verifying the signature.
or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Syncing