About ICP
The Internet Computer adds autonomous serverless cloud functionality to the public internet – making it possible to build almost any system or service entirely on a decentralized network using “canister software,” an evolution of smart contracts.
The Internet Computer is the fastest, most efficient, and only infinitely scalable general-purpose L1 blockchain — incubated and launched by the DFINITY Foundation in May 2021.
The Internet Computer is a World Computer blockchain that can host anything from a social network to a large enterprise system — removing the need for centralized IT.
The Internet Computer advanced blockchain code is tamperproof and unstoppable. It can truly scale, and runs with incredible efficiency serving web experiences to endusers, interacting with Web2, and trustlessly creating transactions on other chains.
ICP is the last-generation public decentralized smart contract network. Thanks to the lowest in the industry on-chain data storage price and cutting-edge tech, you can host and automate any sort of dapp and service on ICP smart contracts called canisters.
Unique Features of the Internet Computer
Novel Consensus Mechanism
Proof-of-Useful-Work
Efficient, secure, unstoppable.
Extremely safe and reliable
0 significant downtime
in >1.5 years of constant growth.
Check for yourself on our ICP live dashboard
Certified greenest blockchain
0 significant downtime in >1.5 years of constant growth.
Watch more (Youtube)
Read more (Report)
Last generation smart contracts
Canister smart contracts can store software and data.
Cheapest & stable transaction cost
Fixed 0.0001 $ICP x transaction cost allows infinite scalability.
Unique Reverse Gas Fees Model
End-users never pay for using dapps and web services.
Read more (Website)
Read more (Blog)
$5.5 GB/year on-chain data storage cost
Million of times cheaper than ETH. Apps don’t need cloud services.
Read more (Guide)
Direct HTTPS outcalls to Web2 sites
Enables Web3-Web2 interoperability, eliminates need for oracles.
Read more (News)
Read more (Blog)
End-to-End On-Chain User Experience
Full-Stack Blockchain
The Internet Computer can host online services and games fully on-chain without ever relying on centralized cloud providers. This provides complete decentralization and removes single points of failure.
Web3 social platforms, exchanges, games, and other innovative projects are running on-chain on the IC.
Explore the Full Web3 Experience
Apps front end on-chain
Now on-chain platforms like OpenChat, DSCVR, InfinitySwap, distrikt, Papyrs, and many more are all optimised for search. Though their frontends are built on an advanced blockchain rather than traditional IT, this is no longer an obstacle to discoverability and large-scale adoption.
Watch more (Advanced)
SEO Optimization
First googleable smart contracts in the world. Discoverable (SEO compatible) on traditional search engines like Google. Visible on social media previews, even with on-chain URLs. Hosted on real and not “raw” blockchain URLs.
Read more (Blog)
Internet Identity
The What and the Why
Internet Identity is a gateway to applications on the Internet Computer anchored to your favorite devices. When you use Internet Identity, websites cannot collect and share information about your online activity. This is because Internet Identity helps you create and manage anonymous, independent accounts with one unique anchor. You get the privacy of having many different accounts without the burden of managing them.
Get Started with Internet Identity
It allows users to create sessions with Web3 services and dapps, and sign traditional blockchain transactions. You can sign up and login to any ICP dapp with it. It is performed with supreme security, ease and convenience, and in a completely decentralized way. Learn how to use Internet Identity.
The architecture of the IC
The Internet Computer Protocol runs on servers with standardized hardware, which we call nodes. Nodes are distributed globally and hosted in independent data centers to ensure fault tolerance and decentralization. Nodes are grouped together into subnets, where each subnet constitutes its own blockchain that makes progress independently of the other subnets, resulting in unprecedented performance and scalability in the blockchain space. All subnets are connected and orchestrated by the Internet Computer Protocol to give rise to the Internet Computer.
The IC improves and evolves at a rapid pace through regular and seamless roll-outs of software updates that boost performance, iron out bugs, and introduce entirely new capabilities. Continuous hardware upgrades, adding nodes or subnets, make the IC scale virtually without bounds — scaling the IC is always possible by adding additional nodes.
ICP is a utility token which is used for these purposes:
Participating
in the governance of the Internet Computer by staking ICP in the Network Nervous System DAO (NNS) – in order to vote on proposals and earn voting rewards.
To Pay
he entities who provide compute capacity by operating node machines (node providers).
To Transform
ICP into cycles ($XTC), which are used as fuel for computation on the network – running and using dapps.
To Invest
in token sales of decentralized autonomous organizations (DAOs) on the Internet Computer.
DAOs on ICP Service Nervous Systems
How it works
Similarly to how the Network Nervous System (NNS) is the open tokenized DAO that controls the IC blockchain, service nervous systems (SNSs) are algorithmic DAOs that allow developers to hand over their dapps to decentralized, tokenbased governance systems since the very beginning. Each decentralized dapp would have its own SNS.
OpenChat DAO
The first SNS Dao is OpenChat, a fully featured chat Read more (News) application running end-to-end on the Internet Computer blockchain.
Read more (News)
Read more (News)
1000s of developers are now building on the Internet Computer
Join the movement
Building Amazing dApps
How to build dApps on the Internet Computer
The Internet Computer was built for devs and dapps. Here you’ll find everything you need from beginner guides on its native programming language, Motoko, to advanced developer forums.
Languages & Resources
Motoko
Rust
Azle (Typescript)
Kybra (Python)
DFinity forums & developers community
Dfinity Foundation has created the Dfinity Forum which is not just a wealth of information, but also a place where it’s easy to connect with Dfinity researchers & also ecosystem developers.
Number of dapps and the developer ecosystem are growing fast on the IC, and everyone is out there to help each other. Join the Dfinity Dev Server on Discord to start connecting & getting your questions answered.
Canisters — next evolution smart contracts
A smart contract is a computer program executed on a blockchain. A canister smart contract on the Internet Computer bundles a computer program and its data. Every canister is hosted on one subnet of the Internet Computer. Canisters can be executed concurrently and are capable of communicating within and across subnets by sending asynchronous messages in a non-blocking manner, resulting in essentially unbounded scalability. Canisters are more powerful than smart contracts on other blockchains as they can:
- serve a user interface directly to any web browser,
- hold gigabytes of memory for a low fee,
- perform substantial amounts of computation at a low cost, and
- pay for their own computation (reverse gas model).
Canisters can be implemented in any language that compiles to WebAssembly. See selection of canister development kits ([CDKs])(https://internetcomputer.org/docs/current/developer-docs/backend/choosing-language).
The Internet Computer Protocol
The Internet Computer Protocol ensures that the canister state on any subnet is always consistent—even if multiple nodes of a subnet are faulty or misbehave. The IC is neither a proof-of-work, nor a proof-of-stake network, but a so-called DAO-controlled network, where the NNS DAO manages subnet node membership. The consensus protocol has the following properties:
- Low latency – A small number of rounds of exchange suffice to reach agreement. Consensus is normally reached within 1 to 2 seconds.
- High throughput – Every consensus execution can handle payloads in the order of megabytes.
- Cryptographic finality – IC consensus reaches cryptographically-guaranteed finality, that is, finalized state changes cannot be undone.
- Byzantine fault tolerance (BFT) – The IC can tolerate up to (but less than) one third of arbitrarily faulty nodes.
IC's Security Architecture
The correct operation of subnets (and inter-subnet communication) relies on a suite of novel cryptographic protocols, collectively referred to as chain-key cryptography. Chain-key cryptography makes it possible for subnets to authenticate
- responses to user requests,
- the subnet state, and
- inter-subnet messages in a completely decentralized way.
The NNS endorses the public keys of subnets, much like a decentralized certification authority. Users only need the 48-byte BLS public key of the NNS to validate the interaction with any canister. Traditional blockchains typically require newly joined parties to redo all transactions ever performed on the chain, which is not feasible in a high-throughput system like the IC.
The IC uses chain-key cryptography to provide:
- Subnet membership changes – A replica can join a subnet, by starting from the most recent valid checkpoint, or leave at any point in time.
- Proactive security – Threshold keys of the subnet are periodically reshared between the current nodes of the subnet.
- Permanent public keys – Membership changes and key resharing do not affect the public key of any subnet.
- Garbage collection – Periodically, previous blocks are pruned from each subnet blockchain to prevent storage from growing infinitely.
Chain Key Cryptography & Native Blockchain Integrations
Direct BTC Integration
ICP canister smart contracts can hold, receive, and send native bitcoin on the Bitcoin network, bringing last generation smart contract functionality to Bitcoin without using unsafe bridges to wrap bitcoin.
ckBTC Explained
ckBTC is backed 1:1 by bitcoin, and because it lives on the ICP, you can transact it fast and cheap, just like ICP.
The ckBTC minting canister smart contract shows all the UTXOs it holds, so you can check that the 1:1 status adds up to the amount of ckBTC in circulation. (verifiable wrapped bitcoin).
ckBTC removes the dangers of 3rd parties intermediaries and the hacking risks related to bridges. It maximize the web3 experience of BTC making it easy to use and transact and web speed and neglectable fees.
Upcoming ETH Integration
Ethereum integration, and Internet Computer integrations with other blockchains, works slightly differently than the one with Bitcoin, which involves UTXOs. Internet Computer smart contracts can create arbitrary Ethereum transactions, then query the results using HTTPS outcalls feature.
+92% year-on-year growth in number of active developers
Featured as a major player in the “Top 50” report by Crypto Valley.
References and further information
- Great resources to get a deeper understanding of how all components of the IC work and fit together are the How it Works page and the white paper.
- All of the IC’s source code is available in the IC repo.
- You can find information on the IC’s subnets, nodes, node providers, canisters, NNS proposals, voting, ICP transactions and more on our dashboard.
- Motoko is a novel programming language tailored to smart contracts on the IC. Check out Motoko.
Low latency – A small number of rounds of exchange suffice to reach agreement. Consensus is normally reached within 1 to 2 seconds.
- High throughput – Every consensus execution can handle payloads in the order of megabytes.
- Cryptographic finality – IC consensus reaches cryptographically-guaranteed finality, that is, finalized state changes cannot be undone.
- Byzantine fault tolerance (BFT) – The IC can tolerate up to (but less than) one third of arbitrarily faulty nodes.