Recreating Bitcoin 18:Proof of Work(Part I)
In the previous chapter, Bitcoin’s peer-to-peer network evolved into a autonomous swarm system.
In this chapter, we will solve the final problem of Bitcoin. That is the single-point failure problem of the ledger-writing task assignment: Timestamp Server.
The Last Single-Point - Timestamp Server
Early in the morning, Satoshi and Gilfoyle arrived at the cafe. Bitcoin’s accounting network had evolved into a swarm system in its true sense of word. This made them very excited. They wanted to take advantage of the success and solve the issue of the last single point in the system:
Timestamp Server, which is responsible for allocating ledger-writing author.“
“This last solution is so important that if it is not well designed, all our previous efforts will be wasted,” Satoshi said.
“Yes,” says Gilfoyle, “It determines if the system will break or live!”
Though Satoshi had a hunch that the problem would be difficult, he didn’t expect it to be so difficult that he was entering a land of despair.
Bob watched the two arrive in the morning, discussed the day, drank a lot of coffee, and left in the evening feeling blue. This went on for a whole week.
That day, Satoshi lost his mind and fell asleep on the table.
The Network World in an Ideal World
Satoshi saw himself creating the Bitcoin world in an ideal setting. In the ideal world, Satoshi was the creator. He found that node called Little Boy. He zoomed in and discovered that Little Boy was having an infused conversation with a peer node called Tauren.
Little Boy was infuriated, “Tauren, I found out about this node called Greedy Wolf that was cheating. After he got the ledger-writing assignment, he changed the block reward from 50 Bitcoin to 500 Bitcoin and received 450 Bitcoin more than otherwise established. I only found out about this after looking through his block data. We have to do something.”
“Really? Hold on. Let me check my ledger here,” Tauren went on to look through the block data.
“You’re absolutely right. He did change the block reward.” Tauren said, “But who should we tell? Our peer nodes? Let’s say even if they knew about this, there’d be nothing they could do. The block had been produced and the data were fixed.”
“What about the Timestamp Server? From now on Greedy Wolf won’t get the ledger-writing right anymore,” offered Little Boy.
“It sounds alright. But that won’t repair the damage already done,” Tauren countered.
“But what else can we do?” asked the Little Boy.
“Hm. If we want to fundamentally solve the problem, we must change the way ledger-writing assignment works. The problem didn’t originate from Greedy Wolf, but the centralization of the authority in the Timestamp Server,” Tauren said in a serious tone.
“That’s a bold move. You’re not afraid of the Timestamp Server blacklisting you if you started to change it?” Little Boy asked Tauren.
“No, I’m not at all. All I would need to do in that case would be change my IP and use another address,” Tauren replied confidently.
“What you are saying makes total sense. Although claiming to be random in assignment, it’s usually Node 3 that gets the ledger-writing task and the block reward the most. I doubt Timestamp Server is really upholding the randomness principle in distribution,” Little Boy concurred.
He went on to add, “Also, this mechanism is fundamentally flawed in itself for its single point failure risk. We need competition in choice.”
“What do you mean by taking the right to book from the timestamp server and letting all our nodes decide the right to distribute?” Tauren asked.
“Yes, as long as the right is in the hands of a single point, justice can’t be guaranteed. Even if this single point is not evil, it will give the nodes like the Greedy Wolf a chance.” Little boy said.
Little boy continued, “If the ledger-writing authority were up to all the nodes, there would be two ways.”
"The first way is that the minority is subordinate to the majority, which means that every ten minutes everyone votes and whoever gets the most votes gets the authority to write the ledger.
"The second way is free competition, where all nodes can volunteer to answer a question and whoever comes up with the answer first gets the authority to account.”
The single point distribution of the ledger-writing task corresponds to collectivism: the resources concentrate on the hands of a few to maximize social well-being, planned economy being an example.
Minority obeying the majority corresponds to state absolutism. This model could easily spiral into anarchism. More strangely, anarchism could morph into collectivism.
Free market competition, in this case, corresponds to lawful liberalism. There are boundaries to individual freedom, everyone cares about their own interests and competes within lawful boundaries, and society progresses towards the better, capitalism being an example in this.
Collectivism and liberalism differ from each other in the sense that they have fundamentally different understanding in how the world works.
Collectivism sees the world as a clockwork system and future as calculable. It focuses more on the elite than on the average individual, as the elite have more power over calculating and predicting the future.
Liberalism sees the world as a complex system and future as undetermined. It focuses on individuals and is suspicious of elite design, as individual freedom and improvisation give fertile grounds for creative production.
Little Boy said, “Comparing these two models, I choose the latter, as in free competition for the ledger task.”
“You won’t choose minority obeying the majority? It looks more democratic,” Tauren questioned.
“Don’t blindly believe in that. It has several risks,” said 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 19:Proof of Work (Part II)
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