|
|
(13 intermediate revisions by 4 users not shown) |
Line 1: |
Line 1: |
− | 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.
| + | #REDIRECT [[Introduction to ICP]] |
− | | |
− | ## What is the Internet Computer? | |
− | | |
− | Conceptually, the Internet Computer is an extension of the existing internet that enables a global network of computers to provide the computing power for running application software.
| |
− | | |
− | In much the same way that the adoption of the transmission control protocol (TCP) and Internet protocol (IP) provided rules for transferring data between endpoints that helped to establish the “network of networks” that we know as the internet of today, the Internet Computer relies on a decentralization protocol called the Internet Computer protocol to define the software components that enable a global network of computers to combine their resources to read, replicate, modify, and return application state.
| |
− | | |
− | The keys to Internet Computer infrastructure are:
| |
− | | |
− | * A '''secure protocol''' that enables general-purpose computations to run transparently directly on the internet.
| |
− | * A '''network''' that runs the protocol to provide computing capacity—for example, the hardware, CPU, and memory required to run programs—through '''independently-operated data centers.'''
| |
− | * A '''globally-accessible and scalable platform''' for running software applications.
| |
− | | |
− | ## Why build the Internet Computer?
| |
− | | |
− | For end-users, accessing Internet Computer-based services is largely transparent. Their personal data is more secure than when accessing applications on a public or private cloud, but the experience of interacting with the application is the same.
| |
− | | |
− | For the people creating and managing those Internet Computer-based services, however, the Internet Computer eliminates many of the costs, risks, and complexities associated with developing and deploying modern applications and microservices. In addition, its secure protocol guarantees reliable message delivery, transparent accountability, and resilience without relying on firewalls, backup facilities, load balancing services, or failover orchestration.
| |
− | | |
− | In some ways, building the Internet Computer is about restoring the Internet to its open, innovative, and creative roots. To focus on a few specific examples, the Internet Computer does the following:
| |
− | | |
− | * Supports interoperability, shared functions, permanent APIs, and ownerless applications which reduces platform risk and encourages innovation and collaboration.
| |
− | * Persists data automatically in memory which eliminates the need for database servers and storage management, improves computational efficiency, and simplifies software development.
| |
− | * Simplifies the technology stack that IT organizations need to integrate and manage which improves operational efficiency.
| |
− | | |
− | ==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.
| |