What is it?

A technology that allows cross-chain integration.

flowchart LR
  A[Ethereum] --chain fusion--> B[Solana]
  B --chain fusion--> A

It also allows integration between different decentralised applications using Chain Key Signature.

flowchart LR
  T[Technology] --> N[Network Integration]
  T --> C[Chain Key Signature]
flowchart LR
A1[Application]
A2[Apps]
ck[ck Tokens]
A1 --> A2
A1 --> ck

Encryption uses ECDSA.


In Web3

Chain fusion allows ICP canisters to interact with other protocols such as Bitcoin and ICP or ICP and Ethereum.

Chain Fusion is not new tech. Other protocols already have this to allow integration on other blockchain protocols. Hence, the name “Chain Fusion”.

This cropped out photo comes from ICP’s Educate series. See video below.

In Web 2.0

Chain fusion allows protocols to reach out any Web 2.0 service using HTTP. This allows it to integrate other web services outside of Web3.

Web3 to Web 2.0

Chain fusion allows communication between Web3 and Web 2.0 space.


Use Cases

  • Trustless Cronjobs Service?

Bitcoin Integration

Bitcoin does not have a concept of Smart Contracts. ICP allows to integrate Bitcoin despite its lack of smart contract by making it integrate within other protocol’s smart contracts.

The canister in this regard will act like an on-chain Bitcoin node.

ckBTC

Basically, my understanding seems like it is a token that is chain-key signed that sits on top of BTC Integration.

Two components are mentioned for ckBTC

  • ckBTC minter
  • ckBTC ledger
flowchart TD
minter[ckBTC minter]
ledger[ckBTC ledger]
BTC[Bitcoin network]
minter --burn--> BTC
BTC --mint--> minter
minter --holds bitcoins--> icp[ICP network] --transforms from BTC to ckBTC-->ledger
ledger --manages tx between other ICP users or apps--> balance
ledger --manages tx between other ICP users or apps--> transfer
ledger --manages tx between other ICP users or apps--> approve
ledger --manages tx between other ICP users or apps--> transfer_from
  • TX are performed by ckBTC ledger. ckBTC is now basically just an icrc-{1,2,3} compliant token.
  • ckBTC minter is not involved in the ckBTC TX but used for minting and burning ckBTC.

Ethereum and EVM Integration

In ICP, they mention that the subnet and its subsequent nodes emulates a replica of an Ethereum node.

The ICP subnets tries to sync their state with the ethereum network using queries through HTTP Outcalls.

It’s considered to be a big project that’s still ongoing so it’s been deferred for future work. See EVM RPC Canister.

EVM RPC Canister

Since attempting to emulate the Ethereum network is still an ongoing project, EVM RPC Canister seems to be the one being used for now (as of writing, of course).

This uses a JSON RPC API to perform RPC API calls to outside providers.

Disadvantages

You will have to trust that outside providers are not lying so it’s not Trustless.

Bring Your Own RPC Provider and API Key

If the “default” providers do not support some features or even the network, using your own RPC providers is a solution.

Chain-key Ether

Terms

ckETH / ckERC20 are analogous of ckBTC but for Ethereum

It works similarly as ckBTC

flowchart LR
minter[ckBTC minter]
ledger[ckBTC ledger]
BTC[Ethereum network]
minter --burn--> eth/usdc
eth/usdc --mint--> minter
minter --holds eth/usdc--> icp[ICP network] --transforms from eth to ckETH -->ledger
ledger --manages tx between other ICP users or apps--> balance
ledger --manages tx between other ICP users or apps--> transfer
ledger --manages tx between other ICP users or apps--> approve
ledger --manages tx between other ICP users or apps--> transfer_from

Upcoming techologies

  • Integration with blockchains using [Edwards-curve Digital Signature Algorithm|EdDSA] or Ed25519 curve.
    • Solana
    • Stellar
    • Cardano