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.
Chain fusion allows
- enhanced smart contracts
- improved user experience
- unified dev environment
- increased security
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