Getting your Trinity Audio player ready... |
This article was first published on Dr. Craig Wright’s blog, and we republished with permission from the author.
There are always arguments over scaling blockchain networks. Most of them end in ad hominem attacks, and very few address the prime issues that need to be discussed and understood. None of it is new, either. In 2008, during a rather infuriating argument with James Donald, I gave an explanation concerning block sizes and how Bitcoin would scale1. The reality is much simpler than people make it out to be. There is nothing to analyse when it comes to the size of transactions or the size of blocks beyond calculating them using simple algebra.
Bitcoin, or any blockchain system for that matter, including Ethereum, is very simple to estimate when it comes to scaling. There is no methodology available that would allow sharding and the distribution of transaction processing amongst many users. The purpose of my saying so lies in explaining something that people don’t seem to understand. You can ‘shard’ transactions in a single node or miner. Such sharding is difficult but feasible. The reason is that the node is still retaining and processing all of the transactions and has not minimised the block size in any manner. Rather, the system is using horizontal scaling running multiple machines. Such scaling cannot be done across multiple individuals without trust.
When processing many transactions, you will have multiple inputs, and some of them could even be invalid. It is always essential to consider that there will be attackers and others trying to break the system and to treat the environment as if it was hostile, because it is. The claims made about nodes are all too often incorrect and intentionally designed to mislead. Nodes of the BTC network are exclusively mining pools. The only nodes are the systems that create blocks. The reason for saying so is very simple: the only consensus mechanism in any blockchain network is associated with the creation of new blocks. By definition, a node signals acceptance or non-acceptance of all the transactions in the previous block, found by another node, only by building upon the block or rejecting it.
As Bitcoin scales, the number of inputs to be processed increases geometrically. When you have a system such as Ethereum, input processing increases even faster. When you distribute shards across machines, you need to have a mechanism to match each of the input transactions and ensure that they haven’t been ‘double-spent’ across horizontally distributed systems. When you have 1,000 input transactions that need to be processed, to ensure that they are not violating any conditions preventing double-spending, for them to go into an output transaction, it is essential to remember that if 100 nodes are processing each of them separately, the number of transactions that need to be processed is larger when you shard them.
At the same time, a single output transaction can have multiple input transactions, which can be even more complex with transaction chaining. The assumptions that tend to be made when looking at systems such as Ethereum, and, albeit to a lesser extent, even the BTC network, which doesn’t scale in any way, are based on the technology used to scale databases where all of the systems are trusted. Systems run by a single central entity are modelled in the so-called scaling solutions of a system such as Ethereum. Which does not work. The fundamental nature of a decentralised system means that no system can trust another system. As soon as trust is introduced, there needs to be a coordination layer similar to how existing banks and financial systems integrate the centralised control of the settling process today.
As a result, the only method for scaling any blockchain network lies in every single node running every single transaction. Within the node, the production server farm can horizontally scale and increase the level of processing, because it is a single trusted entity. Such was always the design of Bitcoin, and related systems. For example, in 2008, when I said that the network would become big in a few years, I was referring to a system that could handle 8-gigabyte blocks:
If the network were to get that big, it would take several years, and by then, sending 2 HD movies over the Internet would probably not seem like a big deal.2
When people try to tell you that I had envisioned a small system, with 1MB blocks, I want you to imagine how you can transfer two HD movies (8GB) in a single block of 1MB. It is a contradiction. Very simply, it is using social media to hijack the system that I had envisioned. As I also said, defining nodes:
Only people trying to create new coins would need to run network nodes.
The reason for it is very simple: nodes create blocks. In other words, if you’re not creating blocks, you’re not a node. And if you think you’re doing anything to help the functioning of the network or consensus, you are deluding yourself. The very few possible nodes are defined in 3 to 4 mining pools that control the BTC network. In total, at present, there are between twelve and fourteen nodes across the entire network. As can be seen in the image below, in the past 24 hours, only three nodes have created the blocks needed to control the network. And, two of the three nodes are related companies. As ViaBTC and AntPool are interconnected corporations that the same people manage, it could be argued further that only two entities truly control the BTC network.
Developer Groups
When I launched and released the Bitcoin protocol, I explained that the system required to be set in stone and unchangeable3. The idea here is that there are no mechanisms for the users of the system to vote on how Bitcoin should be, and nor should there really be any. Gold does not change. So, ironically, the argument around digital gold also does not fit the BTC system. The ability to change the protocol can always be hijacked. For it to be decentralised, to be a trusted system requires that the system cannot be changed, and the protocol must remain sound.
Setting the rules in stone does not mean that rules cannot be enforced. The last line of my white paper categorically says:
They [nodes] vote with their CPU power, expressing their acceptance of valid blocks by working on extending them and rejecting invalid blocks by refusing to work on them. Any needed rules and incentives can be enforced with this consensus mechanism.4
While many sites, including those associated with the BTC system, in their fraudulent promotion attribute decentralisation to the false concept that thousands of nodes would exist, the reality is: a network where four or five commercial entities compete to process blocks in an auditable public system that cannot be changed is decentralised. The nature of decentralisation was always about the protocol being fixed and remaining unalterable. While some changes may need to be made to tweak it in the future, for several reasons, none of them are things that any individual or group can decide. The decisions to add new features such as SegWit and Taproot to the BTC system, on the other hand, or the radical changes being promoted for Ethereum, demonstrate how the BTC and Ethereum systems are completely centralised and each in the control of a small developer group.
Decentralisation simply requires that nobody can change the protocol. When you create something with nobody in charge, the events require multiple parties, and not a single developer group, to interact for any enforcement.
Acting as a non-trust-based system requires that Bitcoin cannot be changed at the protocol level. As soon as developers can change the protocol, they become trusted entities that could implement unknown features that people don’t understand or want—an example of which would be SegWit.
But a set protocol cannot be used in developing and innovating…
There is a misleading claim that innovation will not occur if the Bitcoin protocol is set in stone. That without changing the system, the ongoing development of new ideas will not occur. Such a claim is not merely wrong; it is intentionally misleading people into believing something untrue. For example, TCP, the transport layer in the Internet protocol, was developed and released in 1981.
All along, TCP has not changed, and the same format that was developed forty years ago can be used today. Yet, creating new protocols within the protocol, such as HTTP, is a key aspect of how TCP/IP was designed. The same requirement is why I implemented script and the ability to have new forms of transactions without changing the protocol in any way. I explained it in the original Bitcoin forum in 2010.
The design supports a tremendous variety of possible transaction types that I designed years ago. Escrow transactions, bonded contracts, third party arbitration, multi-party signature, etc. If Bitcoin catches on in a big way, these are things we’ll want to explore in the future, but they all had to be designed at the beginning to make sure they would be possible later.
Yet, such functionality was disabled because the people of Bitcoin Core, who wanted a different form of system, sought not to scale or build Bitcoin, but rather to hijack the protocol and make it into what people see as BTC today. For this reason, I will say that as in the Wizard of Oz, the BTC (Core) developers are committing a global fraud by pretending to be a group of individuals with no control of the network where, in fact, they are a small cadre of individuals who are manipulating a global financial system for the benefit of themselves and a range of criminal groups.
The group of people funding those associated with BTC includes money launderers, people traffickers, drug dealers and traffickers, and individuals involved with terrorism. They form the group that is behind the curtain. They are the proverbial wizards who seek to tell you how different Bitcoin is from what I designed. The same people say that Bitcoin is decentralised, because they control it. Such individuals would make George Orwell turn in his grave in creating a system that makes 1984 look backwards. Here, the Bitcoin Core developers claim black is white; they claim love is hate, and through this, people are deceived as the people of Bitcoin Core say that they are way smarter and that if you don’t understand them, it’s because you’re dumb.
The reality is, the wizard is bamboozling you.
Scaling and Blockchains
As I alluded to, scaling Bitcoin, and any blockchain network for that matter, including Ethereum, is very simple: nodes process more transactions. The idea that individuals would run nodes was never a part of the system.
Long before the network gets anywhere near as large as that, it would be safe for users to use Simplified Payment Verification (section 8) to check for double spending, which only requires having the chain of block headers, or about 12KB per day. Only people trying to create new coins would need to run network nodes. At first, most users would run network nodes, but as the network grows beyond a certain point, it would be left more and more to specialists with server farms of specialized hardware. A server farm would only need to have one node on the network and the rest of the LAN connects with that one node.
As I explained, the network was designed to be run by server farms. It was not designed to be a home-user system as others (developers, etc.) aim to continue to have people running nodes at home. I was succinctly making one very simple point: more transactions equal larger blocks. There is no way to get around such a simple fact. Any person who tells you that it is possible to create a blockchain that does not scale by having bigger blocks, but by doing something else, or tells you that it can be scaled horizontally across trusted entities is either intentionally deceiving you or ignorant. There is no other option.
If a blockchain is to scale from 100 transactions to 1 million transactions, it is very simple: the number of transactions processed will increase by 10,000. To do so, every single node (miner) needs to process 10,000 times as many transactions, store 10,000 times more transactions, and have a block size that is 10,000 times larger. There is no other possibility. Blockchains work by publicly disseminating information. The security of a blockchain lies not in having the entire blockchain but rather in publicly disseminating the entire block header and having any transaction auditable.
Any claim of a ‘private blockchain’ is equally false. The entire security mechanism within Bitcoin and any system that copies my original design require publicity. Any system that is not publicly disseminating the block headers has completely removed any form of security from Bitcoin or the copied system. The simple answer to scaling the blockchain is that blocks get bigger. The simple answer to why it is decentralised is that decentralisation is a feature of control. Decentralisation requires that no group controls the network. In other words, no protocol changes can occur on the network.
The people associated with Ethereum, the BTC system, and practically every system outside of Bitcoin (BSV) continuously seek to change the protocol, add new features, or turn off old features. As soon as some developer comes up with a plan of any form that is implemented in any blockchain system, the same blockchain system can be said to be centralised.
Footnotes
[1] Note that the linked article includes the original quote still online saying that there were 144 blocks on a daily basis. It is best practice to ensure that you have capacity to handle multiple times the levels of data that is to be received at any time, because you can never predict whether data bursts will happen. Consequently, at the time, to replicate Visa would have required 2GB to 3GB blocks. Today, the same would require 5GB to 6GB blocks with the changes in the protocol. Integrating other payment forms such as MasterCard would require 8GB to 10GB blocks.
[2] Note that 2 HD movies account for seven to nine gigabytes of information.
[3] This does not mean that a developer group can centrally manage and control changes. Rather, it means nobody, including a plurality of developers, can make changes without the system being centralised. The only way Bitcoin or any blockchain functions as a decentralised entity or exchange or process or anything is one where the protocol is set and never to change again. Once it cannot change, once there are no changes ever made to the protocol (note it is not the same as the software), then the system can be called decentralised. If, at any time, developers can propose and make changes, the system is centralised by definition.
[4] Note that the acceptance and the voting is purely carried out by nodes which are defined in section 5 of the white paper and commonly called miners or mining pools. There is no methodology for any system to vote in Bitcoin, or any other blockchain network based on a proof-of-work system, other than through the creation of blocks. Consequently, the only systems in Bitcoin that can enforce rules are nodes, and such nodes are miners. Any system that is not mining in creating blocks is not voting or having any impact on the nature of the system or enforcing rules.
Importantly, any needed rules and incentives can be enforced, which means law and court orders were always a part of the protocol. The methodologies for doing so may vary, but it is premised on the fact that only a few large commercial systems will exist. As in the image, we can see it already today. Despite the false narratives and misleading information, and for that matter downright fraudulent representation, promoted by criminal groups, in relation to how Bitcoin would work with thousands of nodes, Bitcoin is a system that, at scale, is designed purposefully to allow interaction through law enforcement. Even systems copying Bitcoin, such as the BTC system, are subject to it in the same way.