Skip to content

Commit 45c088f

Browse files
Merge pull request 0xPolygon#141 from 0xPolygon/km/cdk-data-page
CDK architecture section with specific DAC flow
2 parents 187ce48 + e33596d commit 45c088f

File tree

3 files changed

+39
-39
lines changed

3 files changed

+39
-39
lines changed

docs/cdk/architecture/dac.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
## Data availability committee (DAC)
2+
3+
Polygon's CDK validium has an optional DAC.
4+
5+
A DAC is an off-chain network of nodes that implements a data storage layer in a modular chain architecture like CDK. Some advantages are:
6+
7+
- **Lower transaction fees**: Reduced computational requirements lead to lower fees and faster finality on the main network.
8+
- **Privacy and security**: The DAC stores secure and private transaction data.
9+
- **Trustless**: Data owners do not have to trust the blockchain operator.
10+
- **Scalable**: Decoupling data storage from the main chain supports more scalable networks.
11+
12+
DACs store the data required to reconstruct the state of the blockchain and make that data accessible so that, if the main blockchain network goes down, users can still access their assets and data.
13+
14+
Setting up a DAC can be costly and therefore DACs mostly support Enterprise use cases which require cheap and fast transactions with a private and secure data layer.
15+
16+
The CDK validium DAC is a secure consortium of nodes that ensures off-chain data access.
17+
18+
## CDK validium DAC data flow
19+
20+
![CDK validium data availability dataflow](../../img/cdk/cdk-val-dac-02.png)
21+
22+
The DAC works together with the sequencer to control the flow of data. The process can be broken down as follows:
23+
24+
1. **Batch formation**: The sequencer collects user transactions and organizes them into batches.
25+
26+
2. **Batch authentication**: Once the batches are assembled, they are authenticated. The sequencer forwards the batch data and its corresponding hash to the DAC.
27+
28+
3. **Data validation and storage**: The DAC nodes independently validate the batch data. Once validated, the hash is stored in each node's local database for future reference.
29+
30+
4. **Signature generation**: Each DAC node generates a signature for the batch hash. This serves as an endorsement of the batch's integrity and authenticity.
31+
32+
5. **Communication with Ethereum**: The sequencer collects the DAC members' signatures and the original batch hash and submits them to the Ethereum network for verification.
33+
34+
6. **Verification on Ethereum**: A designated smart contract on Ethereum verifies the submitted signatures against a list of valid DAC members and confirms that sufficient approval has been provided for the batch hash.
35+
36+
7. **Final settlement with zero-knowledge proof**: The aggregator prepares a proof for the batch via the prover and submits it to Ethereum. This proof confirms the validity of the batch's transactions without revealing their details. The chain state updates on Ethereum.

docs/cdk/concepts/dac.md

Lines changed: 1 addition & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -3,41 +3,4 @@ Data availability in blockchain technology refers to whether or not transaction
33
If data is available on-chain, then each node has to store every piece of data related to every transaction. This can be costly for node operators as hardware and storage requirements are high. Moving data off-chain streamlines node architecture and operations.
44

55
!!! info "Recommended resource"
6-
See [Ethereum.org's discussion on data availability](https://ethereum.org/en/developers/docs/data-availability/).
7-
8-
## Data availability committee (DAC)
9-
10-
Polygon's CDK validium has an optional DAC.
11-
12-
A DAC is an off-chain network of nodes that implements a data storage layer in a modular chain architecture like CDK. Some advantages are:
13-
14-
- **Lower transaction fees**: Reduced computational requirements lead to lower fees and faster finality on the main network.
15-
- **Privacy and security**: The DAC stores secure and private transaction data.
16-
- **Trustless**: Data owners do not have to trust the blockchain operator.
17-
- **Scalable**: Decoupling data storage from the main chain supports more scalable networks.
18-
19-
DACs store the data required to reconstruct the state of the blockchain and make that data accessible so that, if the main blockchain network goes down, users can still access their assets and data.
20-
21-
Setting up a DAC can be costly and therefore DACs mostly support Enterprise use cases which require cheap and fast transactions with a private and secure data layer.
22-
23-
The CDK validium DAC is a secure consortium of nodes that ensures off-chain data access.
24-
25-
## DAC data flow
26-
27-
![CDK validium data availability dataflow](../../img/cdk/cdk-val-dac-02.png)
28-
29-
The DAC works together with the sequencer to control the flow of data. The process can be broken down as follows:
30-
31-
1. **Batch formation**: The sequencer collects user transactions and organizes them into batches.
32-
33-
2. **Batch authentication**: Once the batches are assembled, they are authenticated. The sequencer forwards the batch data and its corresponding hash to the DAC.
34-
35-
3. **Data validation and storage**: The DAC nodes independently validate the batch data. Once validated, the hash is stored in each node's local database for future reference.
36-
37-
4. **Signature generation**: Each DAC node generates a signature for the batch hash. This serves as an endorsement of the batch's integrity and authenticity.
38-
39-
5. **Communication with Ethereum**: The sequencer collects the DAC members' signatures and the original batch hash and submits them to the Ethereum network for verification.
40-
41-
6. **Verification on Ethereum**: A designated smart contract on Ethereum verifies the submitted signatures against a list of valid DAC members and confirms that sufficient approval has been provided for the batch hash.
42-
43-
7. **Final settlement with zero-knowledge proof**: The aggregator prepares a proof for the batch via the prover and submits it to Ethereum. This proof confirms the validity of the batch's transactions without revealing their details. The chain state updates on Ethereum.
6+
See [Ethereum.org's discussion on data availability](https://ethereum.org/en/developers/docs/data-availability/).

mkdocs.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ nav:
5252
- Rollup: cdk/get-started/deploy-rollup.md
5353
- How to:
5454
- Manage policies: cdk/how-to/manage-policies.md
55-
#- Architecture:
55+
- Architecture:
56+
- DAC: cdk/architecture/dac.md
5657
- Specification:
5758
- Validium vs rollup: cdk/spec/validium-vs-rollup.md
5859
- Concepts:

0 commit comments

Comments
 (0)