-
Notifications
You must be signed in to change notification settings - Fork 2
Add public integration and trust model docs #181
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
17 commits
Select commit
Hold shift + click to select a range
0640ad1
Add public integration and trust model docs
odyslam bf0504a
Add public interface overview and integration guidance
odyslam a1a17cb
Add public interface references in dapp and contracts docs
odyslam 03dcd01
Add evaluation checklist and public expectations
odyslam 77ba04f
Expand integration requirements and FAQ guidance
odyslam c0e5a26
Reorder architecture docs for user flow
odyslam d80dd8b
Group architecture docs into subcategories
odyslam db5785f
Fix public doc terminology and ownership claims
odyslam 2623abd
Refine public terminology and reorganize getting started
odyslam fb98d6b
Add Linea/Besu integration overview
odyslam 82b8360
Address PR feedback on integration docs
odyslam 063e056
Refresh OP Stack diagram colors
odyslam 7c75578
Align diagram colors and polish public guidance
odyslam dfcaf68
Fix OP Stack diagram assertion flows
odyslam 4974a89
Refine public docs accuracy
odyslam 92eb152
Fix Linea diagram node wiring
odyslam 18f0ce5
Shorten Linea sidecar label
odyslam File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,70 @@ | ||
| --- | ||
| title: 'Linea / Besu Integration' | ||
| description: 'High-level integration of the Credible Layer with Linea via Besu plugins' | ||
| --- | ||
|
|
||
| This page summarizes the Linea integration pattern at a high level. It focuses on interface boundaries | ||
| and the enforcement flow without internal implementation details. | ||
|
|
||
| ## Integration Pattern | ||
|
|
||
| Linea uses a **plugin pattern** that integrates directly with the Besu node through its plugin system | ||
| and delegates assertion execution to a sidecar process. | ||
|
|
||
| Key characteristics: | ||
|
|
||
| - **Plugin-based enforcement**: Besu plugins hook into block building to validate transactions | ||
| - **Sidecar execution**: Assertions run in the Credible Layer sidecar alongside the node | ||
| - **Low-latency flow**: Validation happens during block building and returns a valid/invalid decision | ||
|
|
||
| ## System Overview | ||
|
|
||
| ```mermaid | ||
| --- | ||
| title: Linea Besu Integration (High Level) | ||
| --- | ||
| flowchart LR | ||
| subgraph BesuNode["Linea Besu Node"] | ||
| TxPool["Transaction Pool"] | ||
| Builder["Block Builder"] | ||
| Plugin["Credible Layer Plugin"] | ||
| end | ||
|
|
||
| subgraph SidecarGroup["Enforcer Sidecar"] | ||
| SidecarSvc["Assertion Enforcer"] | ||
| Engine["Assertion Execution Engine"] | ||
| Store["Assertion Store"] | ||
| SidecarSvc --> Engine | ||
| Engine --> Store | ||
| end | ||
|
|
||
| Registry["Registry Data<br/>(On-Chain Events)"] | ||
| DA["Assertion DA"] | ||
|
|
||
| TxPool --> Builder | ||
| Builder --> Plugin | ||
| Plugin --> SidecarSvc | ||
| SidecarSvc --> Plugin | ||
| SidecarSvc --> Registry | ||
| SidecarSvc --> DA | ||
| ``` | ||
|
|
||
| ## Validation Flow | ||
|
|
||
| 1. The block builder selects a candidate transaction. | ||
| 2. The plugin sends the transaction to the sidecar for assertion validation. | ||
| 3. The sidecar executes applicable assertions and returns a decision. | ||
| 4. The block builder includes valid transactions and drops invalid ones. | ||
|
|
||
| ## Notes | ||
|
|
||
| - The plugin uses Besu’s transaction selection hooks to validate transactions during block building. | ||
| - The sidecar relies on registry data (from on-chain events) and assertion data to determine applicable assertions. | ||
| - This integration does not change core protocol rules; it runs alongside the existing block builder. | ||
|
|
||
| ## Related Docs | ||
|
|
||
| - [Network Integration Overview](/credible/network-integration) | ||
| - [Assertion Enforcer](/credible/assertion-enforcer) | ||
| - [Assertion DA](/credible/assertion-da) | ||
| - [OP Stack](/credible/architecture-op-stack) | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -5,6 +5,14 @@ description: 'OP Stack specific implementation of the Credible Layer' | |
|
|
||
| The OP Stack implementation uses [Rollup-Boost](https://github.com/flashbots/rollup-boost) to connect an external sidecar assertion validation components with the L2 sequencer through a bridge proxy. | ||
|
|
||
| <Note> | ||
| For the general integration path, see [Network Integration Overview](/credible/network-integration). | ||
| </Note> | ||
|
|
||
| <Note> | ||
| Looking for the Besu/Linea pattern? See [Linea / Besu Integration](/credible/architecture-linea). | ||
| </Note> | ||
|
Comment on lines
+12
to
+14
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. SHould we add a note going in the other direction too? Linking to OP from Linea. I guess it's not as important currently, so I'm fine with leaving things as is |
||
|
|
||
| ## Architecture Diagram | ||
|
|
||
| ```mermaid | ||
|
|
@@ -39,9 +47,9 @@ end | |
| SequencerEL --> |Fallback Blocks + Validation| RollupBoost | ||
|
|
||
| AssertionDA --> |Serve Assertions| AssertionEnforcerBlockBuilder | ||
| AssertionEnforcerCLI --> |Submit Assertions| AssertionEnforcerDapp | ||
| AssertionEnforcerDapp --> |OAuth| AssertionEnforcerCLI | ||
| AssertionEnforcerDapp --> |Submit Assertions| AssertionDA | ||
| AssertionEnforcerCLI --> |Store bytecode| AssertionDA | ||
| AssertionEnforcerCLI --> |Auth + submit metadata| AssertionEnforcerDapp | ||
| AssertionEnforcerDapp --> |Fetch assertions| AssertionDA | ||
|
|
||
| AssertionEnforcerEL <--> |Pulls State + Txs| SequencerEL | ||
| AssertionEnforcerEL <--> |Provide Best Transactions| AssertionEnforcerBlockBuilder | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This diagram looks pretty weird if you look at it in the staged docs: https://phylaxsystems-public-docs-refresh.mintlify.app/credible/architecture-linea
Especially the arrow "<--->" from "assertion execution engine" to "assertion store".
Wasn't the old diagram better? Or is it too detailed?