cip: add Multi-VM CIP-56 Bridge Pattern (Informational)#200
Open
hilarl wants to merge 2 commits intocanton-foundation:mainfrom
Open
cip: add Multi-VM CIP-56 Bridge Pattern (Informational)#200hilarl wants to merge 2 commits intocanton-foundation:mainfrom
hilarl wants to merge 2 commits intocanton-foundation:mainfrom
Conversation
Informational CIP describing a transport-agnostic two-phase commit pattern between a multi-VM L1 (with native + EVM + SVM token facades) and Canton's CIP-56 token-standard, suitable for any cross-chain messaging layer. Signed-off-by: Hilal Agil <hilaal@gmail.com>
Rename CIP-hilarl-multivm-bridge/ to cip-hilarl-Multi-VM-Bridge/ to match the lowercase-cip + capitalized-slug convention used by other unnumbered drafts. Update the body: - Title shortened to "Multi-VM CIP-56 Bridge Pattern" (30 chars). - Section ordering aligned with CIP-0000 (Abstract, Specification, Motivation, Rationale, Backwards compatibility, Security considerations, Reference implementation, Copyright). - extraData replaced with CIP-56 meta-key envelope under tenzro.network/bridge.* per the registered DNS-subdomain rule. - Reference implementation table updated with shipped testnet endpoints and pinned to "Canton 3.4+ JSON Ledger API v2". - Forward-compatibility note added for CIP-112 v2 packages.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
cip: add Multi-VM CIP-56 Bridge Pattern (Informational)
Summary
This PR opens an Informational CIP specifying a deterministic two-phase
commit pattern for non-Canton Layer-1 ledgers to settle holding transfers
against CIP-56 holding contracts on Canton, via an attestation-based
cross-chain messaging layer. Wormhole NTT is the worked example; the
pattern is transport-agnostic and the conformance properties (§6) are
satisfied by Wormhole NTT, Chainlink CCIP, LayerZero V2, and IBC light
clients alike.
The pattern composes three existing primitives — a CIP-56 holding
contract on Canton, an external-L1 lock/unlock primitive, and an attested
cross-chain message — into a two-phase commit. Phase B maps onto CIP-56's
two-step transfer flow exactly:
B2creates aTransferInstructionandB3is the destination party'saccept/reject. No new template, nonew choice, no change to CIP-56 or the DAML standard library.
The CIP is filed as Draft. Per CIP-0000, the author has not
self-assigned a number; the editor will assign one on merge.
This is the first in a four-part stack of contributions covering, in
order: (A) the multi-VM bridge pattern in this PR; (B) decentralized AI
training and inference settlement on Canton; (C) agentic identity and
mandate-bound payments on Canton; (D) TEE-attested confidential compute
receipts on Canton. Each is filed as a separate CIP and may be reviewed
independently.
What this CIP specifies
cross-chain attestation, the destination-side CIP-56 two-step transfer,
replay protection, and rollback paths (§2, §5, §6).
implementations MUST use, distinct from the CIP-56
metafield.metanamespacetenzro.network/bridge.*for theCanton → external-L1 direction (§3), populated by
DSCon thedestination
TransferInstruction.each with its terminal-state resolution.
CIP-112 (
splice-api-token-{holding,transfer-instruction}-v2and theallocation-instruction / allocation-request / allocation-allocation
v2 packages).
What this CIP does NOT propose
or the Global Synchronizer.
properties in §6.
Reference implementation
The pattern is shipped on the Tenzro Network testnet. Live endpoints
documented in §Reference implementation of the CIP body.
Source under
crates/tenzro-bridge/src/{canton,wormhole,router}.rsandcrates/tenzro-vm/src/daml/cip56.rsattenzro/tenzro-network.File layout
The CIP lives at
cips/cip-hilarl-Multi-VM-Bridge.md. The directoryconvention used by numbered CIPs (
cip-XXXX/) is also acceptable, withthe file moved on number assignment.
Process notes
Canton itself — only on bridge implementations that wish to claim
conformance.
cip-hilarl-Multi-VM-Bridge.Requires:).Signed-off-by: Hilal Agil hilal@tenzro.com