The Internet computer protocol creates a powerful virtual machine by combining the essence of blockchain cryptography with particular hardware machine nodes guided and governed by the NNS.
Dashboard and metric sites often display block time, number of blocks, messages, and canisters. So what do these things denote? And why are they significant?
Why are these significant to the Internet Computer, and how does it provide a winning edge over its competitors?
To understand this, we have to understand the architecture of the Internet Computer and how the protocol achieves consensus.
The Architecture of the Internet Computer
The Internet Computer is a public blockchain that can scale without bound and execute smart contracts at web speed. The Network Nervous System manages the node machines using Internet Computer protocol to create a Subnet (a chain itself), to host the canisters. Internet Computer wants to replace the traditional corporate web cloud that will be rendered obsolete.
Recommended to read about Chain Key Cryptography
The Internet computer blockchain results from novel cryptography and blockchain technology developed by DFINITY. The Internet Computer can host a variety of open internet services/software or private software, and one has to write the code into the canisters.
Canisters: An Evolution of Smart Contracts
Smart contracts can be written into canisters and run on the Internet Computer. The canisters can be deployed into the network to perform computations. Canisters contain both program and state. The developers can build many types of software canisters and tokenize them as open internet services. Canisters can be interacted with by calling them (messages) to perform computations. Canisters are cans of smart contract programs (OpenChat, DSCVR) that can replicate and, provide both backend and frontend on-chain.
For efficient functioning, canisters must be deployed to a specific subnet type (I will not discuss the subnet types here). Users can interact with the canister just by knowing its identity. The canisters can interact within the subnet or another subnet, perform computations, and provide a good user experience. Canisters can be charged with necessary cycles to perform computations like Ethereum gas (transaction fees). Unlike Ethereum gas fees which a user pays for transactions, in Internet Computer, the canisters (dApps) pay the gas fees as Cycles - reverse gas model.
Subnets are the Island of Consensus
Subnets are created by bringing node machines together using Internet Computer Protocol by the Network Nervous System. The subnet has its blockchain, and they are replicated across nodes of the subnet. These nodes achieve consensus using the Internet Computer protocol within 1 - 2 seconds. Subnets, like everything else, are public and are transparent to users and software.
There are particular subnets; therefore, the canister of choice must be hosted on a suitable subnet for its optimum function. Canisters running on-chain of a specific subnet can interact with canisters on other subnets. Consequently, multiple subnets are running in parallel, achieving the consensus of the blockchain.
Nodes and NNS
Internet Computer blockchain runs on specialized node machines hosted by independent parties across independent data centers. The NNS approves the nodes after verification. The hardware costs around $10,000, as the Internet Computer, needs heavy equipment to process the computations.
The currently shelved Badlands concept wants to help amateur node providers provide low-end hardware nodes (approx. $250). The Network Nervous System manages the nodes. Although the Badlands increase decentralization because of the anonymity of node providers, it comes with a cost of lower performance compared to the Internet Computer.
The Internet Computer nodes are expensive because the protocol needs dedicated hardware power to execute the functions of canisters. This is necessary for the smooth functioning of the Internet Computer which, unlike other Blockchains, doesn’t rely on existing centralized clouds to run the nodes.
The Internet Computer network can grow by simply incorporating more node machines. As the number of nodes increases, the computation power of the Internet Computer increases too. The node machines are then rewarded with ICP by the Network Nervous System for their service.
Blocks, Block speed, and Messages
Blocks, block speed, and messages essentially indicate the transaction and TPS, which denote the potential of Internet Computer addressing scalability. Messages are essentially functions/transactions on the subnet (on-chain) where the user interacts with canisters or canisters interact with each other.
Messages can be query calls or update calls. Query calls such as viewing news feed in the dApp canister are read-only calls that take milliseconds to execute from the subnet. These messages(transactions) are requests to interact with the blocks already created.
Update calls are the ingress messages ( update requests from outside the Internet Computer ) by a user or other canisters. These messages update the state of canisters ( data or computation ); therefore, the blockchain should reach the consensus - time to execute ( 1 - 2 seconds at the time of writing). The older, useless blocks are deleted to maintain the efficiency of the Internet Computer.
The complexity of the protocol makes it difficult to understand the block size or block number, or block time. These three combined with nodes indicate the growth and capacity of the Internet Computer. As the number of nodes increases, block speed increases, and more smart contract transactions mean more scaling.
Unlike other blockchains with 10 to 15-minute block time, Internet Computer achieves a current block speed of around 22 blocks per second. The blocks carry messages that call the canister to update the data or execute certain functions. Each canister can currently store 8GB of data/code and perform computations. Smart contracts are coded into the canister, and the canister can interoperate with other canisters. The canisters then use cycles as fuel to perform computations or store the data.
The messages/calls are essentially transactions that are stored and executed on-chain.
Each block can store transactions (messages). Therefore block time can represent latency. But this is not as straightforward as it looks. The number of blocks indicates the capacity of the Internet Computer - The limitations on the block are around 8MB of data per block, but this is set to be upgraded further.
This denotes the capacity of the Internet Computer and shows that there is no limit to transactions per second, as it can dramatically increase with an increasing number of nodes.
Ethereum has its protocol for executing smart contract transactions, where the nodes agree to a consensus of the entire chain. In contrast, smart contract canisters in the Internet Computer are hosted on the subnets - containing replicas of a blockchain that act as islands of consensus, reaching consensus within themselves. The transactions reach consensus within a subnet using novel Byzantine Fault tolerance technology.
What does this mean for Ethereum ? Ethereum archives consensus through nodes and is a single blockchain in its current form. The Internet Computer can build multiple blockchains running in parallel which can interact with each other.
This is important because scaling enables developers to build large social media applications. This will ultimately enable an open internet and a new era of blockchain.
Andressen Horowitz on the Internet Computer as an innovative tech:
“When you look back on every decade in tech, there’s one thing that really dominated. I think [the Internet Computer] will be the one in this next decade... I think you should take a hard look at this space. Because we’re not only changing the platform on what you build, but we’re changing what you can build. It’s a new kind of platform. -Chris Dixon
General Partner, Andreessen Horowitz (a16z)
Internet Computer tech is revolutionary!
Connect With Us:
Disclaimer: The community itself is not affiliated with the Dfinity Foundation but aims to become an indispensable ally to further the next generation of the internet, working cooperatively to ensure the success of the project.