Internet Computer wiki
Welcome!
This is a general source of information about the Internet Computer (IC), the world's fastest and most powerful blockchain network[1]. Created for and by the IC community, topics vary from cryptography, network governance, user experience, tokenomics, developer tutorials and more.
Introduction to the Internet Computer
The Internet Computer is a general-purpose blockchain that hosts canister smart contracts. It has a completely unique design that reflects a ground-up rethink of blockchain architecture and the application of modern cryptography, which can be traced back to 2015. It was built by the largest ongoing R&D effort in crypto, which has employed many notable cryptographers, computer science researchers and engineers. The blockchain underwent genesis in May 2021 and became part of the public internet.
The Internet Computer blockchain's protocols leverage novel chain key cryptography to combine multiple subnet blockchains into a single blockchain. This allows it to horizontally scale the total volume of hosted canister smart contracts, and their computations and data, without limit. These smart contracts run at web speed, and with web-levels of efficiency, and uniquely, thanks to the blockchain architecture enabled by chain key crypto, can process HTTP requests and directly and securely serve interactive web experiences to the end-users of web3 services, without need for trusted intermediaries (whereas on other blockchains, the web experience users interact with is generally built on centralized, insecure and trusted servers or cloud computing services).
Through these kinds of unique capabilities, the Internet Computer provides a platform that can be used to build mass market web3 services that run 100% on-chain, without any need for traditional IT, such as web servers and databases running on cloud computing services. The longer-term objective is that the Internet Computer will completely replace traditional IT, creating a blockchain singularity, in which everything runs fully on-chain in powerful new forms where it is unstoppable and cannot be hacked.
The development of the Internet Computer has heralded numerous notable technological developments, such as chain key cryptography and programming languages such as Motoko. In another notable advance, the Internet Computer hosts an advanced DAO within its protocols, called the Network Nervous System, which provides the community with direct control over network governance, and can upgrade the protocol running on its network nodes, without requiring the network to fork. The network's utility token is ICP (see Roles of the ICP utility token).
A recent new technological advance has extended the Internet Computer's chain key cryptography protocols. This has enabled smart contracts hosted on the Internet Computer to directly interact with other blockchains, without need for dangerous centrally-controlled bridges or wrapping (see trustless multi-chain web3 using the IC).
For example, a canister smart contract hosted on the Internet Computer can create bitcoin addresses, and directly send and receive bitcoins on the Bitcoin ledger as though it were hosted by the Bitcoin network itself. This is possible because chain key crypto enables blockchains to create public "chain keys", for which their nodes can create corresponding signatures. Recent work has now made it possible to create ECDSA chain keys. Since ECDSA is the signature scheme used by most other blockchains, this means the Internet Computer can create TX on other blockchains.
Future work will enable its smart contracts to directly interact with other important blockchains such as Ethereum. This also leverages other important features such as HTTPS outcalls. As a consequence, many believe that the Internet Computer will play the role of an orchestration layer that combines different blockchains in the web3 environment, and helps combine them with off-chain services and systems, such as Web 2.0 services and enterprise systems, in a trustless way.
Popular places to start
- Internet Computer overview video from 2022 IC hackathon
- June 2022 IC hackathon, full launch video
- Internet Computer Infographic (PDF)
- Glossary
For a general audience
For a more technical audience
- "Internet Computer for Geeks" paper
- The "How it works" series with videos and in-depth articles on various topics.
- Technical AMAs on Reddit by different IC and DFINITY teams
Internet Identity Introduction
One of the core benefits of building on the Internet Computer is that end users do not need to pay fees or use tokens to access and use dapps. As an alternative to authenticating from a wallet, users can authenticate with an Internet Identity. Learn more information about Internet Identity (II), a blockchain authentication framework supported by the Internet Computer:
- What is Internet Identity
- How to create an Internet Identity
- Internet Identity technical overview
- Internet Identity dapp
IC for Dapp Users
If you use or are interested in using dapps on the Internet Computer, this section will help you understand the user experience benefits of the IC, how to use Internet Identity, or find more IC dapps.
Examples:
See more in Internet Computer for dapp users
IC for ICP Token-holders, Stakers, and Neuron Holders
The Internet Computer is governed by on-chain governance system called the Network Nervous System (NNS). To participate on governance, users need to stake ICP tokens. This section will explain how the NNS works, ICP tokens, staking, voting, rewards, and options for managing one's ICP.
Examples:
- ICP token
- Tutorials for acquiring, managing, and staking ICP
- Staking, voting and rewards
- Governance of the Internet Computer
- Network Nervous System
- Total supply, circulating supply, and staked_ICP
See more in Internet Computer token-holders, investors, and neuron holders.
IC for Smart Contract and Dapp Developers
The Internet Computer (IC) is a new platform for executing smart contracts. This section contains information for developers, including links to documentation, developer forums, and relevant dashboards.
Examples:
- Canisters (dapps/smart contracts)
- Developer documentation on smartcontract.org
- IC community developer forum
- Bitcoin integration
- SNS Tokenization Considerations
- Web Speed
- Web Serving
If you've been programming smart contracts on Ethereum before, you should read The Internet Computer for Ethereum Developers.
See more in Internet Computer for smart contract and dapp developers.
IC for the Curious, Researchers and Blockchain Enthusiasts
This section is for those interested in how the Internet Computer works under the hood. It touches many different subject areas from cryptography, consensus protocols, virtual machines, operating systems, networking, distributed systems, etc.
Examples:
- How the Internet Computer Works
- Internet Computer dashboard
- Internet Computer performance
- DFINITY Foundation
- Bitcoin integration
- Third-party security audits
See more in Internet Computer for researchers and blockchain enthusiasts.
For Node Providers
Node providers invest in and operate node hardware, which powers the Internet Computer with processing and storage capacity. Running these nodes in data centers provides the high performance and the cost-effectiveness of the Internet Computer. Every node provider is allowed a limited amount of nodes.
- Node Provider Onboarding
- IC OS Installation Runbook - Dell Poweredge
- IC OS Installation Runbook - Supermicro
- Storage Runbook
- Node rewards
Technical Working Groups
FAQs, Tutorials, and How-tos
Tutorials are guided introductions to user stories, intended for first-time users and characterized by a shallow learning curve. How-Tos are step-by-step instructions for specific, narrow goals.
FAQs
Best Practices
Example:
See more in Best Practices
Tutorials
Example:
- Tutorials for acquiring, managing, and staking ICP
- How-To: Claim neurons for seed participants
- How-To: Create an NNS motion proposal
- How-To: Set your neuron to follow another neuron
- How-To: Updating neuron following via quill
See more in How-Tos.
Contributing to the Wiki
How to contribute
Anyone can read the wiki. You can also edit pages, all you need to do is create an account. See more in Contributing to the wiki.