Skip to content

Commit 43526c6

Browse files
authored
Merge pull request 0xPolygon#2495 from mitchpolygon/main
v2 of addressing Arnau's comments from previous PR
2 parents c3f3864 + 1034e83 commit 43526c6

File tree

2 files changed

+26
-89
lines changed

2 files changed

+26
-89
lines changed
Lines changed: 26 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,51 @@
1-
<!-- # Pessimistic proofs (PP) -->
1+
Developers can use the CDK stack to build layer 2 chains that are natively connected to the AggLayer (**CDK sovereign chains**).
22

3-
Developers can use CDK to configure custom ZK-rollups by choosing which components should run the Polygon zkEVM protocol. We refer to these chains as CDK sovereign chains.
4-
5-
Developers can, for instance, configure their chains to use provers that are outside the Polygon zkEVM stack.
6-
7-
Specifically, instead of deploying a Polygon zkEVM prover, developers can configure their CDK sovereign chains to utilize Succinct's SP1 prover.
8-
9-
Since CDK sovereign chains are designed to easily connect to the AggLayer, they use a type of ZK-proof called a _pessimistic proof_ to reach finality of transactions.
3+
Out of the box, CDK sovereign chains are built to connect to the AggLayer, and so they rely on a type of ZK-proof called a _pessimistic proof_ to finalize transactions.
104

115
## What is a pessimistic proof?
126

13-
A *pessimistic proof* (PP) is a zero-knowledge proof attesting to the fact that a chain's bridge transitions were correctly executed and that all withdrawals are collateralized.
7+
A *pessimistic proof* (PP) is a zero-knowledge proof attesting to the correctness of a chains bridge transitions and the collateralization of all withdrawals.
148

15-
Therefore, pessimistic proofs enable CDK-built chains that interoperate via the [unified bridge](../../zkEVM/architecture/unified-LxLy/index.md) to achieve trustless cross-chain security.
9+
These proofs enable CDK sovereign chains that interoperate via the [unified bridge](../../zkEVM/architecture/unified-LxLy/index.md) to achieve trustless cross-chain security.
1610

17-
Pessimistic proofs allow CDK sovereign chains connected to the [AggLayer](../../agglayer/overview.md) interoperate securely.
11+
Pessimistic proofs ensure that CDK sovereign chains connected to the [AggLayer](../../agglayer/overview.md) interoperate securely, providing a robust mechanism for cross-chain interactions.
1812

19-
We henceforth refer to CDK sovereign chains as CDK PP chains.
13+
---
2014

21-
## CDK PP stack
15+
## CDK sovereign chain components
2216

23-
Next, we detail the architectural components of the CDK PP chains.
17+
The architectural components of CDK sovereign chains are detailed in the table below:
2418

25-
The table below lists the components of a CDK PP chain and where you can find them.
26-
27-
| Component | CDK PP stack | Notes |
19+
| Component | CDK Stack | Notes |
2820
| ------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
2921
| Node = RPC and sequencer | [cdk-erigon](https://github.com/0xPolygonHermez/cdk-erigon) | Customizable, commonly:<br/>\- Sequencer = 1 node<br/>\- RPC = multiple nodes |
30-
| Contracts | <a href=https://github.com/0xPolygonHermez/zkevm-contracts>zkevm-contracts</a> | |
22+
| Contracts | <a href=https://github.com/0xPolygonHermez/zkevm-contracts>zkevm-contracts</a> | Includes L1 contracts for functionality |
3123
| CLI | [cdk](https://github.com/0xPolygon/cdk) | Included in [CDK](https://github.com/0xPolygon/cdk) repo |
32-
| AggSender | <a href=https://github.com/0xPolygon/cdk>cdk</a> | Included in [CDK](https://github.com/0xPolygon/cdk) repo |
33-
| Tx pool manager | <a href=https://github.com/0xPolygon/zkevm-pool-manager> zkevm-pool-manager</a> | |
24+
| AggSender | <a href=https://github.com/0xPolygon/cdk>cdk</a> | A sub-component of the CDK client that sends certificates to the AggLayer node |
25+
| Tx pool manager | <a href=https://github.com/0xPolygon/zkevm-pool-manager>zkevm-pool-manager</a> | Manages transaction storage |
26+
27+
---
3428

3529
## Component descriptions
3630

37-
Here are brief descriptions for each CDK FEP component.
31+
Here are brief descriptions of the key CDK components:
3832

39-
- CDK Erigon node, a fork of [erigon](https://github.com/ledgerwatch/erigon), that manages the following:
40-
- Multiple RPC nodes that provide common APIs for sending transactions.
41-
- Sequencer for executing transactions, and creating blocks and batches.
42-
- Contracts: Various smart contracts deployed on L1 for the full implementation and complete functionality of the Polygon zkEVM protocol:
33+
- **CDK Erigon Node**: A fork of [Erigon](https://github.com/ledgerwatch/erigon), providing:
34+
- Multiple RPC nodes for transaction submission.
35+
- A sequencer for executing transactions, and creating blocks and batches.
36+
- **Contracts**: Smart contracts deployed on L1 to ensure full implementation and functionality:
4337
- `PolygonRollupManager`
4438
- `PolygonZkEVMBridgeV2`
4539
- `PolygonZkEVMGlobalExitRootV2`
4640
- `FflonkVerifier`
4741
- `PolygonZkEVMDeployer`
4842
- `PolygonZkEVMTimelock`
49-
- CLI tool: A single command line interface tool for abstracting away the complexity of deploying or configuring CDK components.
50-
- AggSender is the CDK PP component that accumulates all necessary info in order to generate certificates, which are sent to the SP1 prover via the JSON-RPC API for the generation of pessimistic proofs.
51-
- Transaction pool manager: For storing transactions submitted by users.
52-
53-
### AggLayer-side components
54-
55-
- Succinct's SP1 prover: A simplified cryptographic tool designed to take Rust-written inputs in order to generate ZK-proofs.
56-
57-
Unlike in the CDK FEP chain, the prover in a CDK PP chain is not directly connected to the chain. It in fact resides in the AggLayer.
58-
59-
- JSON-RPC API: A component provided by the AggLayer to interface between the CDK PP chain and the SP1 prover.
43+
- **CLI tool**: A command-line tool that simplifies deploying and configuring CDK components.
44+
- **AggSender**: A functionality within the CDK client that aggregates necessary data and sends certificates to the AggLayer node for proof generation. It works in conjunction with other sub-components, such as the bridge syncer.
45+
- **Transaction pool manager**: Handles storage of user-submitted transactions.
46+
- **Succinct's SP1 prover**: A cryptographic tool that generates ZK-proofs using Rust-based inputs. The prover resides in the AggLayer and is not directly connected to CDK sovereign chains.
47+
- **AggLayer node**: A critical component of the AggLayer that interfaces between CDK sovereign chains and the SP1 prover. It handles certificate validation and proof requests.
6048

61-
In reality, the AggSender sends certificates to the JSON-RPC API, which in turn requests the SP1 prover to generate ZK-proofs. On receipt of the ZK-proofs, it sends the ZK-proofs to L1.
49+
The AggSender within the CDK client communicates with the AggLayer node to facilitate proof generation and finalization of transactions.
6250

63-
See the high level view of the CDK PP chain architecture [here](../architecture/high-level-views.md)
51+
See the high level view of the architecture [here](../architecture/cdk-pp-highlevel-arch.md)

docs/cdk/releases/pp-intro.components.md

Lines changed: 0 additions & 51 deletions
This file was deleted.

0 commit comments

Comments
 (0)