Recreating Bitcoin 17:Network Flexibility
In the last chapter, we introduced the technical concepts of block chain and block reward.
This chapter focuses on the connection mechanism to make the network more flexible.
In the café, Satoshi and Gilfoyle deployed the new code.
Block rewards is another world-class design that was previously UTXO. It cleverly enables the Bitcoin system to simultaneously implement the incentive mechanism of node accounting and the minting and issuing mechanism of currency.
“With block reward, the network will have more nodes joining in, and based on the network design, between all the nodes, there would be a star network,” Satoshi said (see graph below).
Satoshi continued: “Star network is not the type of network I want. It is too fragile, what I want is a mesh network.” (see graph below)
“The reason it has become a star network was that we locked in the IP addresses in the code as a temporary solution,” Satoshi said. “The new nodes will only connect to the three old nodes (Node1, Node2 and Node3). Such networks are fragile. Because those three nodes are equivalent to a message relay station carrying the whole network. When the network load is too high, if those three nodes die, the whole system will crash.“
“How do we build a mesh network? You can’t add an IP to your code every time when you add a new node. The list of IP addresses will become a single point in the system. That is, the system will rely on the person maintaining the IP list.” Gilfoyle asked.
“Of course not,” says Satoshi. “we now have to come up with a new solution, ideally without human intervention. Nodes can be automatically connected to each other. Form a mesh network. And when the network is partially damaged, it can repair itself.”
“It looks like the Bitcoin network is an intelligent organism that can grow and recover on its own,” said Gilfoyle.
“Yes, yes,” Satoshi said. “it’s the feeling of a biological system that makes the whole network look as if it were alive, with a strong vitality.”
Is the work of the model-making-its-own-model a sacrament or a blasphemy?
—— “Out of Control” by Kevin Kelly
In a sense, Satoshi was not creating so much of a living system, he is searching for the essence of vitality.
Vitality is not something that is created, vitality is the protagonist, and creation is only a cloak for the expression of vitality itself. And the human role is the conduit between vitality and creation.
Satoshi is a conduit right now. One is attached to the body of the system, the other is looking for the soul of the system.
What is the essence of vitality? How can we touch BEING itself?
Vitality Lies in Improvisation #
Vitality is improvisation, improvisation is freedom, and freedom is randomly.
Improvisation, on the micro scale, is random selection.
The Earth is an improvisation of the universe, life is an improvisation of the Earth, and human is an improvisation of life.
The essence of the inexplicable force of the nature is randomness. Quantum physics tell us that God plays with a dice.
Life originates from randomness, a sustainable sort of randomness.
Randomness is partial unevenness in probability.
High probability and low probability give rise to a pulling force, as in the pulling force between ice and water. Entropy arises out of this kind of force.
Because of this pulling force, the randomness has a direction.
The force and the randomness complement each other. One is a necessity for the other.
Without the pulling force there is no shape. Without the randomness life is formless.
The loosening and the tightening of this force creates a rhythm, which gives rise to evolution.
Life is given birth by this force to the world, once born, the midwife is no longer needed.
Once life begins, entropy never stops. Life then seemingly becomes a snake that feeds on its own tail.
[W]ild life resembles that strange loop of the Uroborus biting its tail, consuming itself. But in truth, wild life is the far stranger loop of a snake releasing itself from its own grip, unmouthing an ever fattening tail tapering up to an ever increasingly larger mouth, birthing an ever larger tail, filling the universe with its strangeness.
—— “Out of Control” by Kevin Kelly
How does a person live to vitality?
The answer is to be him/herself.
To be him/herself, not to live towards a goal.
That is to say, he has the freedom to choose freely, and this freedom is the source of vitality.
This mode of freedom, we call it improvisation.
How to Let the System be Itself #
Satoshi said, “We will instill the improvisational soul into the system!”
“What does that even mean?” asked Gilfoyle.
“Abstractly, the way to give improvisational properties to a system is to give a few simple principles and give up your control,” Satoshi said.
“The essence is to make as few fundamental principles as possible, and they must be very simple. Simplicity gives room for evolution and mutation on the microscale,” he continued. “At the same time, these fundamental principles make sure that the direction of evolution doesn’t get out of shape so that the system moves towards one direction in general.”
“Okay. So what are these bottom-line principles?” asked Gilfoyle.
“I’ve thought about this a lot,” said Satoshi. “They are random connection and information sharing. They allow for the emergence of mesh network and self-repairing ability.”
So what happens when these two principles were added to the nodes?
Network Discovery #
A new node is launched. We call it: Little Boy.
Little Boy opened his eyes and saw nothing but darkness, feeling as if he’s floating around in the universe all alone.
He heard an outcry from within himself saying “find your own kind and connect to them!”
He realized that there are members of his own kind in the universe and he must find them.
He extended his reach and searched around in darkness, expecting something to get his hands on. Finding nothing, he extended his reach further and explored deeper.
This behavior of the Little Boy is what’s called network discovery. The reach of the Little Boy is Client Socket, which sends network requests to an 8332 port of the Server Socket of a random IP address and waits for response. Most likely the Little Boy receives nothing, either because the IP does not exist, or it does not belong to a Bitcoin node even if it does exist. Once Little Boy detects no response, he selects the next IP and repeats the act.
Over and over, until he finds a Bitcoin full node.
Days pass, Little Boy had made tens of thousands of attempts, and right about when it was about to give up, it found one of his own kind. Its IP was 18.104.22.168, which happened to be the address of Bob’s machine.
The first handshake #
Little Boy immediately sent about the request for his first handshake (version),
“I am Little Boy.
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) #
Next chapter ：Recreating Bitcoin 18:Proof of Work (Part I)
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–>