——Satoshi Nakamoto’s decentralized and centralized processing techniques.
The biggest difficulty in distributed systems is the handling of uncertain problems. How do we get deterministic results in a state of uncertainty? Satoshi Nakamoto overcame a series of challenges and solved this problem well, which is fantastic. I have seen many projects in the cryptocurrency field, and the reason why many projects have issues is due to a lack of understanding of uncertainty. Starting from understanding the Bitcoin system is a shortcut to finding ways to deal with uncertainty. My level is limited, and I cannot summarize all of Satoshi Nakamoto’s methods.
This article clearly analyzes Satoshi Nakamoto’s decentralized and centralized processing techniques.
How to keep accounts
In accounting, if you want to form an account page, one way is to issue accounts regularly. In a centralized system, one person can keep accounts, so there is no need to argue; distributed accounting means multiple people can keep accounts. Why can you keep accounts, but I can’t? There is a question of fairness here. If it’s not fair, no one will play. This is extremely important. Most failed projects fail to address issues of justice. Human participation cannot be forced. The first issue in uncertainty processing is fairness. Only based on fairness can randomness issues be processed.
Who has the right to keep accounts?
This is an uncertain question. Satoshi Nakamoto chose Adam Back’s hashing algorithm. He sets a hash value in advance, called the difficulty value, and then uses a game method. Whoever calculates this value first will have the accounting rights. It achieves equality before mathematics.
How to ensure that blocks will be generated in about 10 minutes
The problem arises again for calculating the difficulty value; the time is uncertain. Judging from current practice, the time it takes to figure this difficulty value ranges from more than ten seconds to two hours. The hashing algorithm is a mathematical problem, and its result conforms to the Poisson distribution. Uncertainty arises due to the random addition of computing power. At the same difficulty value, when the computing power increases, the block generation time will become shorter; when the computing power decreases, the block generation time will become longer. Satoshi Nakamoto’s way to deal with this problem is to add up the total time of 2016 blocks, then divide it by 2016 to see how far it is from 10 minutes, and adjust the difficulty value accordingly to ensure that the computing power is randomly added and withdrawal, the block generation time is stable at about 10 minutes to avoid system crash. The greater the computing power, the less likely the system will collapse. Amazingly, Bitcoin hasn’t crashed in all these years. The randomness of computing power and block production remains linear. It is an issue worthy of more discussion. Here are two examples.
The failure of Zhang Jian’s Fcoin
Zhang Jian proposed the innovation of the transaction model of “transaction is mining.” His FCoin exchange was launched on May 21, 2018, instantly attracting many investors. On June 13, 2018, the 15th day after FCoin was officially launched for trading, the 24-hour trading volume reached ￥28.8 billion yuan. Not only does it rank first in the world, but it also exceeds the combined total of six exchanges, including OKEx, Binance, and Huobi, which rank second to seventh. Therefore, it is nicknamed “the first in the universe” by insiders. However, after the price of the platform currency FT hit its highest point of $1.2567 on June 13, it began to plummet for several consecutive days; then, the trading volume of the platform continued to shrink. On June 18, FCoin issued a stabilization fund subscription announcement, hoping to use the stabilization fund to maintain the price of its platform token FT through open market operations, but it did not work. A series of subsequent operations failed to save its fate of failure.
The root cause of the problem is that Zhang Jian is not good at academics and does not understand the randomness of Satoshi Nakamoto’s computing power and the basic linear principle of block generation. As reflected in Zhang Jian’s project, users enter and trade at random, and the coin sending is synchronized with the randomness of the users. Since the capacity is limited, when the amount of coin sending is large, it will not be able to handle it, causing the market to crash and collapse. It’s a shame that a major design flaw ruined the project.
Bitcoin is sending coins every day, but it does not affect the price of the currency. Why? Because this is a deterministic event. The capital market will adjust the opening trading price of the stock on the ex-dividend date for companies that issue additional shares. Because further stock issuance is an uncertain event, stocks must be revalued and priced based on the number of additional stock issuances.
An automatic system must have a negative feedback mechanism to combat uncertainty. Satoshi Nakamoto’s linear currency issuance method is a standard negative feedback method. Its approach has implications for incentive design in all cryptocurrencies. Failure is easier than success. It is undoubtedly a shortcut to explore the path of success by following in the footsteps of losers.
How to get Buffett to buy Bitcoin
In Chapter 12 of “Invite Satoshi Nakamoto to Welcome the New Era” (chainless.hk), I introduced the method of stabilizing the price of Bitcoin, which was inspired by this principle of Satoshi Nakamoto. Buffett’s main point is that Bitcoin cannot be valued and has only speculative value but no investment value. If Bitcoin can maintain its rise and can be predicted with an upward curve, Bitcoin will have predictable certainty and meet the valuability required by Buffett. Bitcoin can only rise if it meets the appetite of the traditional investment community. The principle is to turn the randomness of users buying and selling Bitcoin into the deterministic rise of Bitcoin. This principle is universal for cryptocurrencies. Due to space limitations, we won’t be able to introduce it in detail here.
The Uncertainty of Using Humanity to Solve the Byzantine General’s Problem
The Byzantine Generals Problem was proposed by Leslie Lamport, one of the pioneers and founders of distributed systems and the 2013 Turing Award winner. At that time, the highest-level solution to this problem was PBFT (Practical Byzantine Fault Tolerance). One of the authors was Barbara Liskov, the 2008 Turing Award winner. PBFT can only run on tiny networks. Satoshi Nakamoto used a straightforward method to match and surpass the algorithms of Turing Award winners. This is the longest-chain problem. How do we ensure the evil chain does not exceed the honest chain? Some mathematical experts have proved that Satoshi Nakamoto’s method is mathematically incomplete. Satoshi Nakamoto’s success is purely luck. In fact, Satoshi Nakamoto said: “As long as honest nodes collectively control more CPU computing power than any group of nodes colluding to attack, the system is safe.” When the benefits of evil are less than the benefits of honesty, people choose not to do evil. Mathematicians fail to account for the human nature behind mathematics.
Economics studies human nature and selectivity under random conditions. There is no human nature in mathematical formulas. Once human parameters appear in mathematical formulas, uncertain parameters appear, and the formula loses its meaning. The practice of Satoshi Nakamoto tells us that human nature is greater than mathematics. On the other hand, “if the benefits of evil are less than the benefits of honesty, people choose not to do evil.” It is human nature’s theorem. There are many examples of this type, that is, rules must restrict human nature. For example, the stability mechanism of the Hong Kong dollar is to control the randomness within the range of 7.75-7.85 per US dollar. It dramatically limits the impact of human arbitrariness.
Satoshi Nakamoto’s brilliance lies in his understanding of human nature.
Using probabilistic methods to solve the consistency problem of distributed systems
Bitcoin does not have a unified centralized node. How do we ensure the correctness of the ledger? Satoshi Nakamoto believes that 10 minutes of transaction data can reach all distributed accounting nodes. Every ten minutes, accounts form a block, and the accounting node that calculates the hash value is responsible for accounting. At the same time, it verifies whether the node accounting in the previous block is accounting correctly. How many blocks do you need to verify to confirm that the ledger result is correct? Satoshi Nakamoto creatively used probability theory. Satoshi Nakamoto believes that as long as the proportion of errors or malicious computing power does not exceed 10%, we only need to extend 5 blocks after the transaction enters the block to consider the ledger correct. That’s 6 block confirmations. 14 years of practice has proven that there have indeed been no problems in the six blocks.
The current computing power is vast, and it is difficult for 10% of malicious computing power to appear. Considering that the existence of empty blocks may lead to forks, Coinbase Exchange recommends that 3 block confirmations are enough. Satoshi Nakamoto’s method is a breakthrough in the traditional distributed final consistency. He used probability to solve the consistency problem. It should be the first time. Suppose a distributed system does not have a central synchronization node and is not probabilistically confirmed. In that case, the distributed system is mathematically incomplete and, therefore, does not have the reliability of the ledger. There are many such cryptocurrency projects, and readers can compare them themselves. The absence of failure today does not mean there will be no failure in the future. This statement is powerful.
Nn-ledger projects can also be examined. For example, for centralized cloud storage, due to centralized scheduling, three backups are enough. For distributed storage without centralized scheduling, how many backups should there be? If there is no reliability until 6 or more, is there any economy left?
Using a centralized ledger brings mathematical completeness to a distributed system accounting
Distributed ledgers mean that everyone can keep accounts. But how do we ensure that no wrong accounting is done? The ledgers of all accounting nodes must be the same. It requires rules. Everyone records accounts on the longest chain, and six blocks must confirm the accounting on the longest chain. New blocks are synchronized to all mining nodes using the P2P method. Satoshi Nakamoto struggled with uncertainty throughout the accounting process, retaining only a centralized ledger. Mathematicians have proven that only a centralized ledger has the completeness of mathematics. Accounting does not need to be centralized, verification does not need to be centralized, but the ledger must be centralized. It means that all ledgers are copies of each other.
Decentralization is a vague concept. Satoshi Nakamoto’s brilliance was using a distributed accounting method to implement a centralized ledger. Why such a big detour? Because it’s about fairness. Everyone can participate is fairness; the longest chain principle is fair, and it is fair to confirm it with 6 blocks.
A profound understanding of human nature and the use of fairness to combat uncertainty align with great principles and human nature.
Designing a global “sequential clock” to combat time desynchronization
For distributed systems, how can we achieve eventual data consistency? With a centralized scheduling node, everything becomes easier. People can design a clock, and everyone can synchronize according to this clock. Bitcoin does not have centralized node scheduling, and specifying Greenwich Time does not guarantee that all computer times are synchronized. This way is impossible. Satoshi Nakamoto designed the block height very simply. It is the only “clock” of the system. The fastest one is the correct one, that is, the longest chain principle.
Subsequent cryptocurrency projects widely adopted the concept of block height. In software programming, there is no consideration of length, width, and height, only time. In the Bitcoin system, time uncertainty can be seen everywhere, such as in the game of hash algorithm. Designing blocks to be arranged in order and refined into block heights to combat the uncertainty of time is a very natural idea, and it is also a straightforward and clever method.
Free entry and exit of nodes and the game relationship of nodes against joint cheating
Bitcoin nodes are freely accessible. There are cryptocurrency projects that use a fixed-node approach, which means that we must trust these designated nodes. It is very uncertain, and we cannot prove they did not cheat together. Games generate Bitcoin’s node accounting, and probabilistic algorithms ensure that no matter whether it is competition or alliance, cheating is impossible. This method removes trust in human nature and combats the unreliability of human nature. It is a problem that any cryptocurrency system must consider and solve.
Asymmetric encryption to combat bottom-level attacks on the Internet
It is Satoshi Nakamoto’s specialty technology. Even if Bitcoin is transmitted in clear code, you can’t do anything to me. For some cryptocurrencies after Bitcoin, which adopted an account system structure, they had to encrypt during transmission.
There is no central node scheduling; Satoshi Nakamoto’s final countermeasures
Without the scheduling of centralized nodes, there will be a problem of block confirmation time. The fastest one currently is BSC, the Binance Smart Chain. Its confirmation time is 3 seconds per block, and it takes over 33 seconds to confirm 11 blocks. Not to mention that there are unreliable suspicions about the 21 fixed nodes, even this time is an order of magnitude slower than centralization. The Bitcoin system’s confirmation time is over an hour; how will this be used for payment applications? Later, in the Bitcoin forum, people raised more issues about expanding applications, which the Bitcoin system cannot solve. If these problems are solved, the system’s reliability will be reduced. So, Nakamoto walked away, eliminating the uncertainty caused by structural changes.
There is a truth behind this matter. Since Satoshi Nakamoto does not make payment at the first layer, can others do this? All payments must be processed on the second layer and should not be placed on the first layer of the main chain. The main chain should be simple; that is, it only completes the issue of coins. Because currency issuance has no competitors, if the payment efficiency does not surpass Web2, it will not be competitive.
A perfect system with flaws
Bitcoin has experienced undersea cable outages in history. At 15:30 one day in 2018, China’s undersea optical fiber suddenly failed, and international exports were blocked. However, the entire Bitcoin network is still operating normally: China mining pools and mines are still mining coins; foreign mines and exchanges continue to mine and trade coins normally. As a result, mining in two areas, China area and outside China area, was formed. The disconnection fault was repaired after more than two hours. Due to the large computing power of the Chinese region, the Chinese region soon became the longest chain. The accounting outside the Chinese area was invalid, and the transactions were returned to the transaction pool. Fortunately, it didn’t last long, just over two hours, so it didn’t cause any major problems. But what if it’s how many days? Many transactions have been confirmed as normal, and it isn’t easy to return to the state before the transaction is approved. If we insist on restoring it, there may be confusion and controversy in business.
The best way to deal with the underlying failure of the Internet is to shut down the Bitcoin system. I don’t know if Satoshi Nakamoto’s alarm system had this function, but he finally removed the alarm system.
Satoshi Nakamoto and Bitcoin are fortunate. Now, 94% of the coins have been mined, and the computing power is relatively evenly distributed. Man’s calculation is not as good as God’s; wish Bitcoin good luck!
However, the abandoned chain caused losses to the bookkeeper. At that time, the value was minimal and did not matter. Now, it is enormous and should be compensated. Where does the money come from? Ethereum is Uncle Block compensation; well done.
When working on a cryptocurrency project, if you don’t thoroughly study Bitcoin, many people’s projects fail because they started running before they learned to walk. It took us 14 years, and except for Bitcoin, although there were many good ideas, they could not be compared with the overall progress of the Internet. Currently, no project has a greater impact on the mainstream than FTX, and FTX is still a centralized exchange.