You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: basic/28-optimism-layer2/README.md
+9-11
Original file line number
Diff line number
Diff line change
@@ -15,19 +15,16 @@ The name "Opmistic Rollup" comes from the characteristics of the solution itself
15
15
16
16
Bedrock is the next major release of the Optimism network, planned for the first quarter of 2023 (subject to approval by Optimism governance). It will further reduce the differences between Optimism and L1 Ethereum.
17
17
18
-
### Pre-Bedrock (before Q1 2023)
18
+
##Contracts
19
19
20
-
All Optimism blocks are stored within a special smart contract on Ethereum called the CanonicalTransactionChain (or CTC for short). Optimism blocks are held within an append-only list inside of the CTC. This append-only list forms the Optimism blockchain.
20
+
### System Overview
21
21
22
-
The CanonicalTransactionChain includes code that guarantees that the existing list of blocks cannot be modified by new Ethereum transactions. However, this guarantee can be broken if the Ethereum blockchain itself is reorganized and the ordering of past Ethereum transactions is changed. The Optimism mainnet is configured to be robust against block reorganizations of up to 50 Ethereum blocks. If Ethereum experiences a reorg larger than this, Optimism will reorg as well.
22
+
The smart contracts in the Optimism protocol can be separated into a few key components.
23
23
24
-
Of course, it's a key security goal of Ethereum to not experience these sort of significant block reorganizations. Optimism is therefore secure against large block reorganizations as long as the Ethereum consensus mechanism is too. It's through this relationship (in part, at least) that Optimism derives its security properties from Ethereum.
25
-
26
-
### Bedrock (Q1 2023)
27
-
28
-
In Bedrock L2 blocks are saved to the Ethereum blockchain using a non-contract address (0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0001 (opens new window)), to minimize the L1 gas expense. As these blocks are submitted as transaction calldata on Ethereum, there is no way to modify or censor them after the "transaction" is included in a block that has enough attestations. This is the way that Optimism inherits the availability and integrity guarantees of Ethereum.
29
-
30
-
Blocks are written to L1 in a compressed format (opens new window)to reduce costs. This is important because writing to L1 is the major cost of Optimism transactions.
24
+
-**[Chain:](#chain-contracts)** Contracts on layer-1, which hold the ordering of layer-2 transactions, and commitments to the associated layer-2 state roots.
25
+
-**[Verification:](#verification)** Contracts on layer-1 which implement the process for challenging a transaction result.
26
+
-**[Bridge:](#bridge-contracts)** Contracts which facilitate message passing between layer-1 and layer-2.
27
+
-**[Predeploys:](#predeployed-contracts)** A set of essential contracts which are deployed and available in the genesis state of the system. These contracts are similar to Ethereum's precompiles, however they are written in Solidity, and can be found at addresses prefixed with 0x42.
31
28
32
29
## Test steps
33
30
@@ -85,7 +82,8 @@ npx hardhat run scripts/withdraw-eth.js --network optimism
0 commit comments