Add public integration and trust model docs#181
Conversation
czepluch
left a comment
There was a problem hiding this comment.
looks good. suggested some changes for consistency, but it's purely optics
credible/interfaces-overview.mdx
Outdated
|
|
||
| ## Guidance | ||
|
|
||
| - Keep interface changes backward compatible when possible. |
There was a problem hiding this comment.
| - Keep interface changes backward compatible when possible. | |
| - Keep interface changes backward compatible when possible |
credible/interfaces-overview.mdx
Outdated
| ## Guidance | ||
|
|
||
| - Keep interface changes backward compatible when possible. | ||
| - If a breaking change is needed, update all dependent components in the same release window. |
There was a problem hiding this comment.
| - If a breaking change is needed, update all dependent components in the same release window. | |
| - If a breaking change is needed, update all dependent components in the same release window |
credible/interfaces-overview.mdx
Outdated
|
|
||
| - Keep interface changes backward compatible when possible. | ||
| - If a breaking change is needed, update all dependent components in the same release window. | ||
| - Ensure public docs reflect any new interface expectations. |
There was a problem hiding this comment.
| - Ensure public docs reflect any new interface expectations. | |
| - Ensure public docs reflect any new interface expectations |
credible/network-integration.mdx
Outdated
| - **Block-building hook**: the block builder queries the Assertion Enforcer before including a | ||
| transaction. | ||
| - **Registry access**: the enforcer reads the on-chain registry to discover which assertions apply. | ||
| - **Assertion data access**: the enforcer fetches assertion bytecode from Assertion DA. | ||
| - **Operational monitoring**: incidents and status are surfaced via the Credible dApp. |
There was a problem hiding this comment.
| - **Block-building hook**: the block builder queries the Assertion Enforcer before including a | |
| transaction. | |
| - **Registry access**: the enforcer reads the on-chain registry to discover which assertions apply. | |
| - **Assertion data access**: the enforcer fetches assertion bytecode from Assertion DA. | |
| - **Operational monitoring**: incidents and status are surfaced via the Credible dApp. | |
| - **Block-building hook**: the block builder queries the Assertion Enforcer before including a | |
| transaction | |
| - **Registry access**: the enforcer reads the on-chain registry to discover which assertions apply | |
| - **Assertion data access**: the enforcer fetches assertion bytecode from Assertion DA | |
| - **Operational monitoring**: incidents and status are surfaced via the Credible dApp |
credible/network-integration.mdx
Outdated
| - The enforcer runs alongside the block builder and does not change consensus rules. | ||
| - Enforcement is deterministic and only depends on on-chain state and assertion code. | ||
| - Networks can stage assertion deployments before enforcing them in production. |
There was a problem hiding this comment.
| - The enforcer runs alongside the block builder and does not change consensus rules. | |
| - Enforcement is deterministic and only depends on on-chain state and assertion code. | |
| - Networks can stage assertion deployments before enforcing them in production. | |
| - The enforcer runs alongside the block builder and does not change consensus rules | |
| - Enforcement is deterministic and only depends on on-chain state and assertion code | |
| - Networks can stage assertion deployments before enforcing them in production |
credible/trust-model.mdx
Outdated
| - **Deterministic enforcement**: given the same on-chain state and assertion code, enforcement | ||
| results are deterministic. | ||
| - **Pre-execution protection**: transactions that violate deployed assertions are excluded from | ||
| blocks by networks running the enforcer. | ||
| - **Transparent rules**: assertions are public Solidity code and can be audited by anyone. | ||
|
|
||
| ## What We Do Not Guarantee | ||
|
|
||
| - **Assertion correctness**: teams are responsible for writing accurate assertions. | ||
| - **Complete coverage**: only behaviors covered by assertions are enforced. | ||
| - **Off-chain security**: custodial, UI, or off-chain service risks are out of scope. | ||
|
|
||
| ## Operational Assumptions | ||
|
|
||
| - The network runs the Assertion Enforcer during block building. | ||
| - The enforcer can access the on-chain registry and assertion bytecode. | ||
| - The network follows its normal transaction validity rules alongside enforcement. | ||
|
|
||
| ## Failure Modes (High Level) | ||
|
|
||
| - **Enforcer unavailable**: the network continues normal operation without enforcement until the | ||
| enforcer is restored. | ||
| - **Registry misconfiguration**: assertions may not apply to intended contracts. | ||
| - **DA connectivity issues**: new assertions may be delayed until bytecode is reachable. |
There was a problem hiding this comment.
| - **Deterministic enforcement**: given the same on-chain state and assertion code, enforcement | |
| results are deterministic. | |
| - **Pre-execution protection**: transactions that violate deployed assertions are excluded from | |
| blocks by networks running the enforcer. | |
| - **Transparent rules**: assertions are public Solidity code and can be audited by anyone. | |
| ## What We Do Not Guarantee | |
| - **Assertion correctness**: teams are responsible for writing accurate assertions. | |
| - **Complete coverage**: only behaviors covered by assertions are enforced. | |
| - **Off-chain security**: custodial, UI, or off-chain service risks are out of scope. | |
| ## Operational Assumptions | |
| - The network runs the Assertion Enforcer during block building. | |
| - The enforcer can access the on-chain registry and assertion bytecode. | |
| - The network follows its normal transaction validity rules alongside enforcement. | |
| ## Failure Modes (High Level) | |
| - **Enforcer unavailable**: the network continues normal operation without enforcement until the | |
| enforcer is restored. | |
| - **Registry misconfiguration**: assertions may not apply to intended contracts. | |
| - **DA connectivity issues**: new assertions may be delayed until bytecode is reachable. | |
| - **Deterministic enforcement**: given the same on-chain state and assertion code, enforcement | |
| results are deterministic | |
| - **Pre-execution protection**: transactions that violate deployed assertions are excluded from | |
| blocks by networks running the enforcer | |
| - **Transparent rules**: assertions are public Solidity code and can be audited by anyone | |
| ## What We Do Not Guarantee | |
| - **Assertion correctness**: teams are responsible for writing accurate assertions | |
| - **Complete coverage**: only behaviors covered by assertions are enforced | |
| - **Off-chain security**: custodial, UI, or off-chain service risks are out of scope | |
| ## Operational Assumptions | |
| - The network runs the Assertion Enforcer during block building | |
| - The enforcer can access the on-chain registry and assertion bytecode | |
| - The network follows its normal transaction validity rules alongside enforcement | |
| ## Failure Modes (High Level) | |
| - **Enforcer unavailable**: the network continues normal operation without enforcement until the | |
| enforcer is restored | |
| - **Registry misconfiguration**: assertions may not apply to intended contracts | |
| - **DA connectivity issues**: new assertions may be delayed until bytecode is reachable |
credible/dapp-integration.mdx
Outdated
| - **CLI + dApp**: write assertions locally, store bytecode, and manage deployments in the dApp. | ||
| - **dApp-first**: use the dApp for project management, staging, and incident monitoring. |
There was a problem hiding this comment.
| - **CLI + dApp**: write assertions locally, store bytecode, and manage deployments in the dApp. | |
| - **dApp-first**: use the dApp for project management, staging, and incident monitoring. | |
| - **CLI + dApp**: write assertions locally, store bytecode, and manage deployments in the dApp | |
| - **dApp-first**: use the dApp for project management, staging, and incident monitoring |
| <Note> | ||
| Looking for the Besu/Linea pattern? See [Linea / Besu Integration](/credible/architecture-linea). | ||
| </Note> |
There was a problem hiding this comment.
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
| ```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 Sidecar["Assertion Enforcer Sidecar"] | ||
| Engine["Assertion Execution Engine"] | ||
| Store["Assertion Store"] | ||
| Registry["On-Chain Registry"] | ||
| DA["Assertion DA"] | ||
| end | ||
|
|
||
| TxPool --> Builder | ||
| Builder --> Plugin | ||
| Plugin <--> Sidecar | ||
| Sidecar --> Engine | ||
| Engine --> Store | ||
| Store <---> Registry | ||
| Store <---> DA | ||
| ``` |
There was a problem hiding this comment.
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?
|
The Linea diagram I comment on above is still not fixed. Otherwise things look good |
czepluch
left a comment
There was a problem hiding this comment.
looks good to me. excellent additions and clarifications.
No description provided.