Skip to content

Commit 8d84814

Browse files
links mainly
1 parent 43b0cc9 commit 8d84814

File tree

10 files changed

+47
-50
lines changed

10 files changed

+47
-50
lines changed

docs/cdk/concepts/admin-upgradeability.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Admin upgradeability
22

3-
As L2s work through the [stages of training wheels](https://medium.com/l2beat/introducing-stages-a-framework-to-evaluate-rollups-maturity-d290bb22befe) to become fully decentralized, chains that opt in to the [AggLayer](../glossary.md/#agglayer-v1-al1) implement shared security mechanisms with other AggLayer chains including the [Polygon zkEVM](../../zkEVM/architecture/protocol/upgradability.md) to ensure the safety of users.
3+
As L2s work through the [stages of training wheels](https://medium.com/l2beat/introducing-stages-a-framework-to-evaluate-rollups-maturity-d290bb22befe) to become fully decentralized, chains that opt in to the [AggLayer](../glossary/index.md#agglayer-v1-al1) implement shared security mechanisms with other AggLayer chains including the [Polygon zkEVM](../../zkEVM/architecture/protocol/upgradability.md) to ensure the safety of users.
44

55
Chains opted into the AggLayer share the following upgradeability controls:
66

@@ -14,5 +14,5 @@ Chains opted into the AggLayer share the following upgradeability controls:
1414
- [zkEVM admin role and governance](../../zkEVM/architecture/protocol/admin-role.md).
1515
- [zkEVM upgrade process](../../zkEVM/architecture/protocol/upgrade-process.md).
1616
- [zkEVM security council](../../zkEVM/architecture/protocol/security-council.md).
17-
- [zkEVM emergency state](../../zkEVM/architecture/protocol/malfunction-resistance/.emergency-state.md).
17+
- [zkEVM emergency state](../../zkEVM/architecture/protocol/malfunction-resistance/emergency-state.md).
1818
- [L2Beat - Polygon zkEVM](https://l2beat.com/scaling/projects/polygonzkevm?selectedChart=activity).

docs/cdk/concepts/architecture.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# Architecture
22

3-
While each chain built with the CDK is unique, they all share a common high-level architecture. Before diving into the specifics of how [transactions](./transaction-lifecycle.md) are processed, it’s helpful to first understand the role of each component in the system.
3+
While each chain built with the CDK is unique, they all share a common high-level architecture. Before diving into the specifics of how [transactions](./transaction-lifecycle.md) are processed, it is helpful to first understand the role of each component in the system.
44

55
Below is the high-level architecture of a chain built with the CDK, showing how transactions sent by users are processed and finalized on the L1:
66

77
![CDK Architecture](../../img/cdk/architecture-overview.png)
88

99
## Users
1010

11-
Chains built with the CDK are EVM-compatible by default. Although the [type of ZK-EVM](https://docs.polygon.technology/cdk/architecture/type-1-prover/intro-t1-prover/#type-definitions) you choose to implement is customizable, CDK chains are designed to be compatible with existing Ethereum tools and libraries.
11+
Chains built with the CDK are EVM-compatible by default. Although the [type of ZK-EVM](../architecture/type-1-prover/intro-t1-prover.md/#type-definitions) you choose to implement is customizable, CDK chains are designed to be compatible with existing Ethereum tools and libraries.
1212

1313
This means both users and developers can use the same wallets (such as MetaMask) and libraries (such as Ethers.js) to interact with CDK-built chains as they do with Ethereum.
1414

@@ -27,18 +27,18 @@ In the background, the sequencer periodically creates batches of transactions an
2727

2828
## L1 smart contracts
2929

30-
Multiple smart contracts, deployed on the L1 (Ethereum), work together to finalize transactions received from the L2 on the L1. Typically there is a main “rollup” smart contract that is responsible for:
30+
Multiple smart contracts, deployed on the L1 (Ethereum), work together to finalize transactions received from the L2 on the L1. Typically there is a main *rollup* smart contract that is responsible for:
3131

32-
1. Receiving and storing batches of transactions from the L2 (depending on the design of the L2, it may not use Ethereum for [data availability](https://docs.polygon.technology/cdk/glossary/#data-availability)).
32+
1. Receiving and storing batches of transactions from the L2 (depending on the design of the L2, it may not use Ethereum for [data availability](../glossary/index.md#data-availability).
3333

3434
2. Receiving and verifying ZK-proofs from the aggregator to prove the validity of the transactions.
3535

3636
## Aggregator and prover
3737

3838
The aggregator is responsible for periodically reading batches of L2 transactions that have not been verified yet, and generating ZK-proofs for them to prove their validity.
3939

40-
To do this, the aggregator sends the batches of transactions to a **prover**. The prover generates ZK proofs and sends them back to the aggregator, which then posts the proof back to the L1 smart contract.
40+
To do this, the aggregator sends the batches of transactions to a prover. The prover generates ZK proofs and sends them back to the aggregator, which then posts the proof back to the L1 smart contract.
4141

4242
## Further reading
4343

44-
- [zkEVM architecture overview](https://docs.polygon.technology/zkEVM/architecture/high-level/overview/)
44+
- [zkEVM architecture overview](../../zkEVM/architecture/index.md)

docs/cdk/concepts/blocks.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Batches, blocks, and transactions
22

3-
The following concepts are key to understanding how transactions are handled on L2s built with the CDK:
3+
The following definition are key to understanding how transactions are handled on L2s built with the CDK:
44

5-
- Transaction: Signed instruction to perform an action on the blockchain.
5+
- Transaction: A signed instruction to perform an action on the blockchain.
66
- Block: A group of transactions and a hash of the previous block in the chain.
77
- Batch: A group of many transactions from multiple blocks.
88

@@ -16,15 +16,15 @@ A transaction is a cryptographically signed instruction from an account to updat
1616

1717
Transactions are included in blocks, and these blocks fill batches. Consider a Polygon zkEVM transaction as an example, [`0xdd`](https://zkevm.polygonscan.com/tx/0xdd3f79c24886310ddf868ad1d36aadc6a3b6495048f68aad765c658c42426ef8), which performs a `Simple Swap` function call, and is included in block number [`12952601`](https://zkevm.polygonscan.com/block/12952601) on the L2.
1818

19-
![Transaction with Block Number](../../img/cdk/transaction-block.png)
19+
![Transaction with block number](../../img/cdk/transaction-block.png)
2020

2121
## Block
2222

2323
To link blocks together, blocks contain multiple transactions as well as the hash of the previous block in the chain. Following the transaction example from above, the `0xdd` transaction is included in block [`12952601`](https://zkevm.polygonscan.com/block/12952601), which contains [2 transactions in total](https://zkevm.polygonscan.com/txs?block=12952601).
2424

2525
We can see this `0xdd` transaction is included in both a block and a batch, specifically, it is included in the block `12952601` and the batch `2041736`:
2626

27-
![Block and Batch](../../img/cdk/block-batch.png)
27+
![Block and batch](../../img/cdk/block-batch.png)
2828

2929
## Batch
3030

@@ -43,14 +43,14 @@ By inspecting the transactions in the batch, we can see:
4343

4444
![Transaction found inside batch](../../img/cdk/transaction-in-batch.png)
4545

46-
If the L2 is a [rollup](./layer2s.md) (meaning it uses Ethereum for it’s [data availability](https://docs.polygon.technology/cdk/glossary/#data-availability)), it sends an array of batches to Ethereum, by providing the array as an argument to the `sequenceBatches` function of a smart contract on Ethereum.
46+
If the L2 is a [rollup](./layer2s.md) (meaning it uses Ethereum for it’s [data availability](../glossary/index.md#data-availability), it sends an array of batches to Ethereum, by providing the array as an argument to the `sequenceBatches` function of a smart contract on Ethereum.
4747

4848
![Sequence Transaction](../../img/cdk/sequence-transaction.png)
4949

5050
By inspecting the `Sequence Tx Hash` transaction, we can see that the `sequenceBatches` function is called with the array of batches as an argument. One of these batches is the batch we have been following, `2041736`, which contains our original transaction example:
5151

52-
![Last Batch Sequenced](../../img/cdk/last-batch-sequenced.png)
52+
![Last batch sequenced](../../img/cdk/last-batch-sequenced.png)
5353

5454
## Further reading
5555

56-
- [Blocks in the zkEVM Etrog Upgrade](https://docs.polygon.technology/zkEVM/architecture/protocol/etrog-upgrade/?h=blocks#etrog-blocks)
56+
- [Blocks in the zkEVM Etrog upgrade](../../zkEVM/architecture/protocol/etrog-upgrade.md/?h=blocks#etrog-blocks).

docs/cdk/concepts/bridging.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,33 +2,34 @@
22

33
[Bridges](https://ethereum.org/en/developers/docs/bridges/) are a fundamental component of L2s that allow users to deposit and withdraw assets to and from your chain.
44

5-
CDK-built chains come with a built-in bridge service and customizable UI out of the box, with the option to have a standalone [LxLy bridge](#lxly-bridge) or alternatively opt-in to the AggLayer and use the [Unified Bridge](#unified-bridge) to enable cross-chain L2-to-L2 interoperability.
5+
CDK-built chains come with a built-in bridge service and customizable UI out of the box, with the option to have a standalone [LxLy bridge](#lxly-bridge) or alternatively opt-in to the AggLayer and use the [unified bridge](#unified-bridge) to enable cross-chain L2-to-L2 interoperability.
66

77
## LxLy bridge
88

99
The LxLy bridge contracts carry out deposit and withdrawal of assets between L2 and L1.
1010

11-
Chains looking to run their own bridge infrastructure can choose to deploy a new instance of the [LxLy bridge](https://docs.polygon.technology/zkEVM/architecture/protocol/unified-LxLy/lxly-bridge/) that allows users to move assets (both native and [ERC20](https://ethereum.org/en/developers/docs/standards/tokens/erc-20/) tokens) from L1 to the L2 and vice versa.
11+
Chains looking to run their own bridge infrastructure can choose to deploy a new instance of the [LxLy bridge](../../zkEVM/architecture/protocol/unified-LxLy/lxly-bridge.md) that allows users to move assets (both native and [ERC20](https://ethereum.org/en/developers/docs/standards/tokens/erc-20/) tokens) from L1 to the L2 and vice versa.
1212

13-
Deploying an individual instance of the LxLy means interoperability with other L2 chains via the [AggLayer](https://polygon.technology/blog/aggregated-blockchains-a-new-thesis) is not possible. To enable cross-chain interoperability (i.e. L2-to-L2 cross-chain transactions), chains can opt-in to the AggLayer and use the [Unified Bridge](#unified-bridge).
13+
Deploying an individual instance of the LxLy means interoperability with other L2 chains via the [AggLayer](../agglayer/overview.md) is not possible. To enable cross-chain interoperability (i.e. L2-to-L2 cross-chain transactions), chains can opt-in to the AggLayer and use the [unified bridge](../agglayer/unified-bridge.md).
1414

15-
This option is suited to chains that may want to customize how the bridge is managed and operated, or maintain control of the bridge’s funds; as the [upgradeability](./admin-upgradeability.md) of the bridge contracts are managed by the chain operator.
15+
This option is suited to chains that may want to customize how the bridge is managed and operated, or maintain control of the bridge's funds; as the [upgradeability](./admin-upgradeability.md) of the bridge contracts are managed by the chain operator.
1616

17-
![LxLy Bridge](../../img/cdk/lxly.png)
17+
![LxLy bridge](../../img/cdk/lxly.png)
1818

1919
## Unified bridge
2020

21-
A single, shared instance of the LxLy bridge, called the [unified bridge](https://docs.polygon.technology/cdk/architecture/staking-the-bridge/) is available to use for all CDK chains that opt-in to the AggLayer.
21+
A single, shared instance of the LxLy bridge, called the [unified bridge](../agglayer/unified-bridge.md) is available to use for all CDK chains that opt-in to the AggLayer.
2222

2323
It is a shared smart contract deployed on Ethereum, responsible for enabling interoperability between chains in the form of cross-chain transactions and L2-to-L2 transfers.
2424

25-
Chains that integrate with the Unified Bridge can benefit from the network effect of the AggLayer, as their chain can therefore access the users and liquidity of other chains that are also part of the AggLayer.
25+
Chains that integrate with the unified bridge can benefit from the network effect of the AggLayer, as their chain can therefore access the users and liquidity of other chains that are also part of the AggLayer.
2626

27-
This option is suited to chains that want a standard bridging experience and do not require customization of the bridge’s operation. The shared bridge is also not directly managed by the chain operator, instead, it shares the governance outlined in the [admin upgradeability](./admin-upgradeability.md) section.
27+
This option is suited to chains that want a standard bridging experience and do not require customization of the bridge's operation. The shared bridge is also not directly managed by the chain operator, instead, it shares the governance outlined in the [admin upgradeability](./admin-upgradeability.md) section.
2828

29-
![Unified Bridge](../../img/cdk/unified-bridge.png)
29+
![Unified bridge](../../img/cdk/unified-bridge.png)
3030

3131
## Further reading
3232

33-
- [Aggregated Blockchains: A New Thesis](https://polygon.technology/blog/aggregated-blockchains-a-new-thesis)
34-
- [Unified Bridge Overview](https://docs.polygon.technology/zkEVM/architecture/protocol/unified-LxLy/lxly-bridge/)
33+
- [Aggregated blockchains: A new thesis](https://polygon.technology/blog/aggregated-blockchains-a-new-thesis).
34+
- [LxLy bridge](../../zkEVM/architecture/protocol/unified-LxLy/lxly-bridge.md).
35+
- [Unified bridge Ooverview](../agglayer/unified-bridge.md).

docs/cdk/concepts/gas-fees.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ By default, gas fees on the L2 are determined by a combination of several factor
88

99
## Further reading
1010

11-
- [zkEVM gas fees documentation](https://docs.polygon.technology/zkEVM/architecture/effective-gas/)
11+
- [zkEVM gas fees documentation](../../zkEVM/architecture/effective-gas/index.md).

docs/cdk/concepts/layer2s.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,17 @@ Under the hood, L2s create "batches" of transactions, and periodically submit ma
88

99
Typically, L2s deploy smart contracts to Ethereum that handle the verification of these batches, ensuring that the transactions are valid. Since this verification process occurs on Ethereum, it is often said that L2s inherit the security of Ethereum.
1010

11-
![L2 Batching Overview](../../img/cdk/l2-overview-diagram.svg)
11+
![L2 batching overview](../../img/cdk/l2-overview-diagram.svg)
1212

1313
## Types of layer 2s
1414

1515
L2s come in different shapes and sizes in terms of their relationship with Ethereum: Each design decision comes with trade-offs in terms of security, scalability, or decentralization.
1616

17-
For example, some L2s, such as the [Polygon zkEVM](https://docs.polygon.technology/zkEVM/) send all transaction data to Ethereum, whereas other L2s only send information about the state differences, or choose not to send transaction data to Ethereum; instead relying on different data availability mechanisms.
17+
For example, some L2s, such as the [Polygon zkEVM](../../zkEVM/) send all transaction data to Ethereum, whereas other L2s only send information about the state differences, or choose not to send transaction data to Ethereum; instead relying on different data availability mechanisms.
1818

19-
Since storing information on Ethereum is expensive, (see [gas and fees](https://ethereum.org/en/developers/docs/gas/)), building an L2 chain means making tradeoffs between security, decentralization and scalability. The CDK provides developers with the tools to make these trade-offs and build a chain that meets their specific needs depending on their use case.
19+
Since storing information on Ethereum is expensive, (see [gas and fees](https://ethereum.org/en/developers/docs/gas/)), building an L2 chain means making tradeoffs between security, decentralization, and scalability. The CDK provides developers with the tools to make these trade-offs and build a chain that meets their specific needs depending on their use case.
2020

2121
## Further reading
2222

23-
- [Ethereum documentation: Layer 2s](https://ethereum.org/en/layer-2/)
24-
- [Ethereum documentation: Scaling](https://ethereum.org/en/developers/docs/scaling/)
23+
- [Ethereum documentation: Layer 2s](https://ethereum.org/en/layer-2/).
24+
- [Ethereum documentation: Scaling](https://ethereum.org/en/developers/docs/scaling/).

0 commit comments

Comments
 (0)