What is the Internet Computer and ICP?-banner-imageAcademy

What is the Internet Computer and ICP?

The Internet Computer blockchain incorporates a radical rethink of blockchain design, powered by innovations in cryptography. It provides the first “World Computer” blockchain that can be used to build almost any Web 2.0 online system or service, and web3 services, including demanding web3 social media services, without any need for centralized traditional IT such as cloud computing services. It also enables smart contracts it hosts to directly create transactions on other blockchains. As such it enables the full end-to-end decentralization of online services and web3 for the first time.

A Web3 enabler

Imagine creating a group chat to organize your next vacation with friends, playing a social game, or interacting with photos and videos uploaded by your crush – social networks are now part of everyday life. However, they pose numerous privacy issues for users, share sensitive information with corporations, and often overwhelm users with advertisements. When you sign-up, you are asked to agree to general terms and conditions, but you cannot influence how your data is used, or what features the services provide.

Web3 has the potential to fundamentally update this old formula. A true World Computer can be used to build anything in a totally decentralized way, including demanding services like social networks. Whereas before blockchains could only be used to build web3 services in conjunction with traditional IT, such as cloud computing services, a World Computer blockchain makes it possible to build services that run entirely on blockchain. This makes it possible to assign control of these services to community DAOs (decentralized autonomous organizations). These play the role of digital democracies in cypherspace that mediate the wishes of their online communities regarding economic matters, and how to update and configure the services.

In this new formula, users are becoming both owners of web3 services and also part of the team that runs them – for example by referring other users, to drive viral growth, or helping with important tasks such as content moderation. Because web3 services running on the blockchain under the control of a DAO are fully decentralized, just like a blockchain, they can also tokenize, just like a blockchain. For example, a web3 service might airdrop the DAO’s governance tokens to users that help out, or enable users to send satoshis with a chat message.

Services like this are already being built today on the Internet Computer blockchain, which has provided the World Computer capabilities and functionality necessary. The aim is to transform the entire internet ecosystem.

World Computer Functionality

The purpose of the Internet Computer blockchain is to add World Computer functionality to the public internet. On the Internet Computer, developers can build decentralized online systems and services entirely on the blockchain, without using centralized traditional IT.

Because the Internet Computer is a blockchain, developers build online systems and services using “smart contract” software. Using smart contracts in this application can provide game-changing advantages. For example, because smart contracts are tamperproof, just like the Bitcoin ledger, systems and services do not have to be protected by firewalls to keep the hackers out – solving for the increasing number of hacks afflicting business and society. Another advantage is that web3 services built on the Internet Computer can process tokens, and create new economic rails. For example, web3 can combine social media and DeFi, to produce SocialFi, such as a social network that is fully tokenized.

The Internet Computer provides “canister” smart contract functionality. These can do many new things, including serving interactive web experiences directly to users by processing HTTP requests, creating transactions that directly run on other blockchains using “Chain Key TX”, scaling without limit, and running with efficiency comparable to traditional IT, greatly reducing the harmful CO2 emissions caused by blockchain, and one day, the tech ecosystem generally.

Web3 developers can build DeFi, SocialFi, GameFi and metaverse services. They can process tokens on other blockchains, without bridges, using Chain Key TX. And they can full decentralize systems such as DeFi on Ethereum, by using the Internet Computer to create the interactive web experience, in place of centralized traditional IT, such as cloud computing services.

On the Internet Computer, canister smart contracts uniquely pay for their own computation using a “reverse gas” model. This means web3 users can create sessions with services, which can submit vast numbers of blockchain transactions, such as sending chat messages in a conversation, without requiring additional interaction from the user.

The Internet Computer supports a new blockchain authentication system called Internet Identity. This allows users to use their devices as cryptographic passwords, signing in to online services using the fingerprint sensor on their laptop or Face ID on their phone, as well as traditional devices like a Ledger wallet.

Because web3 services can be built 100% on the blockchain, they can be placed under the full control of community DAOs (decentralized autonomous organizations), which perform all configurations and updates. Users can be made owners of online services, and part of the team that runs them.

The Internet Computer network is controlled by an advanced DAO that is integrated into its protocols, called the Network Nervous System, or NNS. This updates the replica (or “client”) software that runs on the dedicated node machines that host the blockchain on an almost weekly basis, driving the rapid evolution of the network.

Why Does the ICP token have value?

The ICP token has three main utilities. Firstly, ICP provides a source of “cycles” that are burned to power computation (thus when ICP is converted to cycles, it disappears, creating deflationary pressure). Secondly, ICP can be staked in the permissionless Network Nervous System DAO that governs the Internet Computer blockchain, creating voting neurons that generate voting rewards. Thirdly, ICP plays the role of a store of value, for example allowing users to invest in decentralization sales run by web3 services.

How Does the Internet Computer work?

The internet, which now connects nearly everybody and everything, runs on a network of special devices called routers. Some, like WiFi routers, are installed in homes, while others, which connect countries, are very specialized and expensive. The Internet Computer blockchain runs on a network of special computing devices called “node machines,” which are built to a variety of standards.

Today, most Proof-of-Stake blockchains are hosted by “validator” nodes that are software instances often spun up on cloud computing services. The Internet Computer cannot be hosted in this way. It runs entirely on a sovereign network of dedicated node machines, which are installed in independent data centers by independent “node providers.”

These node machines connect to each other using Internet Computer Protocol, or ICP, which is where the token gets its name from. The best moniker to describe the blockchain network model used by the Internet Computer is “Proof-of-Useful-Work”. The network has a governance system called the NNS, which can slash (‘eject”) node machines that fail to produce enough blocks and keep up with the network, which is why they need to be built to a standard specification.

Internally, the Internet Computer network is composed of “subnet blockchains.” Each new subnet adds additional capacity to the network, which means it can host more smart contracts, computation and data. However, these subnets are invisible to the hosted smart contracts and users. This is because they are combined into a single logical blockchain using “chain key crypto.”

Chain key crypto is unique to the Internet Computer. It enables subnet blockchains, and the overall Internet Computer blockchain produced, to have public “chain keys”. The blockchains cryptographically sign all their interactions, which can be validated using their chain keys. Valid signatures show that interactions have not been tampered with, and also that the blockchains are running correctly – without any need to download and check their blocks of transactions.

Thanks to chain key crypto, the Internet Computer can combine its subnet blockchains into a single blockchain and scale limitlessly. However, chain key crypto also makes other things possible! For example, smart contracts on the Internet Computer can process HTTP requests and serve interactive web experiences directly to end-users. This is more secure than normal web serving because the smart contracts can sign the content they serve, which can be validated before it is shown to users, keeping them safe.

Recently, chain key crypto has been used to make “Chain Key TX” functionality available to smart contract developers. This enables them to create signed transactions that run on other blockchains. For example, an Internet Computer developer can create bitcoin addresses, and send and receive bitcoin, directly on the Bitcoin ledger, without using insecure “bridge” services. Using this functionality, native Bitcoin DeFi can be created.

The Internet Computer also provides many other features that are unique within blockchain. These include HTTP outcalls, which enable smart contracts to securely query other systems over the web, through its network consensus system, for example making it possible for smart contract software to securely obtain data such as crypto asset price feeds without using a trusted oracle service.

The Internet Computer network is controlled and managed by a master subnet, which runs an advanced permissionless DAO called the Network Nervous System (NNS). This instructs the node machines how to structure the network. Nodes can verify that the instructions they have received from the NNS are genuine just by checking the chain key signature, since its chain key never changes.

The NNS instructs nodes to join and leave subnets, and to form new subnets. The cryptography and protocols work in a clever way, such that even though nodes come and go from subnet blockchains, their chain keys always stay the same.

On the Internet Computer, developers build using “canister” smart contracts. They are referred to as canisters, because they are bundles of WebAssembly bytecode, and persistent memory pages. The bytecode implements the logic of the smart contract, and it runs exclusively in its own memory, interacting with other smart contracts using message passing (using a software “actor” model). This makes it possible to run smart contracts in parallel, which is another way the Internet Computer scales.

Canister smart contracts are very powerful, and can be used to build anything. For example, multi-block transactions (computations) are possible, along with daemon smart contracts, which are automatically invoked periodically by the blockchain.

The main languages used for developing Internet Computer smart contracts are Rust and Motoko. Motoko is a language created by DFINITY specifically for the Internet Computer, which was developed by a team led by Andreas Rossberg, who was the co-inventor of the WebAssembly standard.

The best way to understand how the Internet Computer works, and the range of unique capabilities it provides, is to visit internetcomputer.org, and wiki.internetcomputer.org.