diff --git a/docs/static/assets/attack.png b/docs/static/assets/attack.png new file mode 100644 index 000000000..9857ecdbc Binary files /dev/null and b/docs/static/assets/attack.png differ diff --git a/docs/static/assets/batch-deriv-chain.svg b/docs/static/assets/batch-deriv-chain.svg new file mode 100644 index 000000000..52426d0bc --- /dev/null +++ b/docs/static/assets/batch-deriv-chain.svg @@ -0,0 +1,839 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
100
+
+
+
100 +
+
+ + + + + + + +
+
+
102
+
+
+
102 +
+
+ + + + + + + +
+
+
101
+
+
+
101 +
+
+ + + + + + + +
+
+
3
+
+
+
3 +
+
+ + + + + + + +
+
+
4
+
+
+
4 +
+
+ + + + + + + +
+
+
5
+
+
+
5 +
+
+ + + + + + + +
+
+
6
+
+
+
6 +
+
+ + + + + + + +
+
+
7
+
+
+
7 +
+
+ + + + + + + +
+
+
8
+
+
+
8 +
+
+ + + + + + + + + + +
+
+
Compressed & encoded batch data
+
+
+
Compressed & encoded batch data +
+
+ + + + + +
+
+
A0
+
+
+
A0 +
+
+ + + + +
+
+
B0
+
+
+
B0 +
+
+ + + + +
+
+
B1
+
+
+
B1 +
+
+ + + + + + + + +
+
+
9
+
+
+
9 +
+
+ + + + + + + +
+
+
10
+
+
+
10 +
+
+ + + + + + + +
+
+
11
+
+
+
11 +
+
+ + + + + + + + + + + + +
+
+
A1
+
+
+
A1 +
+
+ + + + +
+
+
B2
+
+
+
B2 +
+
+ + + + + + + + + + + + + + + + + +
+
+
L1 Transactions,
~128 KB each
+
+
+
L1 Transactions,... +
+
+ + + + +
+
+
Channels,
with timeout
+
+
+
Channels,... +
+
+ + + + +
+
+
Batches,
1 batch = 1 L2 block tx list
+
+
+
Batches,... +
+
+ + + + +
+
+
L2 Blocks
(a.k.a. execution payloads)
+
+
+
L2 Blocks... +
+
+ + + + +
+
+
Channel A, Frame 0
+
+
+
Channel A, Frame 0 +
+
+ + + + +
+
+
Channel A, Frame 1
+
+
+
Channel A, Frame 1 +
+
+ + + + +
+
+
Channel B,
Frame 0
+
+
+
Channel B,... +
+
+ + + + +
+
+
Channel B, Frame 1
+
+
+
Channel B, Frame 1 +
+
+ + + + +
+
+
Channel B, Frame 2
+
+
+
Channel B, Frame 2 +
+
+ + + + +
+
+
Channel C, etc...
+
+
+
Channel C, etc... +
+
+ + + + +
+
+
L1 Blocks,
These may not be as
frequent/consistent
as L2 blocks.
+
+
+
L1 Blocks,... +
+
+ + + + +
+
+
Actual inclusion on L1:
channels are valid
within a timeout
+
+
+
Actual inclusion on L1:... +
+
+ + + + +
+
+
Channel B was seen first,
and will be decoded into batches first.
+
+
+
Channel B was seen first,... +
+
+ + + + + + + + + + + + + +
+
+
Batches can be buffered
for up to a full sequencing window
worth of L1 blocks
to get the L2 ordering back.
+
+
+
Batches can be buffered... +
+
+ + + + +
+
+
Time
+
+
+
Time +
+
+ + + + + +
+
+
older L2 data
+
+
+
older L2 data +
+
+ + + + +
+
+
B1
+
+
+
B1 +
+
+ + + + +
+
+
B0
+
+
+
B0 +
+
+ + + + +
+
+
A1
+
+
+
A1 +
+
+ + + + + +
+
+
B2
+
+
+
B2 +
+
+ + + + +
+
+
A0
+
+
+
A0 +
+
+ + + + +
+
+
100-0
+
+
+
100-0 +
+
+ + + + +
+
+
100-1
+
+
+
100-1 +
+
+ + + + +
+
+
100-2
+
+
+
100-2 +
+
+ + + + +
+
+
100-3
+
+
+
100-3 +
+
+ + + + +
+
+
100-4
+
+
+
100-4 +
+
+ + + + +
+
+
101-0
+
+
+
101-0 +
+
+ + + + +
+
+
99-5
+
+
+
99-5 +
+
+ + + + +
+
+
99-4
+
+
+
99-4 +
+
+ + + + +
+
+
99-3
+
+
+
99-3 +
+
+ + + + +
+
+
99-2
+
+
+
99-2 +
+
+ + + + + + + +
+
+
99
+
+
+
99 +
+
+ + + + +
+
+
Each L2 block has a tx with info
about the "origin" L1 block
+
+
+
Each L2 block has a tx with info... +
+
+ + + + +
+
+
The "sequence number"
helps differentiate between
L2 blocks with the same origin.
+
+
+
The "sequence number"... +
+
+ + + + +
+
+
deposit
+
+
+
deposit +
+
+ + + + +
+
+
deposit
+
+
+
deposit +
+
+ + + + +
+
+
Deposits are L1 log events,
parsed from EVM receipts
+
+
+
Deposits are L1 log events,... +
+
+ + + + +
+
+
deposit
+
+
+
deposit +
+
+ + + + +
+
+
deposit
+
+
+
deposit +
+
+ + + + +
+
+
Deposits get included
the first L2 block that
adopts the L1 origin the
deposits were made in.
+
+
+
Deposits get included... +
+
+ + + + +
+
+
Security types on L2:
- "unsafe": not submitted on L1
- "safe": is confirmed on L1
- "finalized": fully derived from finalized L1 data
+
+
+
Security types on L2:... +
+
+ + + + +
+
+
Security types on L1:
- "unsafe": very new
- "safe": decent attestation ratio
- "finalized": with FFG finality gadget
+
+
+
Security types on L1:... +
+
+
+ + Text is not SVG - cannot display + +
diff --git a/docs/static/assets/defend.png b/docs/static/assets/defend.png new file mode 100644 index 000000000..9909ed4ec Binary files /dev/null and b/docs/static/assets/defend.png differ diff --git a/docs/static/assets/fault-proof.svg b/docs/static/assets/fault-proof.svg new file mode 100644 index 000000000..51a998145 --- /dev/null +++ b/docs/static/assets/fault-proof.svg @@ -0,0 +1,4 @@ + + + +
L2 Oracle
L2 Oracle
L2 Engine API
L2 Engine API
L2 OracleEngine
L2 OracleEngine
OracleBackedL2Chain
OracleBackedL2Chain
L2 pre-image
fetcher
L2 pre-image...
Main configuration: chain and rollup configs
Main configuration:...
Preimage KV Store
Preimage KV Store
L1 OracleEthClient
L1 OracleEthClient
prologue:
dispute and
L1 lookup
prologue:...
Pre-image Oracle
Client
Pre-image Oracle...
L1 Oracle
L1 Oracle
epilogue:
output root construction
& claim check
epilogue:...
Program Client:
- stateless
- no temp errors
- no environment access
- onchain
Program Client:...
Program Host / VM:
- stateful
- pre-image store on disk
- offchain
Program Host / VM:...
execution trace
execution trace
Pre-image Hint
Writer
Pre-image Hint...
derivation loop
derivation loop
Pre-image Hint
Reader
Pre-image Hint...
Pre-image Oracle
Server
Pre-image Oracle...
Program tools:
- pre-image fetching
- retry on fetch errors
Program tools:...
L1 pre-image
fetcher
L1 pre-image...
Pre-image hint router
Pre-image hint router
No-op when onchain / readonly
No-op when onchain / readon...
Text is not SVG - cannot display
\ No newline at end of file diff --git a/docs/static/assets/legacy-l2oo-list.png b/docs/static/assets/legacy-l2oo-list.png new file mode 100644 index 000000000..0c18608a9 Binary files /dev/null and b/docs/static/assets/legacy-l2oo-list.png differ diff --git a/docs/static/assets/ob-tree.png b/docs/static/assets/ob-tree.png new file mode 100644 index 000000000..05317f63c Binary files /dev/null and b/docs/static/assets/ob-tree.png differ diff --git a/docs/static/assets/valid-moves.png b/docs/static/assets/valid-moves.png new file mode 100644 index 000000000..da9d43465 Binary files /dev/null and b/docs/static/assets/valid-moves.png differ