dom | icp@dominic_w
ICP uses a highly sophisticated security and decentralization model, which all blockchains that wish to function as clouds will need to copy.
Justin's latest misunderstandings (below) provide a good segue to talk about this, and share some expertise that even networks he's invested in might use.
1. Node count does not equal security or independence from centralized actors.
The claim that the number of nodes in a proof-of-stake network reflects decentralization and security is only an attractive idea that boils down to industry folklore and marketing. The node count doesn't matter per se, as I explain below.
For networks that depend on consensus to function, their security actually derives from the total number of *independent participants* involved consensus, and how voting power/participation power is divided between them.
In proof-of-stake networks, voting power derives from stake, rather than nodes. However, large stakers often stake via lots of nodes, sometimes to create the impression of decentralization, sometimes to partition access to their keys, and other times because their networks limit how much stake can be attached to a single node.
But here's the rub: if someone controls enough stake to control the network, it doesn't matter how many nodes they have spread their stake across.
Today, many networks have large numbers of nodes, but are in fact can be controlled by one entity, or a group of closely related entities.
This creates the following problems:
— They might make an honest mistake upgrading or configuring the network, and cause a disaster by accident;
— a hacker might commandeer their control to do something terrible;
— they might go bankrupt, and switch their nodes off, potentially causing loss of hosted data, and worse;
— they might subtly manipulate computations and data, to extact value from users somehow, sometimes without anyone being able to detect what is happening and;
— may other things
2. When someone says "the network is very secure and decentralized because it has lots of nodes..."
We know that across the "monolithic" proof-of-stake networks Justin is currently invested into, validator companies often operate tens of thousands of nodes using stake lent to them by customers in return for a share of the staking rewards.
In plain sight, this provides a demonstration of how the number of nodes in a network doesn't equal the number of independent consensus participants. However, hidden centralization is more of a problem.
For example, some time ago, the Crypto Leaks website shared video of a senior Ava Labs technical administrator claiming that in fact the company, and its founder and CEO, Emin Gün Sirer, own a huge portion of the AVAX supply that controls the Avalanche blockchain, and in fact, secretly operate the majority of its nodes, which they use to stake their holdings to both earn the lion's share of rewards and maintain hidden control.
They are not alone. Many proof-of-stake blockchains are run by companies and cabals of founders, execs and investors that secretly own a huge portion of the supply, and hide the fact by self-operating large numbers of nodes.
Aside from helping them get rich, this hidden centralization also helps them with two other things:
1) It provides them with hidden de facto control over their networks, which allows them to force through orderly node upgrades and configurations without the difficulty of decentralizing and having to invest effort developing specialized autonomous network governance and orchestration systems, such as the Internet Computer's Network Nervous System (NNS).
2) It inflates the price of their token: because they earn the lion's share of the staking rewards, they can stash them away for later, preventing them hitting the markets, which isn't a problem for them, because they have huge additional holdings they can sell from. By reducing the flow of tokens to the markets they keep the price higher, which i) enables to them to sell their holdings to the public at higher prices, and ii) keeps the market cap of their networks higher, which lends them prestige, which further attracts investors, including institutional investors who don't understand the game they're playing.
The public would be upset if they could see the truth. For this reasons, they often create large numbers of nodes while peddling the nonsense that the nodes are evidence of great decentralization.
3. Node count vs decentralization in open networks
For any decentralized network, whether its a monolithic network, or a subnet within a larger network, like a subnet on the Internet Computer, what matters for security and resilience is how consensus participation rights are divided amongst independent parties.
There are proven laws of mathematics governing how this works. If one party has 1/3 or more of the participation, then they can start exercising various forms of control over the network.
Thus, if participation is distributed equally over nodes, as it is on the Internet Computer (where the specialized hardware involved plays the role of a form of stake), it doesn't matter if a subnet has 1,000,000 nodes, and one party controls 333,334 of them, or 10 nodes, and one party controls 4 of them — each creates a similarly bad situation, since one party has 1/3 and can thus exert hidden control.
To capture this reality, the blockchain industry came up with the concept of the "Nakamoto Coefficient."
This is a number that tracks the number of independent parties that must collude to control a network. In both of the above examples, the Nakamoto coefficient is 1, even though vastly different numbers of nodes are involved, since a single party can exert control.
Again, what matters is the number of independent parties involved in consensus, not the number of nodes. People who claim otherwise are often just trotting out the same old snakeoil.
4. A key problem: the anonymity of node operators and stakers
A key challenge for proof-of-stake networks is that stakers/node operators are usually *anonymous*. This design choice is often sold to the public using old cypherpunk rubrics that anonymity allows networks to resist government control.
Of course, there is some truth in this, esepcially as concerns proof-of-work networks, but the proof-of-stake people making these argument are hardly ever cypherpunks!
The reality is that in practice anonymity has just become a way to fake decentralization, and hide massive unscrupulous profiteering.
(A further technical observation is that anonymity is anyway a weak shield in practice. For example, November 2022, Hetzner, one of Europe's largest clouds, decided to ban Solana nodes, and deleted 40% of the network's nodes overnight. The fact is they were able to easily identify the Solana nodes among the millions of other compute instances through technical means. The government could too.)
5. Moving on from anonymity, and creating powerful incentives for node operators not to be evil
The Internet Computer eschews node operator anonymity. When a prospective node operator wants go gain a "node provider" ID, through which they can join nodes to the network, they have to submit a proposal to the Network Nervous System, which includes identity and background information that allows the community to verify who they are, and what relationships they might have to other operators. Once they receive their node provider ID, this feeds back into how the Network Nervous System combines nodes.
Upon this foundation, the NNS combines nodes to form subnets that it knows are operated by independent parties — which combinations create the required levels of decentralization in a deterministic way, while using the minimum number of nodes for efficiency purposes.
Further, non-anonymous node providers join a system where they have powerful incentives to behave honestly.
Simply put, as the result of their declarations, if node providers act in an evil way, for example colluding to corrupt their subnets, they become legally liable, worldwide, for the results of their nefarious actions. Moreover, if they seriously disrupt the correct functioning of the network, they could additionally face criminal prosection under laws such as the UK's Computer Misuse Act from 1990.
The Internet Computer can slash misbehaving node providers, banishing their expensive hardware from the network, and proof-of-stake networks can similarly slash the stakes of their node operators.
However, slashing is a financial incentive that exists within a hypothesized microeconomic framework. In some scenarios, it's possible that a node operator might extract more value through dishonest actions than they lose when they get slashed.
The introduction of legal penalties for dishonest behavior act as a far more powerful real-world incentive.
The Internet Computer is more secure by design.
6. Scaling and efficiency using deterministic decentralization
The Internet Computer is essentially a network of super advanced subnet blockchains, which run under the control of its Network Nervous System, which runs on its own subnet (which also chains cryptographic keys to the subnets it creates, enabling the result of every call/tx into the network that triggers onchain computation to be transitively signed by the public key of the NNS — yes, Justin is talking nonsense when he says there is no shared security).
Individually, these subnets can host serious amounts of onchain computation and data, and they can even serve web. However, to scale-out horizontally, the network has to create additional subnets on demand.
This is only possible because the Network Nervous System can look at the available pool of nodes, and then draw down just the right combinations of nodes required to create new subnets with the necessary Nakamoto coefficients.
By design, it uses only the minimum number of nodes required to create the necessary Nakamoto coefficient, minimizing the replication of computation and data, driving incredible efficiency.
7. Going beyond node operator independence
Deterministic decentralization makes other considerations too, in addition to combining nodes from independent operators. Here they are:
Data centers — if a subnet's nodes are in the same data center, data center failure would also take the subnet down, so it combines nodes installed in different data centers.
Geographies — a nuclear strike might take out all the data centers in a geographical area, so its combines nodes in data centers that are geographically dispersed around the world.
Jurisdictions — if a jurisdiction such as the EU suddenly banned blockchain (hopefully not!) they might take down all nodes inside the regions they control, so it combines nodes based in different jurisdictions too.
Using this more nuanced understanding of decentralization, deterministic decentralization squeezes incredible security and resilience from the minimum number of nodes. This is something that just isn't possible on proof-of-stake networks with anonymous stakers and node operators.
8. Security and resilience on a cost curve
In practice, deterministic decentralization is also applied within the context of considerations about the most appropriate balance of security and cost.
Today, Ethereum replicates computation and data across hundreds of thousands of nodes. This is one of the reasons why its onchain computation costs are many orders of magnitude greater than on the Internet Computer. Yet, the computer science says that the amount of security and resilience they are gaining by adding more and more nodes exponentially decayed to zero long ago.
The Internet Computer, meanwhile, is focused on providing cloud, which demands efficiency.
In fact, the Internet Computer always aims to combine the minimum number of nodes required to produce the level of security and resilience appropriate for the application, because in reality, cost/benefit curves are often vastly different, and one size doesn't fit all.
Justin complains that shared public subnets used by the Internet Computer to host applications and services only use 13 nodes. In fact, this number of independent parties creates a Nakamoto coefficient of 5, which is much higher than actually exists on most proof-of-stake blockchains behind the scenes. Simply put, it is sufficient for these applications.
The soon to be released cloud engine technology will provide market validation (cloud engines are private subnets created by enterprises that wish to select their own nodes).
My bet is we will mostly see enterprises configure cloud engines with just 4 or 7 nodes, which will provide Nakamoto coefficients of 2 and 3 respectively, which they will see as easily sufficient for their needs. They will only add more nodes if they want to scale out query capacity, or reduce web latency times in different regions.
This works both ways.
For example, the Network Nervous System allocates ~50 nodes to its own subnet, and a similar number to subnets involved in the hosting of threshold cryptography, which allows hosted software to create public keys that the network can sign for on demand (e.g. to custody bitcoin within an application) and securely encrypt data stored on the network (e.g. the vetKeys functionality).
These subnets benefit from a huge Nakamoto coefficient of 17+, as well as the additional considerations that deterministic decentralization makes. If it wanted to, it could combine hundreds of nodes to create a subnet, thanks to the advanced nature of the network technology involved.
The ability of the Internet Computer to dynamically configure subnet nodes in pursuit of the precise amount of decentralization required, when considering all relevant factors, reflects its incredible sophistication, and why it can provide tamperproof unstoppable onchain cloud.
To date, the implementation of deterministic decentralization remains unique to the Internet Computer.
But, like other innovations the network pioneered years ago, which others are only now pursuing, such as reverse gas, chains that covet cloud provision will inevitably also attempt to adopt these methodologies.
Possibly, even those that Justin holds dear.