This text was first revealed on Dr. Craig Wright’s weblog, and we republished with permission from the creator.
The false mythology has been created and propagated that you want to run a ‘full node’ to safe blockchain networks. The deception has been promoted by people related to BTC Core looking for to keep up management of the respective system. Such people inform you that you simply assist run the community by holding blocks. They fail to level out that the consensus mechanism in Bitcoin is totally primarily based on the creation and distribution of blocks. Nodes had been outlined in part 5 of my white paper:
- New transactions are broadcast to all nodes.
- Every node collects new transactions right into a block.
- Every node works on discovering a troublesome proof-of-work for its block.
- When a node finds a proof-of-work, it broadcasts the block to all nodes.
- Nodes settle for the block provided that all transactions in it are legitimate and never already spent.
- Nodes specific their acceptance of the block by engaged on creating the subsequent block within the chain, utilizing the hash of the accepted block because the earlier hash.
For programs that aren’t nodes, there is no such thing as a have to propagate blocks. All nodes should do it. There’s a single consensus mechanism inside Bitcoin: it’s the creation of a sound block. It’s required that nodes not solely create a block, however keep it for 100 blocks previous the validation of the block. That’s, if at time T(0) a node n(i) discovers a block, the node solely receives fee and the block is barely thought of settled at time T(100). In different phrases, the maturity interval of 100 blocks is a part of the Bitcoin consensus mechanism. It’s not merely discovering a block however constructing upon all of the accessible blocks that kinds consensus inside Bitcoin.
Consequently, it may simply be seen that the one option to have any participation within the consensus methodology is to construct a brand new block. Nodes that haven’t adopted the very same course of to create blocks don’t type a part of the consensus. The matter needs to be easy. But, a number of dishonest people have sought to advertise the idea that Bitcoin and blockchains usually require a lot of customers working machines that do nothing. The equal situation could also be one the place people don’t vote in political elections.
Think about that Alice and Bob and Charles are voting in an election. Every year, the end result will rely on whether or not Alice, Bob, and Charles vote for choice one or choice two. Now, Edgar comes into play. Edgar walks in and says, “I’m not going to vote.” Edgar now brings in a thousand pals, who all don’t vote. The end result stays totally primarily based on the choice of Alice, Bob, and Charles. Edgar can say that he has nearly all of folks behind him, however not one of the people vote—so none of them matter within the course of. Which is how Bitcoin works.
There can solely be a number of nodes which can be lively inside Bitcoin. Bitcoin is distributed as a Pareto system, with a most of 2016 blocks found in any difficulty-adjustment interval. Consequently, because the system will not be equal, and because it can’t be designed to be equal, there’ll at all times be a number of massive firms discovering options for almost all of blocks. The result’s that solely someplace between 25 and 200 nodes will exist at any time.
However what concerning the safety of the system?
So, we all know that nodes solely matter when they’re creating blocks. As defined, it’s the solely consensus methodology in Bitcoin. The argument towards it’s that ‘full community nodes’, as they’ve been falsely described, are mentioned to be vital in holding full copies of blocks. It’s argued that solely with full copies of blocks can people know whether or not a change has occurred on the community. The argument might be demonstrated as false.

Bitcoin utilises a binary tree construction to break down what could possibly be an extremely massive set of transactions into an simply searchable path. Such a construction is barely mandatory when there are lots of transactions included in a block. By ‘many’, we’re speaking about hundreds of thousands of transactions at the least—and probably billions.
In analysing the construction of the block header, the reader will discover that the Merkle root (the highest-level hash construction and a binary tree algorithm) is contained inside the block header.

Picture supply: https://www.righto.com/2014/09/mining-bitcoin-with-pencil-and-paper.html
The Bitcoin block construction incorporates the binary tree or Merkle root, which is added to the earlier block hash and different info. The data within the block header is concatenated and hashed. Consequently, if the Merkle root or any info within the block header adjustments in any manner, your entire block will probably be invalid.
So, after we think about that the Merkle root captures the data inside the whole block, and that if the order of transactions or any info inside them is altered in any manner, your entire system is rejected, it turns into simple to know that you simply don’t have to transmit your entire block. A duplicate of the Merkle root offers you all the pieces you want to show the integrity of the block over time. Right here lies the aim of hash algorithms. And, if SHA-256 will not be safe, then it doesn’t matter whether or not you may have the entire block or not.
Subsequent, in case your system manifests that you simply don’t just like the contents of the block, you may’t do something about it until your system occurs to be a node. As a node operator, you want to be a miner. The consensus mechanism, as famous earlier than, lies solely and completely within the creation of blocks that the opposite nodes agree are legitimate.
So, the irony is that the argument for distributing a complete block to all programs on the Bitcoin community, slightly than utilizing simplified fee verification (SPV), presents a distrust of the integrity algorithm and therefore a distrust of your entire system. Logically, in the event you think about {that a} change to any transaction in a block results in a very totally different Merkle root and thus a very totally different hash header for the block, it’s simple to know that holding solely the hash header gives you with simply as a lot details about the integrity of the block over time as does holding your entire block.
