The Internet Computer is a blockchain that enables developers, organizations, and entrepreneurs to build and deploy secure, autonomous, and tamper-proof canisters, an evolution of smart contracts.
As a dapp developer, you might find it useful to think of the Internet Computer as providing the following key features:
- A globally-accessible, public blockchain for running smart contracts at web speed, that can serve interactive web content to users.
- A secure cryptographic protocol (Internet Computer Protocol) run by nodes machines operated by independent node providers in independent data centers all over the world. This guarantees the secure execution of smart contracts.
- A network of blockchains connected using Chain Key cryptography that can scale out its capacity as required.
An Open Blockchain
The Internet Computer is a blockchain hosted on node machines operated by independent parties and located in geographically distributed datacenters. The nodes run the Internet Computer Protocol, an advanced cryptographic fault-tolerant protocol which ensures that smart contracts running on the blockchain cannot be tampered with or stopped. The Internet Computer is composed of individual subnet blockchains running in parallel and connected using chain key cryptography. This means that canisters running on a subnet can seamlessly call canisters hosted in any other subnet of the Internet Computer blockchain.
Another important feature of the Internet Computer is that it runs under the control of a decentralized permissionless governance system, called Network Nervous System (NNS), which runs completely on-chain. The NNS can make decisions on several topics, including scaling out the Internet Computer by creating new subnet blockchains, updating the node machines, and configuring parameters used in the Internet Computer protocol. Anyone can participate in the governance and submit new proposals to the NNS or vote on open proposals. To do so, users have to stake ICP, the Internet Computer utility tokens, and create a neuron with the NNS.
Building the Next Generation of Software and Services
The Internet Computer protocol reduces platform-based risks and paves the way for innovation by re-imagining how software is built, deployed, and accessed.
For example, with the Internet Computer, developers can focus on writing code using canisters without environment-related distractions such as:
- physical or virtual network configuration requirements
- load balancing services
- firewalls, network topology, or port management
- database configuration and maintenance
- storage volumes and devices
By enabling developers to focus on building applications and delivering value, the Internet Computer helps simplify the development process, reduce time to market, and foster innovation.
For end-users, the Internet Computer provides a secure environment for accessing dapps with fewer risks. Because of the inherent security of the blockchain, programs running on the Internet Computer cannot be hijacked by malicious code, which also reduces the total cost of ownership for both application end-users or organizations.
In addition, because dapps can be "autonomous" and public, developers can write services that communicate with each other and share functions in ways that increase productivity and efficiency while leaving room to innovate and improve projects with confidence.
The Internet Computer also enables developers to use cryptographically-secure identities to enforce access controls, reducing the need to rely on usernames and passwords or external identity management plug-ins.