The simplest way to think about the Internet Computer Blockchain is as a decentralized hosting and compute provider, similar in many ways to Amazon Web Services, Google Cloud, or Microsoft Azure. All of these companies have data centers around the world that host websites and power the internet, just like the Internet Computer.
However, if we stopped there we would be missing the mark! The Internet Computer is a network of computers that is as decentralized and scalable as the internet itself, powered by smart contracts and chain key cryptography. This is a little more advanced than our first definition, but is basically a fancy way of saying it uses groundbreaking cryptography to create a more secure and usable blockchain that can run at web speed, meaning we can build web applications 100% on the blockchain, and it just works.
This might feel a little confusing at first, so let’s dive deeper to really understand what this all means and why we should care. But before we do that, let’s take a walk down memory lane to see how far the Internet Computer has come already.
1. The History of the Internet Computer
Oct 2016: DFINITY foundation started by Dominic Williams, based in Zurich, Switzerland
Feb 2017: Raised $4.2 million in a seed fundraiser (4x more than the soft cap target)
Aug 2017: Planned to follow the Feb 17 seed round with a main fundraiser, but decided on a different path
Feb 2018: Raised $61 million from Andreesen Horowitz and Polychain Capital
May 2018: Distributed $35 million of DFINITY tokens in an airdrop
Aug 2018: Raised $102 million from Andreesen Horowitz, Polychain Capital, SV Angel, Aspect Ventures, Village Global, Multicoin Capital, Scalar Capital, and Amino Capital, KR1, as well as DFINITY community members.
Nov 2019: Copper release: SDK and Motoko (start of metallurgy named releases)
Jan 2020: Bronze release: demo network
June 2020: Tungsten release: opened test network to certain developers
Sep 2020: Sodium Network: unveiled Network Nervous System/economics of IC ecosystem
Dec 2020: Mercury alpha release: Launched alpha mainnet of Internet Computer
May 2021: Mercury official release: Internet Computer genesis event; mainnet and ICP token launched
2. Internet Computer Components
Now let’s take a look at what the Internet Computer is made of. The internet computer has many different components: subnets, nodes, canisters, the NNS, neurons, proposals, votes, ICP, and cycles.
Subnets: A subnet is a group of nodes. Anything that runs on a particular subnet is replicated across one to many nodes in the subnet. The more technical (and accurate) definition of a subnet is a distributed group of nodes across geography and jurisdiction that builds a blockchain to achieve consensus on the exact set of messages/updates/transactions to execute.
Nodes: A node is a single machine running somewhere in the world. Nodes combine their computing power and run the Internet Computer Protocol.
Canisters: A canister is where an application runs on a subnet (or group of nodes). This means the canister is the code, state, memory, and storage for Internet Computer applications.
The Nervous Network System (NNS): This is a system of voting neurons. Anyone can purchase ICP on an exchange and stake it in a neuron to be able to submit proposals to change the protocol or vote on proposals others have submitted. This system of voting neurons is what governs the Internet Computer.
Neuron: A neuron may contain staked ICP. When ICP is staked and the dissolve delay is greater than 6 months, the neuron is a voting entity in the NNS.
Proposal: In order to change the Internet Computer in any way, you have to do it through a proposal to the NNS. The proposal will outline a specific change, and everyone with staked ICP in neurons will vote on it to decide whether to adopt the change or not.
Votes: Each neuron receives voting power based on how much ICP is staked in it, how long the ICP has been staked in the neuron, and how long the ICP has to be locked away (also called dissolve delay). When a neuron votes on an NNS proposal it earns rewards.
ICP: The Internet Computer Protocol, ICP, is a utility token that can be purchased at common exchanges (Coinbase, Binance) and staked in a neuron to participate in the governance of the Internet Computer. You also receive rewards in ICP for staking and voting on NNS proposals.
Cycles: ICP can be converted into cycles. 1 trillion cycles is the same as 1 SDR (basket of international currencies). The conversion rate between cycles and ICP always changes based on an NNS proposal occurring every 10 minutes. A cycle is an operation performed by a computer, so cycles are a more granular form of compute costs. Canisters (see definition above) do computations on the Internet Computer and consume cycles to do those computations.
3. Main Benefits of the IC
Now that we’ve discussed the components of the Internet Computer, you might be realizing that people have been building apps on the internet for decades now. So why do we need another way to do what we are already doing? The answer is there are a few major problems with centralized web applications, and the Internet Computer has compelling solutions to solve these problems:
1. Community Ownership
2. Improved Security
3. Complete Decentralization
4. Easier to Use for Developers
Let’s dive into each one of these elements and provide some concrete examples to illustrate the point.
4. Community Ownership
When a technology company goes public or is acquired (the major liquidity events for a company) the people who win are all within the company at the top level: founders, executives, and investors. Some early employees might also win, and the rest of the employees might win to some degree. But that’s it. Early app users get nothing. Focus group users get nothing. Devoted users of 10+ years get nothing.
The wealth created from a community built around a technology goes exclusively to the people at the top.
“My reading of the data is that technology is the main driver of the recent increases in inequality. It’s the biggest factor,” says Erik Brynjolfsson, a professor of management at MIT’s Sloan School.
This is a problem that will likely only increase in the coming years as tech continues to grow, and the control, power, and influence will continue to be concentrated into the hands of those already in power at tech companies.
The solution to this problem is distribution of wealth throughout the entire community. This usually happens in two ways:
1. Airdrops to App Users
Imagine if Facebook were to give every single user from 2004 to 2014 $1,000 in Facebook stock as a thank you for helping them grow. Facebook stock price is now 5x what it was in 2014, which means over a billion people would have received $1k in stock now worth $5k. This is what Uniswap did in 2020. Uniswap is the most popular Web3 exchange (used to convert tokens to other tokens) and has generated more than $1B in fees for liquidity providers. With the success of Uniswap, users also won. In 2020, users were all given UNI. UNI is worth money and can be used to vote on future decisions.
2. Early Stage Public Token Sales
These early stage token sales allow anyone to invest in their favorite companies. It works best with completely decentralized companies for regulatory reasons, but spreads wealth across an ecosystem much better than the standard private company to IPO or acquisition route.
Both of these strategies for spreading wealth are easily facilitated on the Internet Computer. Airdrops are common across applications due to the interoperable and open API nature of NFT and token standards on the IC. And the Service Nervous System (SNS) is coming out in 2022, which will be turn-key DAO + token sale tooling for web applications. This will allow community members to invest early in their favorite companies to share in the upside as the company grows and is more successful.
5. Security Benefits of the Internet Computer
Now let’s compare centralized infrastructure with the Internet Computer in terms of security. For the more technical crowd, these are pulled from the OWASP Top Ten (widely regarded as the top ten best security practices).
A misconfiguration is when servers and/or databases are improperly configured allowing improper access to public and private data. Sadly, this happens all the time due to the complexity of internet infrastructure. This could be disabling multi-factor authentication for admins, leaving data unencrypted at rest, or not properly provisioning access to resources.
For example, business enterprises had 2,269 misconfiguration incidents every month, and businesses regularly underestimate the number of misconfigurations they experience by a factor of 10.
For developers building applications, there are many more moving pieces in a complicated AWS setup than when compared with the Internet Computer. Because the Internet Computer has fewer moving parts, it is easier to configure correctly and accurately. You just choose a subnet to deploy to and you are done! This much simpler setup leads to many fewer misconfiguration vulnerabilities.
Phishing is a cyber attack where someone tries to get you to give them your private information (passwords, private keys, etc.) by pretending to be someone you trust. The vast majority of phishing attacks happen through email. Phishing is the most common type of cybercrime and 96% of phishing attacks arrive by email.
The majority of applications on the Internet Computer are using Internet Identity to manage authentication. Internet Identity uses biometrics and physical keys (like Yubikey) to authenticate. This means that even if someone wanted to steal your password, they couldn’t because Internet Identity doesn’t use passwords and the Internet Computer would only store the public cryptographic information from your biometrics login. This makes authentication credentials much more secure on the Internet Computer than a traditional cloud provider.
Security Fixes Not Implemented
In many cases, a security vulnerability is discovered and patched (in the main code repository), but the patches are not uniformly applied across all websites and applications. In fact, 60 percent of security breaches happened when a security fix was available but was not yet implemented.
The Internet Computer is governed by the Network Nervous System (NNS). When an update is needed, someone can submit a proposal to the NNS, everyone can vote on the acceptance or rejection of the proposal, and then the fixes are automatically applied across all nodes in the network. This means that when a security vulnerability is discovered and fixed, the fix can be pushed out to 100% of the nodes, effectively mitigating this security vulnerability on the Internet Computer.
Occasionally a centralized content delivery network (CDN) or hosting provider will go down and take down a portion of the internet with it. For example:
– Two continents were impacted by Dyn Cyberattack in 2016, affecting Airbnb, Amazon, BBC, CNN, eBay, Netflix, and Twitter
– The entire British Airways Fleet grounded because of IT failure in 2017
– Microsoft Azure was down for 11 hours due to human error in 2018
– Facebook was down for 36 hours on March 13, 2019 affecting 7.5 million people
– Google servers crashed in December 2020, affecting YouTube, Google Drive, Google Meet, and Gmail
– Fastly configuration bug on June 8, 2021 which affected Amazon, Reddit, Twitch, Github, Shopify, and Spotify.
On the internet computer, the default replication factor for nodes in a subnet is 13, which means that your application will be running simultaneously in 13 different places around the world and would only get taken down if multiple data centers all went down at the exact same time. The Internet Computer has this functionality by default, so there would be many fewer outages if every application was hosted on the Internet Computer.
6. Decentralization Benefits of the Internet Computer
On January 21, 2021 a controversial social media site named Parler was abruptly taken down by AWS and other hosting providers. Whether you agree with the reason Parler was removed or not, doesn’t it seem strange that a giant, for-profit technology company gets to decide who gets banned and who doesn’t? Shouldn’t these decisions be left to the community?
On January 8, 2021, the President of the United States, Donald Trump, was banned from multiple social media sites. Whether you agree with the reason he was banned or not, isn’t it strange that a giant for-profit technology company gets to make the decision of who gets banned from their platform and who doesn’t? Shouldn’t these decisions be left to the community?
With decentralized social media apps and other apps running on the Internet Computer, these takedown decisions can be made by the community. Governance of the Internet Computer happens through the Network Nervous System (NNS). The NNS receives proposals, and anyone who has staked their ICP in a neuron (with at least a 6 month dissolve delay) can participate in voting on proposals.
These proposals could include banning a specific user that matches specific criteria, or they could include guidelines or restrictions on the kind of content allowed in a particular platform.
The decentralization of the Internet Computer means that whoever would like a vote to determine what happens on the Internet Computer can have it, provided they go through the appropriate process of buying and staking ICP.
7. Ease of Use Benefits for Developers
It is popular belief among IC developers that building apps on the Internet Computer is much simpler than on other centralized services.
Setting things up on AWS you have to worry about creating a Virtual Private Cloud (VPC), creating your own subnetworks within the VPC, configuring ip addresses of your subnetworks, setting up security groups to ensure everything has proper access and roles within each respective subnetwork, configuring your firewall, making sure your port configurations make sense, implementing a load balancer, ensuring you have SSL certs for all domains, and making sure DNS is set up properly.
Deploying to the Internet Computer could be as simple as choosing your subnet, replication factor, and privacy setting. The Internet Computer abstracts away the majority of the complexity.
The Internet Computer is a new way of hosting applications on the blockchain that is ownership enabling, more secure, more censorship resistant, and easier to use for developers. There are many technical blockchain innovations (chain key cryptography) that bring about these benefits.
The Internet Computer uses a utility token called ICP, which can be (1) staked inside a neuron to vote on NNS proposals and receive staking rewards, and (2) converted into cycles to be used for hosting, computation, and storage costs.
Dominic Williams, the founder of the DFINITY foundation, frequently refers to a blockchain singularity, meaning all internet apps and services will be rewritten using smart contracts on the blockchain because of the benefits described in this article. Check out the comprehensive list of applications that are already starting to make this happen.