Skip to content

Commit

Permalink
deploy: 5337c00
Browse files Browse the repository at this point in the history
  • Loading branch information
tynes committed Jul 23, 2024
1 parent a69d84e commit ca24b67
Show file tree
Hide file tree
Showing 10 changed files with 30 additions and 20 deletions.
4 changes: 2 additions & 2 deletions fault-proof/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ <h2 id="overview"><a class="header" href="#overview">Overview</a></h2>
<p><img src="../static/assets/fault-proof.svg" alt="Diagram of Program and VM architecture" /></p>
<h2 id="pre-image-oracle"><a class="header" href="#pre-image-oracle">Pre-image Oracle</a></h2>
<p>The pre-image oracle is the only form of communication between
the <a href="#fault-proof-program">Program</a> (in the <a href="#client">Client</a> role) and the <a href="#fault-proof-vm">VM</a> (in the <a href="#server">Server</a> role).</p>
the <a href="#fault-proof-program">Program</a> (in the Client role) and the <a href="#fault-proof-vm">VM</a> (in the Server role).</p>
<p>The program uses the pre-image oracle to query any input data that is understood to be available to the user:</p>
<ul>
<li>The initial inputs to bootstrap the program. See <a href="#bootstrapping">Bootstrapping</a>.</li>
Expand Down Expand Up @@ -477,7 +477,7 @@ <h3 id="main-content"><a class="header" href="#main-content">Main content</a></h
</ul>
</li>
</ul>
<p>See <a href="#pre-image-routes">Pre-image routes</a> for specifications of the pre-image oracle backing of these data sources.</p>
<p>See <a href="#pre-image-hinting-routes">Pre-image routes</a> for specifications of the pre-image oracle backing of these data sources.</p>
<p>Using these data-sources, the derivation pipeline is processed till we hit one of two conditions:</p>
<ul>
<li><code>EOF</code>: when we run out of L1 data, the L2 chain will not change further, and the epilogue can start.</li>
Expand Down
4 changes: 2 additions & 2 deletions fault-proof/stage-one/bridge-integration.html
Original file line number Diff line number Diff line change
Expand Up @@ -360,7 +360,7 @@ <h4 id="new-invariants---finalizewithdrawaltransaction"><a class="header" href="
the dispute game that the withdrawal was proven against is present in the <code>disputeGameBlacklist</code> mapping, the call
should always revert.</p>
<p><strong>Dispute Game Maturity</strong>
See <a href="#Air-gap">"Air-gap"</a></p>
See <a href="#air-gap">"Air-gap"</a></p>
<h4 id="changed-invariants---finalizewithdrawaltransaction"><a class="header" href="#changed-invariants---finalizewithdrawaltransaction">Changed Invariants - <code>finalizeWithdrawalTransaction</code></a></h4>
<p><strong>Output Proposal Validity</strong>
Instead of checking if the proven withdrawal's output proposal has existed for longer the legacy finalization period,
Expand All @@ -375,7 +375,7 @@ <h3 id="air-gap"><a class="header" href="#air-gap">Air-gap</a></h3>
of the <code>DisputeGameFactory</code>, it is safe to trust that this value is honestly set.</p>
<h4 id="blacklisting-disputegames"><a class="header" href="#blacklisting-disputegames">Blacklisting <code>DisputeGame</code>s</a></h4>
<p>A new method is added to assign <code>DisputeGame</code>s in the <code>disputeGameBlacklist</code> mapping mentioned in
<a href="#State-Layout">"State Layout"</a>, in the event that a dispute game is detected to have resolved incorrectly. The only
<a href="#state-layout">"State Layout"</a>, in the event that a dispute game is detected to have resolved incorrectly. The only
actor who may call this function is the <code>Guardian</code> role.</p>
<p>Blacklisting a dispute game means that no withdrawals proven against it will be allowed to finalize
(per the "Dispute Game Blacklist" invariant), and they must re-prove against a new dispute game that resolves correctly.
Expand Down
6 changes: 5 additions & 1 deletion fault-proof/stage-one/fault-dispute-game.html
Original file line number Diff line number Diff line change
Expand Up @@ -629,7 +629,11 @@ <h3 id="resolution"><a class="header" href="#resolution">Resolution</a></h3>
-->
<!-- markdownlint-disable no-inline-html -->
<p align="center">
<img src="https://github.com/ethereum-optimism/optimism/assets/8406232/9b20ba8d-0b64-47b3-9962-5533f7eb4ef7" width=60%>
<img
src="https://github.com/ethereum-optimism/optimism/assets/8406232/9b20ba8d-0b64-47b3-9962-5533f7eb4ef7"
width=60%
alt="subgame resolution"
>
</p>
<p>Given these rules, players are motivated to move quickly to challenge all dishonest claims.
Each move bisects the historical state of L2 and eventually, <code>MAX_GAME_DEPTH</code> is reached where disputes
Expand Down
1 change: 1 addition & 0 deletions glossary.html
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,7 @@ <h1 class="menu-title">OP Stack Specification</h1>
<div id="content" class="content">
<main>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css">
<!-- markdownlint-disable MD053 -->
<h1 id="glossary"><a class="header" href="#glossary">Glossary</a></h1>
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
Expand Down
2 changes: 1 addition & 1 deletion interop/dependency_set.html
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ <h1 id="the-dependency-set"><a class="header" href="#the-dependency-set">The Dep
<p>The dependency set is configured on a per chain basis.</p>
<p>The chain id of the local chain MUST be considered as part of its own dependency set.</p>
<p>While the dependency set explicitly defines the set of chains that are depended on for incoming messages,
the full set of transitive dependencies must be known to allow for the progression of <a href="#safety">safety</a>.
the full set of transitive dependencies must be known to allow for the progression of safety.
This means that the <code>op-node</code> needs to be aware of all transitive dependencies.</p>
<h2 id="chain-id"><a class="header" href="#chain-id">Chain ID</a></h2>
<p>The concept of a chain id was introduced in <a href="https://eips.ethereum.org/EIPS/eip-155">EIP-155</a> to prevent
Expand Down
23 changes: 14 additions & 9 deletions print.html
Original file line number Diff line number Diff line change
Expand Up @@ -857,11 +857,11 @@ <h2 id="span-batch-format"><a class="header" href="#span-batch-format">Span batc
</ul>
<h3 id="span-batch-size-limits"><a class="header" href="#span-batch-size-limits">Span Batch Size Limits</a></h3>
<p>The total size of an encoded span batch is limited to <code>MAX_RLP_BYTES_PER_CHANNEL</code>, which is defined in the
<a href="protocol/delta/span-batches.html#protocol-parameters">Protocol Parameters table</a>.
<a href="protocol/delta/../derivation.html#protocol-parameters">Protocol Parameters table</a>.
This is done at the channel level rather than at the span batch level.</p>
<p>In addition to the byte limit, the number of blocks, and total transactions is limited to <code>MAX_SPAN_BATCH_ELEMENT_COUNT</code>.
This does imply that the max number of transactions per block is also <code>MAX_SPAN_BATCH_ELEMENT_COUNT</code>.
<code>MAX_SPAN_BATCH_ELEMENT_COUNT</code> is defined in <a href="protocol/delta/span-batches.html#protocol-parameters">Protocol Parameters table</a>.</p>
<code>MAX_SPAN_BATCH_ELEMENT_COUNT</code> is defined in <a href="protocol/delta/../derivation.html#protocol-parameters">Protocol Parameters table</a>.</p>
<h3 id="future-batch-format-extension"><a class="header" href="#future-batch-format-extension">Future batch-format extension</a></h3>
<p>This is an experimental extension of the span-batch format, and not activated with the Delta upgrade yet.</p>
<p>Introduce version <code>2</code> to the <a href="protocol/delta/../derivation.html#batch-format">batch-format</a> table:</p>
Expand Down Expand Up @@ -2824,7 +2824,7 @@ <h4 id="extended-payloadattributesv2"><a class="header" href="#extended-payloada
This field overrides the gas limit used during block-building.
If not specified as rollup, a <code>STATUS_INVALID</code> is returned.</p>
<h3 id="engine_forkchoiceupdatedv3"><a class="header" href="#engine_forkchoiceupdatedv3"><code>engine_forkchoiceUpdatedV3</code></a></h3>
<p>See <a href="protocol/exec-engine.html#engine_forkchoiceUpdatedV2"><code>engine_forkchoiceUpdatedV2</code></a> for a description of the forkchoice updated method.
<p>See <a href="protocol/exec-engine.html#engine_forkchoiceupdatedv2"><code>engine_forkchoiceUpdatedV2</code></a> for a description of the forkchoice updated method.
<code>engine_forkchoiceUpdatedV3</code> <strong>must only be called with Ecotone payload.</strong></p>
<p>To support rollup functionality, one backwards-compatible change is introduced
to <a href="https://github.com/ethereum/execution-apis/blob/cea7eeb642052f4c2e03449dc48296def4aafc24/src/engine/cancun.md#engine_forkchoiceupdatedv3"><code>engine_forkchoiceUpdatedV3</code></a>: the extended <code>PayloadAttributesV3</code></p>
Expand Down Expand Up @@ -4706,7 +4706,7 @@ <h2 id="overview-12"><a class="header" href="#overview-12">Overview</a></h2>
<p><img src="fault-proof/../static/assets/fault-proof.svg" alt="Diagram of Program and VM architecture" /></p>
<h2 id="pre-image-oracle"><a class="header" href="#pre-image-oracle">Pre-image Oracle</a></h2>
<p>The pre-image oracle is the only form of communication between
the <a href="fault-proof/index.html#fault-proof-program">Program</a> (in the <a href="fault-proof/index.html#client">Client</a> role) and the <a href="fault-proof/index.html#fault-proof-vm">VM</a> (in the <a href="fault-proof/index.html#server">Server</a> role).</p>
the <a href="fault-proof/index.html#fault-proof-program">Program</a> (in the Client role) and the <a href="fault-proof/index.html#fault-proof-vm">VM</a> (in the Server role).</p>
<p>The program uses the pre-image oracle to query any input data that is understood to be available to the user:</p>
<ul>
<li>The initial inputs to bootstrap the program. See <a href="fault-proof/index.html#bootstrapping">Bootstrapping</a>.</li>
Expand Down Expand Up @@ -4936,7 +4936,7 @@ <h3 id="main-content"><a class="header" href="#main-content">Main content</a></h
</ul>
</li>
</ul>
<p>See <a href="fault-proof/index.html#pre-image-routes">Pre-image routes</a> for specifications of the pre-image oracle backing of these data sources.</p>
<p>See <a href="fault-proof/index.html#pre-image-hinting-routes">Pre-image routes</a> for specifications of the pre-image oracle backing of these data sources.</p>
<p>Using these data-sources, the derivation pipeline is processed till we hit one of two conditions:</p>
<ul>
<li><code>EOF</code>: when we run out of L1 data, the L2 chain will not change further, and the epilogue can start.</li>
Expand Down Expand Up @@ -5981,7 +5981,11 @@ <h3 id="resolution"><a class="header" href="#resolution">Resolution</a></h3>
-->
<!-- markdownlint-disable no-inline-html -->
<p align="center">
<img src="https://github.com/ethereum-optimism/optimism/assets/8406232/9b20ba8d-0b64-47b3-9962-5533f7eb4ef7" width=60%>
<img
src="https://github.com/ethereum-optimism/optimism/assets/8406232/9b20ba8d-0b64-47b3-9962-5533f7eb4ef7"
width=60%
alt="subgame resolution"
>
</p>
<p>Given these rules, players are motivated to move quickly to challenge all dishonest claims.
Each move bisects the historical state of L2 and eventually, <code>MAX_GAME_DEPTH</code> is reached where disputes
Expand Down Expand Up @@ -6455,7 +6459,7 @@ <h4 id="new-invariants---finalizewithdrawaltransaction"><a class="header" href="
the dispute game that the withdrawal was proven against is present in the <code>disputeGameBlacklist</code> mapping, the call
should always revert.</p>
<p><strong>Dispute Game Maturity</strong>
See <a href="fault-proof/stage-one/bridge-integration.html#Air-gap">"Air-gap"</a></p>
See <a href="fault-proof/stage-one/bridge-integration.html#air-gap">"Air-gap"</a></p>
<h4 id="changed-invariants---finalizewithdrawaltransaction"><a class="header" href="#changed-invariants---finalizewithdrawaltransaction">Changed Invariants - <code>finalizeWithdrawalTransaction</code></a></h4>
<p><strong>Output Proposal Validity</strong>
Instead of checking if the proven withdrawal's output proposal has existed for longer the legacy finalization period,
Expand All @@ -6470,7 +6474,7 @@ <h3 id="air-gap"><a class="header" href="#air-gap">Air-gap</a></h3>
of the <code>DisputeGameFactory</code>, it is safe to trust that this value is honestly set.</p>
<h4 id="blacklisting-disputegames"><a class="header" href="#blacklisting-disputegames">Blacklisting <code>DisputeGame</code>s</a></h4>
<p>A new method is added to assign <code>DisputeGame</code>s in the <code>disputeGameBlacklist</code> mapping mentioned in
<a href="fault-proof/stage-one/bridge-integration.html#State-Layout">"State Layout"</a>, in the event that a dispute game is detected to have resolved incorrectly. The only
<a href="fault-proof/stage-one/bridge-integration.html#state-layout">"State Layout"</a>, in the event that a dispute game is detected to have resolved incorrectly. The only
actor who may call this function is the <code>Guardian</code> role.</p>
<p>Blacklisting a dispute game means that no withdrawals proven against it will be allowed to finalize
(per the "Dispute Game Blacklist" invariant), and they must re-prove against a new dispute game that resolves correctly.
Expand Down Expand Up @@ -8278,7 +8282,7 @@ <h1 id="the-dependency-set"><a class="header" href="#the-dependency-set">The Dep
<p>The dependency set is configured on a per chain basis.</p>
<p>The chain id of the local chain MUST be considered as part of its own dependency set.</p>
<p>While the dependency set explicitly defines the set of chains that are depended on for incoming messages,
the full set of transitive dependencies must be known to allow for the progression of <a href="interop/dependency_set.html#safety">safety</a>.
the full set of transitive dependencies must be known to allow for the progression of safety.
This means that the <code>op-node</code> needs to be aware of all transitive dependencies.</p>
<h2 id="chain-id"><a class="header" href="#chain-id">Chain ID</a></h2>
<p>The concept of a chain id was introduced in <a href="https://eips.ethereum.org/EIPS/eip-155">EIP-155</a> to prevent
Expand Down Expand Up @@ -9909,6 +9913,7 @@ <h3 id="upgradeability-abi-changes"><a class="header" href="#upgradeability-abi-
are supported. Therefore, if calling this contract from another contract, be
sure to account for future breaking changes to the ABI.</p>
<div style="break-before: page; page-break-before: always;"></div><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css">
<!-- markdownlint-disable MD053 -->
<h1 id="glossary"><a class="header" href="#glossary">Glossary</a></h1>
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
Expand Down
4 changes: 2 additions & 2 deletions protocol/delta/span-batches.html
Original file line number Diff line number Diff line change
Expand Up @@ -332,11 +332,11 @@ <h2 id="span-batch-format"><a class="header" href="#span-batch-format">Span batc
</ul>
<h3 id="span-batch-size-limits"><a class="header" href="#span-batch-size-limits">Span Batch Size Limits</a></h3>
<p>The total size of an encoded span batch is limited to <code>MAX_RLP_BYTES_PER_CHANNEL</code>, which is defined in the
<a href="#protocol-parameters">Protocol Parameters table</a>.
<a href="../derivation.html#protocol-parameters">Protocol Parameters table</a>.
This is done at the channel level rather than at the span batch level.</p>
<p>In addition to the byte limit, the number of blocks, and total transactions is limited to <code>MAX_SPAN_BATCH_ELEMENT_COUNT</code>.
This does imply that the max number of transactions per block is also <code>MAX_SPAN_BATCH_ELEMENT_COUNT</code>.
<code>MAX_SPAN_BATCH_ELEMENT_COUNT</code> is defined in <a href="#protocol-parameters">Protocol Parameters table</a>.</p>
<code>MAX_SPAN_BATCH_ELEMENT_COUNT</code> is defined in <a href="../derivation.html#protocol-parameters">Protocol Parameters table</a>.</p>
<h3 id="future-batch-format-extension"><a class="header" href="#future-batch-format-extension">Future batch-format extension</a></h3>
<p>This is an experimental extension of the span-batch format, and not activated with the Delta upgrade yet.</p>
<p>Introduce version <code>2</code> to the <a href="../derivation.html#batch-format">batch-format</a> table:</p>
Expand Down
2 changes: 1 addition & 1 deletion protocol/exec-engine.html
Original file line number Diff line number Diff line change
Expand Up @@ -428,7 +428,7 @@ <h4 id="extended-payloadattributesv2"><a class="header" href="#extended-payloada
This field overrides the gas limit used during block-building.
If not specified as rollup, a <code>STATUS_INVALID</code> is returned.</p>
<h3 id="engine_forkchoiceupdatedv3"><a class="header" href="#engine_forkchoiceupdatedv3"><code>engine_forkchoiceUpdatedV3</code></a></h3>
<p>See <a href="#engine_forkchoiceUpdatedV2"><code>engine_forkchoiceUpdatedV2</code></a> for a description of the forkchoice updated method.
<p>See <a href="#engine_forkchoiceupdatedv2"><code>engine_forkchoiceUpdatedV2</code></a> for a description of the forkchoice updated method.
<code>engine_forkchoiceUpdatedV3</code> <strong>must only be called with Ecotone payload.</strong></p>
<p>To support rollup functionality, one backwards-compatible change is introduced
to <a href="https://github.com/ethereum/execution-apis/blob/cea7eeb642052f4c2e03449dc48296def4aafc24/src/engine/cancun.md#engine_forkchoiceupdatedv3"><code>engine_forkchoiceUpdatedV3</code></a>: the extended <code>PayloadAttributesV3</code></p>
Expand Down
2 changes: 1 addition & 1 deletion searchindex.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion searchindex.json

Large diffs are not rendered by default.

0 comments on commit ca24b67

Please sign in to comment.