Internet Computer overview

From Internet Computer Wiki
Revision as of 09:57, 27 January 2022 by Ais (talk | contribs) (IC first text)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The Internet Computer is a “general-purpose” blockchain that provides a public platform for hosting tokens and decentralized applications (dapps). The Internet computer acts as a complete technology stack, such that systems and services can be built that run entirely from blockchain.

Smart Contracts

Canister smart contracts can service HTTP requests created by end-users, which allows them to directly serve interactive web experiences. This means that blockchain dapps, systems and services be created without incorporating websites running on corporate cloud hosting services and private servers into their architecture, which provides true end-to-end Web 3.0 decentralization, censorship resistance, and superior security.

Dapps

Dapps are built using a new, powerful form of smart contracts, called "canister smart contracts", or just "canisters". Developers create dapps in programming languages such as Rust or Motoko, compile them to WebAssembly byte code, and deploy the WebAssembly modules into canisters on the Internet Computer. A canister comprises a WebAssembly module and persisted memory.

Internet Identity

End-users can interact pseudonymously with hosted dapps, systems and services using Internet Identity. Internet Identity allows users to authenticate using cryptographically enabled devices such as the fingerprint sensor on a laptop, face ID on a phone, or portable authenticators such as a YubiKey or Ledger wallet.

NNS

The Internet Computer is governed and managed in realtime by a governance system, which is integrated into its blockchain protocols, called the Network Nervous System (or NNS). Anybody can submit proposals to the NNS, and they are either rejected, or adopted, and then automatically executed. Proposals can add additional nodes to run the Internet Computer, upgrade the Internet Computer protocol by updating the replica software running on node machines, tweak economic parameters, perform general configurations, and many other things. This provides an advantage over traditional blockchains, which must be upgraded manually by those operating nodes via a "hard fork". The decentralized Internet Computer network is thus designed to be self-directed.

Tokens

The Internet Computer uses a utility token ICP. ICP can be staked in the NNS and participate in the governance of the Internet Computer and earn voting rewards. ICP can also be converted into cycles and used to power computation, communication and storage costs of canisters. The blockchain incorporates a "reverse gas" model, in which smart contracts pay for their own computation, and must be pre-charged with cycles to run in much the same way an electric car must be pre-charged with electricity to drive. This ensures that end-users of dapps, systems and services can interact with them over the web without needing tokens to pay for the computations that they initiate. The Internet Computer maintains a floating conversion rate so that 1 Trillion cycles costs approximately 1 IMF SDR in ICP.

Internal Building Blocks

Internally, the Internet Computer's network is comprised from individual subnet blockchains. New subnet blockchains (often simply called "subnets") are formed by combining node machines to increase its capacity for hosting smart contract data and computation. Its protocols leverage chain key cryptography to have subnets function as a single blockchain, such that they are completely transparent to smart contract code, and every smart contract on the blockchain can directly call any other smart contract. Any number of subnets can be added, with each additional subnet linearly increasing the network's overall capacity.

The Internet Computer runs on a sovereign network of special node machines that are dedicated to the task. They are run by independent node providers (node owner/operators), from independent data centers, in different geographies and jurisdictions around the world, without any need for corporate cloud services. New subnets are formed by combining node machines that are calculated to be independent according to a decentralization hierarchy comprising node provider, data center, geography and jurisdiction, which makes it possible to produce the desired security and resilience properties with both higher certainty and lower levels of replication, thus driving efficiency.

The Internet Computer was developed by the Dfinity Foundation, which now continues as its lead contributor. The network underwent Genesis on 10th May 2021.