ICP is a Bitcoin sidechain that provides excellent protocol primitives for building Bitcoin applications. 1. Bitcoin light nodes running entirely on-chain (UTXO, balances, block headers) 2. Threshold signature subnets (ECDSA, Schnorr) for signing Bitcoin and Taproot transactions 3. Bitcoin bridge leveraging BTC on ICP (ckBTC) 4. Fast finality (2 seconds) 5. Affordable on-chain smart contract storage ($5/GB/year) 6. WASM-based, so developers can use TypeScript, Python, or Rust as smart contract languages ​​7. Host your smart contract directly from your website (full-stack DAO) 8. Users don’t have to pay gas or network fees 9. Decentralized oracles and indexers 10. Automated, repetitive processes on-chain

- Now let's dive into what this all means

0. Bitcoin Sidechain

ICP has a separate consensus model and a separate token, making it a Bitcoin sidechain (using the most general form of the definition). So you can compare it to Stacks, Rootstock, Liquid, Fractal Bitcoin, Arch, and any Bitcoin L2 to date (since there aren’t really any true L2s on Bitcoin yet, aside from the Lightning Network).

1. Bitcoin light nodes that run entirely on-chain

ICP has a Bitcoin light node that runs entirely on-chain. This means you can retrieve the UTXOs held by an address, the balance of an address, or get a block header directly through a smart contract call. This light node has a network of nodes that pulls data from multiple trusted Bitcoin full nodes, runs the data through a consensus process, and then saves the data on-chain. This is a more decentralized process for transferring Bitcoin data to the sidechain. 2. Threshold

2. Signature Subnet

ICP has an ECDSA signing subnet and a Schnorr signing subnet. This means that smart contracts on ICP can have Bitcoin addresses, sign L1 Bitcoin transactions directly, and can programmatically control Bitcoin in a more decentralized way. These signing subnets can power Super DLCs, create bridges for Bitcoin assets (Bitcoin, Ordinals, BRC-20, Runes, TAP, etc.), or interact more deeply with Taproot transactions. You can also interact directly with other ECDSA chains (ETH, Base, Blast, Arbitrum, Optimism), or soon with EDDSA chains (Solana, Cosmos). This means you can use this technology to bridge BRC-20 to ETH, or Runes to Solana, etc. 3

3. Bitcoin Bridge

ckBTC is a wrapped version of Bitcoin on ICP. Users deposit Bitcoin into an ECDSA threshold signature subnet Bitcoin address, and after 6 confirmations, ckBTC is minted to the target account of your choice. ckBTC has fast finality (2 second transfers) and costs only 10 sats per transfer (fees are paid directly in ckBTC). We can also use threshold signatures for ordinal bridges, BRC-20 bridges, Runes bridges, or other meta-protocol bridges.

4. Rapid Finality

ICP has a subnet model for scalability. This means there are 13 geographically distributed nodes in each subnet (some subnets have more nodes for added security), and you only reach consensus within the subnet. This means you get 2 second finality for smart contracts, but it also means you lose global state validation (the tradeoff of the fast subnet model).

5. Affordable on-chain smart contract storage

Each smart contract on ICP can store up to 400GB of data. This data is native smart contract data, which means you can easily access the data directly from the smart contract without calling data provider services such as IPFS or Arweave. The cost of this smart contract data storage is $5/GB/year. This means you can store videos, high-resolution images, or 3D models directly on-chain.

6. Development based on WASM

WASM means that developers can build smart contracts using TypeScript, Python, or Rust (there is also Motoko, a proprietary language built for ICP smart contracts that is similar to TypeScript). This also means that you can bring in existing Rust/TS/Python libraries to build smart contracts on ICP.

7. Hosting a website from your smart contract

ICP smart contracts can natively host front-end websites. This means you can build fully decentralized full-stack applications on ICP (backend smart contracts, assets completely on-chain, front-end hosted from your smart contracts, back-end APIs hosted in your smart contracts). This means you can deploy a Bitcoin full node on ICP and then host a decentralized Bitcoin browser directly from the smart contract (no one has done this yet, but it is possible now, let me know if you want to research this).

8. Users do not need to pay Gas fees

ICP uses a reverse gas model, which means that all transactions are sponsored by default. Developers pay for compute, hosting, and storage, and users don't have to worry about paying fees. This makes it very easy to build great user experiences because users don't have to acquire any tokens to pay for gas/network fees. This is even more practical on ICP because the fees are so small, so abstracting them away from users is the best path for developers.

9. Decentralized Oracles and Indexers

ICP smart contracts can make http calls directly from the smart contract. This means you can build your own oracles. If you want to get price feeds, sports data, election results, or floor prices, you can do it all in your own custom oracle on ICP. You have the flexibility to make it as powerful and decentralized as possible. In addition to oracles, you can also build decentralized indexers for the Bitcoin meta-protocol. I already know of a team running a decentralized Runes indexer on ICP. This means the indexer code runs in a decentralized smart contract. Centralized indexers are one of the main tradeoffs of meta-protocols. You get essentially unlimited computation, but at the cost of having all computation done off-chain with a centralized indexer. 10.

10. Repeated automation processes on the chain

ICP smart contracts have the ability to schedule cron jobs (or recurring processes) directly on-chain. This means you can build chain hooks that watch for certain events on Bitcoin, and then respond in some way with your smart contract code. So you could watch the Bitcoin blockchain to see if someone inscribes a specific ordinal, and then you could programmatically send them Runes to inscribe that ordinal. This would all happen in a decentralized, on-chain smart contract.

summary

ICP is a general purpose protocol that aims to be a decentralized web services blockchain that provides computing, hosting, and storage in a blockchain environment. ICP is a Bitcoin sidechain because you can bridge Bitcoin, Ordinals, Runes, and BRC-20 to ICP, you can sign Bitcoin L1 transactions natively from ICP smart contracts, and you can use smart contract calls to pull Bitcoin data natively from on-chain Bitcoin light nodes. ICP has excellent Bitcoin integration technology (threshold signatures, Bitcoin bridge, ordinal bridge, Bitcoin light node, oracle, decentralized indexer), making it very easy for developers to build Bitcoin applications.