Skip to main content

What is the ICP blockchain?

ICP's vision

Smart contracts are the new and vastly superior way to build software. Being embedded in blockchain protocols, smart contracts are secure, tamper-proof, resilient, and unstoppable.

ICP's vision is that most of the world's software will be replaced by smart contracts. To realize that vision, ICP is designed to make smart contracts as powerful as traditional software.

What ICP offers today

Performance

Smart contracts can have 100s of GBs of memory and compute at the full speed of a modern CPU. For comparison, this is many orders of magnitude more than Ethereum smart contracts.

For example: Learn more about ICP performance

Low cost & resource efficiency

ICP is designed to be resource efficient so that it is low-cost and green. For example, on ICP storing a GB of memory only costs a smart contract $5 per year.

Learn more about ICP costs Learn more about ICP environmental sustainability

State-of-the-art user experience

Users only need a browser to interact with ICP smart contracts. Users do not need wallets or tokens or any custom software, taking away all hurdles of using a smart contract.

Learn more about how ICP contracts can host user-facing frontends

Interoperability

ICP can interface with other smart contract blockchains and traditional (Web 2) internet resources via HTTP requests and signing capabilities.

For example:Learn more about ICP HTTP outcallsLearn more about ICP contracts threshold signingLearn more about ICP's multichain capabilities

Dev friendliness

Developers can write contracts using popular languages like Rust, TypeScript, or Python and easily incorporate libraries from their respective ecosystem, much like they would in traditional web development. Additionally, they have the option to use Motoko, a language specifically designed for the ICP environment.

Learn to build on ICP

What are the key design choices ICP makes to achieve these capabilities?

DAO controls and upgrades the network

What it is: Protocols usually develop slowly as building consensus takes time. A key feature of ICP among blockchains is its ability to frequently update without losing decentralization. ICP self-upgrades through the NNS DAO, and since its launch, it has undergone hundreds of upgrades.

What it enables: New functionality can be added. All of the rich capabilities smart contracts have above are due to the protocol being able to update itself.

Scale out via subnets

What it is: ICP consists of many subnets, each powering a subset of the smart contracts running on ICP, and all smart contracts can seamlessly talk to each other. New subnets can be added dynamically, which allows ICP to scale and keep up with increasing load.

What it enables: Efficiency and performance.

Standardized, powerful node hardware

What it is: A replicated system is only as fast as the weakest nodes. To enable these powerful smart contracts, ICP runs on powerful machines in data centers. Nodes on ICP must keep up with the high minimum bar. The implication of this design decision: one cannot simply participate with their Raspberry pi.

What it enables: Performance.

Asynchronous execution

What it is: Smart contracts run in an asynchronous environment (as opposed to Ethereum's synchronous model). This is because in a synchronous environment the "whole world waits" for one's smart contract transactions. This is easy for a developer to reason about but it comes with large performance penalties. ICP has an asynchronous environment to enable many smart contracts to be processing simultaneously. The implication of this design decision: a more complex programming model for web3 developers, but one more familiar to Web2 developers.

What it enables: Efficiency.

Deterministic decentralization

What it is: Blockchains get their security from replication, having many computers do the same computations and check each others work. This is great for security, but also inefficient, as many computers redo the same work. Deterministic decentralization algorithmically maximizes decentralization and security while minimizing replication. The decentralization maximized include: number of unique node providers, their location, their data centers, etc... The implication of this design decision: The replication factor is not as high as it is on Bitcoin and the-like.

What it enables: Efficiency.

WebAssembly (Wasm)

What it is: WebAssembly is a widely accepted open standard for binary formats.  ICP uses WebAssembly to handle the binary format of its smart contracts. This allows developers to write smart contracts in many popular programming languages with minimal extra development effort, thanks to the available mappings from these languages to WebAssembly.

What it enables: Developer friendliness.

Reverse gas

What it is: The reverse gas model enables developers to prepay gas fees by loading their smart contracts with 'cycles.' This allows users to interact with these contracts without needing tokens or a wallet, simplifying entry into Web3. By removing common barriers, this model offers a user experience similar to traditional web applications, facilitating easier adoption.

What it enables: State-of-the-art user experience.

Smart contracts serve web assets

What it is: Users interact with smart contracts through a standard browser without needing plugins or custom software.

What it enables: State-of-the-art user experience.

Chain key cryptography

What it is: Family of protocols leveraging threshold cryptography enabling ICP to sign messages which can be verified efficiently.

What it enables: Interoperability and state-of-the-art user experience.

Get familiar with ICP