Inter-chain Confirmation Facility (ICCF)
The Inter-chain Confirmation Facility (ICCF) enables communication between blockchains that operate in different dapp clusters. While ICMF handles communication within a single cluster, ICCF facilitates secure interaction across separate cluster boundaries.
Overview
Blockchains running in different dapp clusters cannot exchange messages directly due to network isolation and security boundaries. The ICCF protocol solves this challenge by acting as a trusted intermediary that can relay validated information between clusters.
How ICCF works
ICCF functions as a client application that acts as an intermediary between blockchains in different clusters:
The ICCF process
- Transaction submission: ICCF submits a transaction on the source blockchain (
blockchain_#1
) - Validation waiting: ICCF waits for the transaction to be validated and included in a block
- Proof generation: ICCF constructs cryptographic proof of the validated transaction
- Proof presentation: ICCF presents the proof to the target blockchain (
blockchain_#2
) - Transaction construction: The proof enables construction of a valid transaction on the target blockchain
- State update: The target blockchain updates its state based on the verified information
Cross-cluster architecture
┌───────────────────┐ ┌───────────────────┐
│ Dapp Cluster A │ │ Dapp Cluster B │
│ │ ICCF │ │
│ ┌───────────────┐ │ ←──────────────→ │ ┌───────────────┐ │
│ │ Blockchain #1 │ │ │ │ Blockchain #2 │ │
│ │ │ │ │ │ │ │
│ │ • Submit TX │ │ │ │ • Verify proof│ │
│ │ • Get proof │ │ │ │ • Update state│ │
│ └───────────────┘ │ │ └───────────────┘ │
└───────────────────┘ └───────────────────┘
Use cases
Cross-cluster asset transfers
The most common use case for ICCF is transferring assets between accounts on different clusters:
- Initiate transfer: User wants to move assets from account on cluster A to account on cluster B
- ICCF intervention: ICCF client initiates the asset transfer process
- Source validation: Transfer is validated and recorded on the source blockchain
- Proof creation: ICCF constructs proof of the validated transfer
- Target execution: ICCF submits the proof to the target blockchain
- Balance update: Target blockchain updates the account balance based on the verified proof
State synchronization across clusters
- Synchronize critical state information between clusters
- Maintain consistency for cross-cluster applications
- Enable complex multi-cluster workflows
Cross-cluster governance
- Implement governance decisions that affect multiple clusters
- Coordinate updates across the entire network
- Enable decentralized decision-making processes
External integration
- Connect Chromia clusters with external blockchain networks
- Bridge assets to and from other blockchain ecosystems
- Enable interoperability with DeFi protocols
Learn more
For detailed implementation examples and step-by-step guides, see the ICCF use case documentation.
For hands-on learning, check out the Confirm events across blockchains course on Chromia Learning.