Recreating Bitcoin 20:The Reorganization and Division of Forking
So far, all the concepts of Bitcoin have been introduced.
In this chapter, we will take a look at a phenomenon in the system: fork.
A key philosophy of Bitcoin is competition. One manifestation of this competition is forking.
In the café, Satoshi and Gilfoyle were surrounding by several monitors with texts flashing through the screens, like scenes from the matrix.
In the eyes of Satoshi and Gilfoyle, the chaotic logs is like a big show.
Inside the Bitcoin network were the competitions between miners, as natural as in the nature itself and as chaotic as the chaos that gave rise to the natural order.
Computing power determines the block reward. There are no back-door operations, everything is transparent, and anyone can join, as long as if you are willing to pay for the computing cost. Mostly, the mining goes on without conflict.
However, whenever there are two blocks being propagated, all nodes will be involved in this conflict. Whoever chooses the wrong one will suffer a loss in its interest. Full nodes are divided into to two groups, and a fork is created.
The good show is starting:
The latest blocks are the stars, below is the block Node 3 discovered in the previous cycle:
A new cycle of mining began, and Little Boy and Tauren discovered the random number at the exact same time.
Little Boy discovered the Green Triangle block, and Tauren discovered the Blue Diamond block (see graph below).
Problem arose when other nodes must choose one of the two, and for the block mined afterwards, they were added after this block.
The network was divided into two blocs. This state is called a fork (see graph below).
At this point, the fork did not affect user experience. Service processing remained the same no matter which side the client connected to.
Transactions were put into the memory pool by both sides, and transaction queries would return the same results. Users would not know anything about the fork, just like the public would not sense the difference in the daily operations of the government during a presidential election.
The result of the competition depended on the node that discovered the next block.
Little red riding hood discovered the next block first: Red Spade (see graph below).
Other nodes were synchronizing with the block. However, because Little red riding hood followed with Little Boy’s Green Rectangle, by having chosen Red Spade in this cycle, the other nodes chose the Green Rectangle as well regardless what they added in the previous round.
This way, the winner of the last cycle was Little Boy.
From divided to united, we call this process reorganization (reorg) (see graph below).
Blue Diamond hence had been abandoned and become an “orphan block.”
“Is this a defect because there is a block?” Gilfoyle asked.
“Why do you think so?” Satoshi looks Gilfoyle.
Gilfoyle replied: “Because it gives the Tauren a sense of frustration and discouragement. What’s more, the system is forks from time to time, giving the impression that the system is not very stable.”
“I get it. You’re saying that a perfect system should not have redundancy. In terms of redundancy, an orphan block is redundant. It means losing in a competition. But in a swarm system, redundancy is natural unlike in a clockwork system, where everything is planned, managed and designed,” Satoshi said.
“That’s true,” replied Gilfoyle.
“From the point of view of complexity, orphan blocks are actually a key. Where there is win there is loss. It fits into the natural evolution. Loss means you are not good enough and makes the losers reflect and evolve. It is the source of evolution. In my opinion, the orphan block is not a defect, but like steel, iron deliberately added impurities, no impurities do not make steel.” Satoshi added.
“Bitcoin is not a pure system; it has what most mathematicians and computer scientists see to be flawed. That said, these ‘flaws’ are what makes bitcoin strong.”
— Dr. Craig S. Wright
Tauren decided that he lacked computing power among other areas for improvement:
- Verification speed must be faster: the new cycle of mining begins when synchronization finishes.
- Block size must be bigger: bigger blocks equal to more transaction fees. Strong nodes build bigger blocks.
- Network transfer speed must be fast: by making the block propagating to other miners faster, transfer speed matters a lot.
Tauren upgraded his infrastructure, improved his code and upgraded his network connection. Afterwards, against Little Boy, he won every time.
Little Boy opted for better infrastructure too after his losses.
Those who proactively change get stronger. The strong and the strong will become more closely linked.
They work with each other to form the central neural system of Bitcoin. We call it: the small-world model.
The small-world model makes the Bitcoin system stronger.
It is not monopoly. On the contrary, it is openness.
“To determine whether or not a market is competitive or monopolized, we cannot simply examine the number of existing competitors in the market, but also the potential competitors, to see if they will encounter artificial barriers entering the market. If there is such barrier, it is a closed market, a monopolized market, and a competition-lacking market regardless the number of existing competitors it has.”
—— economist, Zhaofeng Xue
Double-Spending Attacks and Computing Power Protection #
Greedy Wolf wants a coffee, so it constructs a transaction that points his 30 Bitcoin UTXO to Bob’s address. Bob verifies the receipt and gives Greedy Wolf the coffee (see graph below).
Note: More important content is left (about half of the full text). #
Complete book selling at Amazon( > US > UK > CA > JP > DE > FR > ES > IT) #
Recreating Bitcoin:A Fictional Story of Why Bitcoin was Designed This Way
Part one : Transactions
Recreating Bitcoin 1:Start over with a Simple Web Transaction System
Recreating Bitcoin 2:First Version is Online!
Recreating Bitcoin 3:Getting Rid of the Account Model
Recreating Bitcoin 4:Digital Signature
Recreating Bitcoin 5:Public Key and Private Key
Recreating Bitcoin 6:Version 0.0.2 is Online!
Recreating Bitcoin 7:UTXO
Recreating Bitcoin 8:System Refactoring Based on UTXO
Recreating Bitcoin 9:Everything is Transaction
Recreating Bitcoin 10:Transaction Script
Part Two : Swarm System
Recreating Bitcoin 11:Swarm System (Part I)
Recreating Bitcoin 12:Swarm System (Part II)
Recreating Bitcoin 13:P2P Network
Recreating Bitcoin 14:Synchronizing Transactions
Recreating Bitcoin 15:Synchronizing Ledger
Recreating Bitcoin 16:Block chain
Recreating Bitcoin 17:Network Flexibility
Recreating Bitcoin 18:Proof of Work (Part I)
Recreating Bitcoin 19:Proof of Work (Part II)
Recreating Bitcoin 20:The Reorganization and Division of
©2019 - Recreating.org all rights reserved