ICP, BTC & ETH: Chain Fusion Technology
Crypto Valley Conference 2024 · June 2024 · 31:52
Dieter Sommer of the DFINITY Foundation presents Chain Fusion technology at Crypto Valley Conference 2024, DFINITY's approach to letting the Internet Computer directly read and write to Bitcoin and Ethereum without custodial bridges. The talk covers how removing bridge intermediaries reduces the attack surface that has caused some of crypto's largest cross-chain exploits. It positions Chain Fusion as a step toward treating multiple base layers as one integrated environment rather than isolated silos.
Speakers
Topics
From Crypto Valley Conference 2024, hosted by Crypto Valley Association.
Transcript
all right fantastic welcome back hope you had a lovely lunch in the sunshine uh we have our next session's about to start now more master class this time so you'll really get to be able to dive deeper into some of these subjects and to kick us off we have data here representative of the definity foundation going to speak to you about some more Innovation and different things that have been happening so I'll let you take it away thank you for the introduction good afternoon ladies good afternoon gentlemen it's very much a pleasure for me to be here today and to talk to you about how to bring the networks ICB BTC and others in the future closer together thanks to what we call chain Fusion technology so in this talk I would like to First give you a quick crash course introduction to the internet computer protocol that's what
the defin found the defini Foundation that I'm working for is building or is contributing to a large degree then I'll talk about what is chain fuse technology give you beef brief motivation of it then give you two building blocks we use uh for this so for integrating chains namely chain key easy DSA signing that's advanced form of threshold signing protocols for ecdsa and also other protocols coming shortly then talking about htb out call that's a mechanism for smart contracts on the internet computer to connect to web to Services securely and communicate with those and after those two building blocks I'll talk about two blockchain Integrations the one with the Bitcoin Network and the one with the ethereum network and evm chains in general and I'll conclude with going through some D apps that use chain
Fusion in the ICB ecosystem so let's get started with the crash course on the internet computer protocol very really very high level the whole talk is very high level and non-technically because it's more generic audience here so let's get started so the internet computer protocol is powered by nodes so that's the hardware that powers the uh protocol and those are located all around the globe so there's first of all it's um servers bare metal servers no VMS virtual machines are allowed and also no public Cloud placement is allowed because this would lead to a less decentralized Network because of few public Cloud providers that would host most of the nodes so the idea is really to have this note pool very decentralized and there not operated by independent parties in independent data
centers the data centers are distributed uh in different countries or geographies and those are in different jurisdictions and with those four dimensions of decentralizations we get a very very decentralized Noe pool currently around thousand nodes and now those nodes are used by the protocol U to form so-called subnets or sub blockchains each subnet so the subnet is the basic building block of the IC and each subnet is its own blockchain and running its own instance of the ICB consensus protocol and the subnet is the place that replicates computation storage on the nodes that form the subnets and every subnet runs concurrently with the other subnets giving the whole internet computer a lot of throughput and storage
capacity and one important part is that the four uh dimensions of decentralization that the note pool is comprised of are carried over to each subnet by choosing the nodes appropriately through the protocol this process is called deterministic decentralization and again so it means that the nodes of each subnet are formed from nodes from independent node providers that sit in independent data centers which are in different countries and geographies and different jurisdictions so carrying over the decentralization of the node pool to each subnet that's an important thing and now we have many of those subnets currently it's around 35 to 40 I don't know the exact number and um what we get is a scale out architecture like public cloud in a public Cloud you can add more machines to get more capacity on the
internet computer you can add more machines and then form subnets to increase the capacity it scales more or less linearly so very much like public Cloud but it's a blockchain so what we get is really a platform to run uh so-called canister smart contracts which chose those name because the canist is a container for code and data of the smart contract and each canist runs on one subnet and is replicated on the nodes of this subnet and now all the subnets execute concurrently so it gets a we get a very very high throughput of uh transactions on the whole internet computer because we have 35 concurrently operating subnets or shards if you will but it's a more generic architecture and shards and now in a very high level what
we have is with this architecture a crypto Cloud so you get blockchain like security because every subnet is its own blockchain and cloud like scalability now so much to the introduction to the internet computer protocol which is a very scalable layer one next let me introduce chain Fusion technology so the basic idea behind chain Fusion is the following uh chain Fusion is integrating or fusing hence the name the ICB the internet computer protocol with other chains like Bitcoin ethereum and so on and why do you want to do this so this gives you so you can build cross-chain D apps essentially D apps that span multiple blockchains but the user experience is just as simple as it
would be implemented on a single chain so great user experience but still leveraging good good properties of every chain and that's the the basic idea behind it because different chains have different strengths for example the Bitcoin and ethereum networks they have very high liquidity in their core tokens also they have a very very high replication factor which is good for certain use cases but also transactions are very expensive and you can't do much computation on them because it's too expensive and limited that's why you can for example do heavy computation on computer protocol and use Bitcoin and ethereum and also other networks for other purposes in which they are strong and that that way you build D apps out that span multiple blockchains and you get the best of each chain for your DF and so far what we have covered in terms
of networks is the Bitcoin Network the ethereum network multiple evm chains so essentially you can have any evm chain that has a public uh RPC node Solana is coming up shortly and then additionally there will be other networks integrated either by the definitive Foundation ourselves or by the community there are two core building blocks for chain Fusion for uh that we use so the one is signing transaction for other chains on chain meaning that you can sign a transaction for the Bitcoin or ethereum network on the ICB blockchain without the private key being anywhere this is called chain key cryptography chain key signing it's based on threshold cryptography the internet computer so far is implemented threshold ecdsa that
has been deployed some time back and is used for ethereum and Bitcoin and soon there will also be schnor and Eda coming up to support a larger variety of blockchains so practically all relevant blockchains are supported with those three schemes and the other basic building block is securely reading from and writing to other blockchains so meaning reading state from other blockchain for example from the Bitcoin Network reading blocks or specific the parts of the state and then writing back transactions that are signed with the first building block to the other blockchain this way you can interact with from a smart contract with other chains as if the smart contract were a normal use on this chain which is very bful we have three different approaches used so far uh for this um
integration on the second building block one is verifying the consensus of the other chain fully on ICB which is done for the Bitcoin Network I'll talk about this shortly the other one is using a light client to verify consensus of the other chain which we have experimentally up and running for the uh ethereum Network and then the Third third one is to read from multiple RPC providers so ethereum RPC providers and do an in smart contract consensus over the responses and use this value for reading State and writing back wi those as well and this is done for the ethereum network and other evm chains and will be done likewise for the Solan Solana Network and potentially others that are coming up so those two building blocks I will now talk a bit more in detail so let's start with chain key easy DSA
signing or threshold EAS DSA so the basic idea is on the right side here you see canister smart contract holding this green ecdsa key and this EA key allows the smart contract now to derive addresses for other networks like for the Bitcoin Network for the ethereum network and then receive funds on those addresses on the native Network and then use use essentially threshold signing uh to create the signature on transactions and send this transaction out using some building blocks to uh the respective Network so this allows you to have a smart contract that interact like a user with other networks now how does it work under the hood so threshold cryptography is the keyword here meaning that we have so
technically one specific subnet which a high application subnet with around 30 noes and each of those notes holds a share of an easy DSA private key the actual private key has never been known by anybody and is never known by anybody and whenever signature is required to be computed the subnet performs a multi- computation or MPC protocol in order to compute the signature of course without reconstructing the key so multiparty computation is also a mechanism that uh Leading Edge commercial custom dis Solutions use those days because it's a very secure way thanks to cryptography uh to secret share a key to multiple instances and then perform operations collaboratively but only one or few entities can do nothing with their key shares that's the main idea here so
essentially what we have is a completely decentralized signing protocol implemented on the blockchain so the next generation of Hardware security modules if you will and now any canister like here on the left side on the internet computer on different subnet or in the same subnet can now use a very simple API to interact with this threshold signing protocol so first of all the canister can get its own public key and then do stuff with it with other networks like derive an Bitcoin address or an ethereum address and it can request a signature and as I said this is then computed via multiparty computation by this threshold ecdsa subnet and the signature then can be used uh yeah can be done for example on a transaction to the ethereum network
and then can be sent out to the ethereum network so that's roughly how it works very easy API and a very very secure and decentralized way of signing messages because the key is decentralized throughout the globe and no one has ever seen it no one will ever see it and threshold ecdsa as I said is already life on the internet computer has been for almost two years I think and what's upcoming this summer I think Late July or August will be threshold schnore and EDSA and those will allow further Integrations for example uh Bitcoin ordinals and like runes for example also they can be handled with schnor only not with ecdsa so this will be enabled fully on chain also integration with Solana as I mentioned
already then kadano algorand and many other blockchains that use EDSA will also be integratable with the internet computer then you can build D apps that use the goodies of any selection of those chains uh that you want and will be integrated so this is just a list of potential candidates and the community of the internet computer will see which ones they want to integrate next and work on next so and what this gives us is a very very nice ecosystem where smart contracts on the internet computer here sh the right can transact any kind of crypto on any kind of blockchain network like Bitcoin ether usdc on ethereum any kind of meme coin Solana token Z so this is really uh cool and you don't have any limits here on what kind of tokens you can do so it's you
can use IC as a as a token Hub so the say can have a very very wide variety of use cases so this was the first building block threshold cryptography the next one is https out calls htps out call very simple at the high level so a canister smart contract is able to make a call to we two service and get back a response of course it's not so easy because the canister smart contract is replicated on many machines so what happens in the background is I show you four machines every machine that hosts this subnet where the canister is running makes the same call to the web2 server and then the web2 server provides back a response to each of the calls and then these responses are uh
subjected to a transformation function that removes uh things like time stamps or session identifiers and then the output of the transformation function each node is run through consensus and if there is consensus found which means at least two third of the nodes agree on the result then the canister receives a single response back so from the canister perspect itive it is really like sending a request to web2 server and getting a response back if everything works out so very powerful way to integrate with web2 and you will soon see why we need this but before that let's talk about the Bitcoin integration so the Bitcoin integration uses only the first building block uh I've discussed and instead of the second one it uses a native integration which is even stronger let me talk about it now so the Bitcoin integration here you
see on the left side the Bitcoin Network on the right side uh you see one sub network of the internet computer protocol so it works as follows that one subnet has been enabled uh to run so-called Bitcoin adapters here on the bottom these orange components and then also one Bitcoin canister smart contract here on the top that runs most of the logic and what happens is that those adapters here they connect to the Bitcoin Network act like a regular Bitcoin node towards the Bitcoin Network and whenever a new block is mined in the Bitcoin Network the block is ingested into the internet computer sent up the protocol stack to the smart contract and then the smart contract cont validates the proov of work consensus fully onchain in a smart contract if it's valid so if the block is valid the smart
contract extracts all the transactions and the transactions inputs and outputs with the goal of essentially keeping track of all the utxos of the Bitcoin Network so essentially all the unspent coins of the Bitcoin Network and this allows now any canister on the internet computer to query this Bitcoin canister for the utxos of a given Bitcoin address and this allows you to determine the balance of any Bitcoin address on the Bitcoin Network and it also allows you to get your own utxos as a canister for the keys that you control with threshold cryptography and then you can make transactions by doing a threshold signature using this first building block threshold signing on the transaction comprising some utxos that you own and then you can send this transaction out through the Bitcoin
adapters and they go to the Bitcoin Network so that's roughly how it works the nice thing about it is that it's essentially Bitcoin node that's fully on chain which is very nice and and it's a completely trustless integration with the Bitcoin Network which means there are no intermediaries like Bridges required it's completely trustless um and uh therefore we have only the trust assumptions of the Bitcoin Network and of the internet computer and no additional trust assumptions or B is being required this is the strongest way you can integrate with the Bitcoin network no additional assumptions to be made so that's a very very nice showcase on how we can do Integrations with other protocols and now like let's jump over to ethereum and evm chains next so ethereum evm chains
use both building blocks that I mentioned let's so threshold signing is clearly used again for signing transactions nothing new about this I explained it already and now for the communication level integration with the ethereum network I need to take a step back and explain for those who don't know how ethereum is usually accessed so if you write an ethereum D app you have two options you can run your own ethereum node or you can uh rent capacity or API calls at one of those ethereum uh RPC providers like infura Cloud flare public node and so on and that's what most people do and we chose also for this integration to leverage those RPC providers in a way that we implemented from the foundation side an evm RPC canister here in the middle
which is more or less an onchain evm RPC API so it exposes the API of those uh RPC providers that are web to services on chain on the internet computer and now if a client canister makes a request to the evm RPC canister do onchain evm RPC API the canister makes requests the same request to multiple of those uh RPC providers and if they all respond with a consistent response uh the Consolidated response is sent back to the client canister otherwise an error is sent back or respectively the fact that it's not consistent and this allows you to get a decentralized way of querying state from the ethereum network and of course you all can also submit back transactions to the ethereum network that are being
signed with threshold Crypt rography as in the Bitcoin case now that's uh the way we can get uh access to ethereum main net and of course tnet and other blockchains like we have a couple of layer twos already like the arbit one base and optimism protocols and those are uh reachable through a handful of RPC providers that have that are hardcoded or installed as defaults in this RPC canister and users can also bring their own RPC provider so to say provide provideing URL for their favorite RPC provider providers and then API key and then further RPC providers can be used to even uh reach out to more diverse
sets of uh evm chains or use different uh providers for other reasons so that's roughly how the evm integration from the communications perspective works and then of course the threshold signing is used for signing transactions at this way we have a bir directional communication between the networks without involving any third parties besides those RPC providers which are typically well reputed business entities so this was a very high level overview of how the ethereum integration works and next I would like to give you a rundown on a couple of interesting D apps on the internet computer that are using this chain Fusion technology in one way or the other so one very interesting because very early one is CK BTC stands for chain key Bitcoin
alluding to the use of chain key cryptography like threshold cryptog graphy so this token Works in a way that if somebody owns Bitcoin on the Bitcoin Network they can transfer some Bitcoin to the CK BTC Minter this is a smart contract on the internet computer that locks up the received tokens and once it has enough confirmations on the Bitcoin Network like six confirmations one hour it mints uh a corresponding amount of these twin token the CK BTC in the ckbc leder and this twin token is now a token that's available on the internet computer and it's backed 100% so every CK BTC is backed by one real BTC locked up in the CK BTC minor and now the user who owns their ckbc can transfer it to
other users or to Smart contracts and what we have with this is a very low fee high throughput and low latency way of transacting this twin uh token to the Bitcoin token and applications obviously are defi like uh taxes social file extending peer to making peer-to-peer payments with people uh and any form of payments so this is very interesting because this ckpt also built on the Bitcoin integration I explained earlier is completely trustless does not inol involve any intermediary party something analogous was done for CK so for ethereum for the EA token and for the E20 token so so far we have CK e available on the internet computer twin
token to The Ether token and then CK usdc is the first ec20 token available on the internet computer and more will come and this will be done based on a vote of The Da that governs the internet computer protocol so the da will vote which tokens they want to have next this might be other stable coins this might be meme coins yeah we will see what's coming up and all those CK erc20 tokens are handled with the same um Minter and every new token gets a different Ledger smart contract that's the equivalent of near C20 smart contract on ethereum we have the icc1 icc2 token standard on the internet computer and those twin tokens again can be transferred very cheaply with low latency and high through put on
the internet computer and yeah similar use cases as for BTC so another interesting application is the O wallet stands for uh so the O wallet it's a network custodial wallet um That's multi-chain So currently it supports the ethereum chain uh using threshold cryptography and what it can do is it can hold ethereum assets like itself and any kind of other ec20 token uh can hold this token for you in the in the internet computer using thres cryptography so you don't have to take care of the private key uh but it's taken care of by the network using the secret shared uh key and multi computation for making
transactions so you only need your secure log to the internet computer and then the internet computer manages all the keys for token custody for you and yeah it's a easy system that integrates multiple networks and you have very very powerful wallet at your hands so that's still an experimental State and will be improved uh in the future by the foundation hopefully also by the community another interesting application IC deck so the IC decentralized exchange this is a project that's a fully onchain order Book Exchange so fully onchain means that the order book itself is completely onchain it's not an amm but a real order book like binance or coinbase fully on chain means it's hack proof unlike uh web
services and it uses chain Fusion technology mainly threshold ecdsa for the BTC and E integration another interesting product is Helix markets built by surc based steam this is a hybrid order book exchange exchange meaning it's not fully onchain but the network based custody is onchain so token custody is again being done using threshold e DSA like in the O wallet fully on chain and the order book and the the Met offchain components for the reason of higher performance so essentially it feels like any web do exchange but the token custody is done uh on the blockchain so the thing that happen with FDX for example cannot
happen here that easily which is very good for security and Trust uh towards the customer base um yeah and what they offer also is native cross-chain swaps of token so you can swap native assets of other blockchain networks uh using this exchange on ICB this is a pretty cool project have a look at it another interesting project chain keyx chain keyx is a decentralized crypto Neo bank so what it means it has some of the core features of a bank of a traditional bank but implemented fully onchain without any offchain components and uh for crypto assets and currently supported assets are PTC and E and you can swap borrow and earn interest on them and yeah the the Adar they use is
not your keys not your coins and it's nice to see this slow from a bank next the omnid network the omnid network is an omni chain interoperability protocol that integrates quite a bunch of other chains with the internet computer protocol and then it allows you to yeah send messages between those chains and then transfer assets and all those things and they use different approaches also for different chains for example they have light clients for the near and tender uh protocols and use other Technologies for other protocols and one one thing they also very early in is this uh Bitcoin run so this is this new kind of Bitcoin inscriptions that realize fun tokens on
bitcoin and they were the first ones to have wrapped runes using chain key technology uh that are available now on the internet computer protocol and you can trade them here with lower fees than Bitcoin fees would be which is very nice next orally orally is a decentralized Oracle Network so meaning an oracle Network that's implemented in a completely decentralized Way by implementing it on the ICB platform not requiring any extra entities like their own consensus Network for example this means they don't make any additional trust assumptions they just use an available protocol and then uh integrate with lots of other blockchains and provide Oracle services so fully decentralized trust less and also very low fee compared to other uh other
Oracle networks also a very interesting project thanks to the breath of other networks they have been integrating another interesting project project bionic IO that's an ordinance Marketplace um so it's the world fastest Bitcoin ordinal Marketplace and you can do all kinds of stuff with ordinals like sending receiving inscribing buying selling swapping and so on and soon with uh the upcoming schnor signature scheme they will also be capable of doing the issuing of inscriptions on the Bitcoin Network fully on chain using the schnore threshold uh protocols this will be very nice because it will be the only and the first protocol worldwide or the first ordinal Marketplace doing that fully on chain and of course it's all non-custodial powered by Chain key
crypto another interesting project is Loca mining it's a decentralized mining pool where all the mining pool logic like rewards distribution is implemented completely on chain of course the mining is done off chain in as6 and clearly and they also offer things like a Marketplace for uh forward hash rate contracts and you can earn native yields for Bitcoins also an interesting project still rather early and now the last project I want to mention is the Open chat oc. app um it's a me messaging service that's 100% onchain running on ICP uh and the interesting part of it is that chat accounts are also wallets which means you can send and receive tokens like for example ICB or the Bitcoin twin token on
ICB or the Bitcoin or the ethereum twin token so it's a full social fi D app it's interesting also you can try it out for free and yeah you can send Bitcoin for example beer to beer to your friends with low fees because it's the onchain Bitcoin on the internet computer that's the final one I want to talk about and yeah I hope I could now give you a rough overview of what um the internet computer protocol is doing in the scope of integrating with other blockchains using the chain Fusion technology and I'm sure you there will be many more cool things to talk about in the future in terms of other chains being integrated and other Technologies coming up and this is it from my side and we have a couple of minutes for questions I think [Applause]
yes of course yes you can see it is a layer two yeah H how much uh 100 200 it's yeah something like this so it's growing steadily yeah so it has been growing steadily since the beginning there have been ups and downs of course of people trying it out moving out again but overall it's it's an upward cve I can't give it exact figures but it's it's reasonable it's it's we it's growing upwards so for
institutionalsales with custody providers uh if you if you want to go in this direction so so those are coming up there I think a cop integration is either done or close to be done there might be fire blocks integration at some point coming up so that you can do then ICB custody and icrc will be the next step here this is all in the pipeline so so it depends I mean uh so definitely many of the applications that are being built are for normal people to do for example to use to use the things for uh for apps like for example trading this is for regular users but also we
are working on getting uh institutional in uh as I said by having uh custo dis Solutions and by because the the solution we use for uh the chain cryptography so the the threshold signing this is a very secure solution to store assets on chain in a custodial way it uses similar Technologies than the big custody providers just with many more notes like 30 notes uh for MPC protocol that run threshold signatures and this gives you a very secure way of doing custody and there are attempts now to also approach uh institutionalsales yeah so so I heard about things
yeah yeah you you will see you will see so any other questions yeah please consensus so it's the ICB it's its own consensus protocol that uh so it's essentially consensus protocol that's permissioned in the way that you need you have a fixed set of nodes in each subnet but the way those nodes are governed so the the way that's decided which node comes in is with an open Dow so it's a it combines the openness of a dow based approach and then the higher performance of a permissioned consensus protocol this gives the subnets a very very high throughput of more than thousand transactions per second per
subnet and even more with upcoming optimizations what about data stage yeah data storage so it's replicated storage in each subnet each subnet has currently 750 gab of replicated state where you can run your smart contracts in and store your data in and there will this will grow to maybe 3 to five terabytes in the in the next one to two years by protocol optimizations and then the 5 terabyte is roughly the limit we have with the current Hardware uh and what we will do in the future is there are plans for having another storage scheme uh which will use erasa coding to have much much higher storage uh much much more storage available like order of maging
do more for lower price but that accessible at a higher cost as you can see yes please so you're talking about network speed yeah so you need you so when you run Internet computer nodes you have minimum requirements on the bandwidth so you need to ensure that you are in Data Center and buy uh quotas for certain bandwidth per node so I think if you run I don't know exactly but is I think 300 megabits per node you should have that this is way enough so so big node
providers have a 10 gbit line usually small node providers have a one gbit line so if you think four nodes you can handle with one gigabit and that's that's working well which is usually okay in most regions from a pricing perspective except for in very remote regions in Africa it can get expensive also Asia personally maybe you can take that one offline let's take this offline I'm also not the lawyer so maybe I'm not commenting on legal questions fantastic J thank you much you can chat offline if you want you wonderful thank you let's give him Round of Applause thank you