The Internet Computer as a Layer 2 Solution for Bitcoin

Designed to integrate with other blockchains, the IC has the capacity to breathe new life into existing cryptocurrencies like BTC, and allows us to reimagine their use cases and implementation.

The Internet Computer as a Layer 2 Solution for Bitcoin

The IC provides a whole host of different features that are new to the crypto space. Designed to integrate with other blockchains, the IC has the capacity to breathe new life into existing cryptocurrencies like BTC, and allows us to reimagine their use cases and implementation.

While BTC has exploded in growth over the past few years, seeing a massive uptick in adoption, there are still a few underlying issues with the technology. These issues prevent the network from reaching its full potential as a fully functional currency in its own right. Transaction costs are too high, and transaction speeds are too low.

Implementation of ckBTC

The advent of  Chain Key Cryptography has seen the IC innovate on the already cutting-edge technology of the network. The integration for Chain Key Bitcoin (ckBTC) is being built as I write and should be coming online soon, pushing the IC network to an even higher level of functionality.

The IC network is composed of canister smart contracts. These pieces of code can perform a variety of different functions, making the network feature rich and versatile. Among the many different actions that canisters can carry out is the ability to hold BTC. That's right, canister smart contracts on the IC network can hold actual BTC, which lives on the BTC blockchain!

This ability to hold BTC is achieved by building on threshold ECDSA signatures,  and by direct integration with BTC. The beauty of this approach is that smart contract functionality is then possible with BTC, which natively has no such smart contract capabilities.

ckBTC held in canister smart contracts on the IC network can be viewed as wrapped BTC. By wrapping BTC in this manner, it is rendered compatible with smart contract functionality and so is inherently improved in usefulness.

Although BTC, which has been wrapped in this manner, has alternative use cases, the drawbacks of BTC are still present and must be overcome through innovation. Transaction speeds with BTC are slow, and transaction costs are high; that's just the way it is with BTC.

The IC, however, seeks to eradicate these issues by building out ledger functionality, which allows users to transfer BTC in and out of accounts on the ledger and buy and sell Bitcoin by way of the ledger, making BTC transactions much more efficient, speedy, and cost-effective.

Wrapped BTC is, in fact, a token native to the IC blockchain, meaning it can be transacted with in an efficient manner and can be transferred quickly, with low fees. The token is all the while backed by actual Bitcoin on the BTC blockchain. There is an extremely low transaction fee of 10 satoshi for ckBTC transactions on the IC blockchain.

The "ckBTC minter" canister smart contract will allow users to deposit their BTC tokens, which live on the BTC blockchain, into their personal deposit address, and subsequently receive an equivalent amount of ckBTC, which can be deployed for use across the IC network. The canister also can be used to convert tokens in the opposite direction in order to reclaim BTC.

The "ckBTC minter" canister will be completely transparent, allowing users to view exactly how much BTC is held on the contract at all times. Stats such as UTXOs held by the canister will also be available for viewing by users.

The Network Nervous System will own ckBTC, meaning that any upgrades to canisters will need to be carried out with the approval of the NNS. Upgrades are not under the control of any individuals, meaning that ckBTC will uphold the ethos of trustlessness that is such an important part of BTC and the crypto space as a whole.

ckBTC will follow the ICRC-1 standard, which is an IC standard for fungible tokens. The standard sets out the parameters that ckBTC (and all other ICRC-1 tokens) will follow and allows for a smooth and predictable rollout of ckBTC, while removing any potential issues of functionality with wallets, etc.  

As of now, ckTESTBTC can be obtained on the IC testnet. ckTESTBTC wraps TESTBTC in place of real Bitcoin and has been implemented in order to allow users to become more familiar with the ckBTC system. Developers can also test ckBTC integrations using ckTESTBTC.

Testnet BTC can be obtained from the BTC testnet faucet, which can be sent to your deposit address, where it is swapped to ckTESTBTC, ready for use on test applications. Stats for ckTESTBTC can be viewed here.

Why go through all the Trouble?

With a fully diluted market cap of $448B at the time of writing, it is worth the effort to improve upon BTC as it currently functions and remove some of the pinch points that exist with it. Speeding up the average BTC transaction, and making the cost of that transaction lower, means BTC can do even more, and more users will transact with BTC going forward.

With the crypto space set to grow in the coming years, it is essential that networks like the IC make the effort to innovate upon BTC technology and implement their own brand of Layer 2 solutions to help BTC adoption. As BTC is the leader in the cryptocurrency market, it is the rising tide in the space that lifts all boats. When BTC does well, the crypto industry as a whole does well.

On top of this, the BTC integration and the implementation of ckBTC by the IC will drive interest and traffic to the IC network. There is a hunger amongst crypto users for solutions when it comes to the usability of BTC, and by solving these issues, the IC can be sure to win fans and adoption. Innovations such as ckBTC lay the foundations for the growth of the IC network for years into the future.

Wen ckBTC?

The release of ckBTC has been slated for early 2023, so very soon, hopefully. Then we can all enjoy an improved BTC experience courtesy of the IC and ckBTC!

Connect with InfinitySwap

Bitfinity Wallet |AMM | Twitter | Website | Telegram | Discord | Github