Skip to main content

What is the ICP blockchain?

ICP is best understood by exploring its foundation: canister smart contracts. Here's a simple explanation of why canister smart contracts are effective, how they much more power full than ordinary smart contracts, and how they will change to world as ICP's vision is being realized.

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 on 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 on ICP costs

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.

Learn more on 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. These examples are possible only because of ICP's HTTP requests and signing capabilities:


Learn more on ICP HTTP outcallsLearn more on ICP contracts threshold signing

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 more on how developers build on ICP

Upgradability

Real software needs upgrading to evolve and quickly resolve problems, e.g. security vulnerabilities. However, this must not come at the cost of a central authority being in control.

For example:Learn more on ICP blockchain upgrades

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

NNS DAO upgrading

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: The IC is composed of many subnets.

What it enables: Efficiency and performance.

Standardized, powerful node hardware

What it is: A replicated system is as fast as the weakest nodes, hosting powerful machines in data centers. 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) to maximize throughput and efficiency. 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: Deterministic decentralization algorithmically maximizes decentralization and security while minimizing replication. The DAO that governs ICP actively votes and elects a diverse set of node providers that are identified so no small group of node providers owns a majority of the compute power. The implication of this design decision: The replication factor is not as high as it is on Bitcoin and the-like.

What it enables: Increased security guarantees while being efficient with less needless replication.

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: Allows users to interact with smart contracts without holding a token.

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: Easily read trustworthy statements from ICP by simply verifying a signature, as the chain has a single cryptographic public key. Decentralized by using threshold cryptography under the hood.

What it enables: Interoperability

Get familiar with ICP