读书笔记(二)--比特币背后的技术

it2022-05-08  6

Nakamoto, Satoshi. “Bitcoin: A peer-to-peer electronic cash system.” 2008.

A. Problem Statement

The paper targets the problem of decentralization of Bitcoin, how to enable a true online payment system to pay directly by one party to the other, without going through a third party, just as if we were paying cash directly in real life? Particularly, how to do proof-of-work and how to do distributed consensus on the network?

B. Problem Significance

For the first time in human history, Bitcoin has used technical means to ensure that private property is sacred and inviolable. The Bitcoin network is controlled by all Bitcoin users and can create wealth infinitely. However, in real life, only banks can issue banknotes, and even forcibly confiscate your property. The convincing general ledger of Bitcoin is the real innovation of Nakamoto. It is changing everything because of its decentralization. But under the current accounting method, all of these accounts can be fabricated. And some people will only conceal and not recognize human manipulation. As revealed by the scandals of the past, no non-independent certification books are trustworthy.

C. State of the Art

The system structure is really simple. Provided that the longest chain is recognized, spread the information as much as possible. The distributed consensus is that the network continues to extend the chain. First, the point to be decentralized in Bitcoin is to address the risk of double payments. The solution proposed by Nakamoto is to make a chain and order all transactions according to time, so there will be no double payment. The existence of the chain indicates the existence of these transactions, from another point of view, it is also the transaction recognized by those nodes that the CPU computing power is the biggest. It’s like a minority obeying the majority vote. The situation is this, the entire system work must rely on a transaction chain, if miners do not recognize this chain, then it must be a useless chain. How can I cheat? As long as your CPU computing power is dominant, you can compare the normal non-cheating ones like voting, then you are orthodox! This is the legendary 51% attack. If your computing power is dominant, then you can do bad things. Sort by time, you can get how much money everyone has. Specifically, for a transaction, Alice doesn’t really know if Bob has paid the Bitcoin to someone else. If we have a trading chain, we know all the trades. If we want to know whether the Bitcoin has been paid to other people, we will check it in chronological order. In other words, Alice does not want to check, let other people check, this is the role of the miners. A transaction after checking fail is not allowed to join the trading chain, so Alice can just wait for the transaction to enter the transaction chain. How is the proof of work (PoW)? The answer is that it is randomly generated. According to the probability, basically, the more exotic the hash, the lower the probability of getting. So the blockchain is basically a bunch of hash values compared together. It really needs a PoW, otherwise, everyone wants to generate a block to generate a block, then everything can be changed? This hash value is random and must be obtained by trying again and again, so you can change the transaction and pay a lot of computational power. Since the hash value has a strong correlation with the data, changing even one word will generate different hash values, so the sooner the block is generated, the less likely it is to change. Once it is changed, the latter is not correct, thus ensuring that Unchangeable characteristics.

D. Contributions

To prevent double payment, it is impossible to spend a sum of money twice, because everyone knows that the money does not belong to you, has it been traded, once it has been traded, it is no longer yours, and the second transaction will definitely be denied. In order to ensure that no one will arbitrarily modify this chain, and additionally introduce PoW, this idea is really genius. In the PoW, to change the previous block, you must regenerate the following blocks. No one has such a large amount of computational power, so everyone can only recognize the longest chain, extend it, and don’t think about changing it. It feels a bit like the prisoner’s dilemma in game theory. In this game, Nakamoto wins and is the winner of most miners. Bitcoin has the ability to carry instructional information. Any data, whether encrypted or unencrypted, can be stored in the blockchain. This means that I can load “salary” in the instruction information because it contains instructions and reward information. Think about the meaning of this. Large companies spend millions of dollars a year on computer operations because of their accounting work. Among them, how many computer powers are used in personnel work? How much is dealing with accounting? How do we allocate these costs? If you can load the salary information on the instruction information, you will know that the answer to the above question is clear. In the latter mathematical proof (Calculations) show that Nakamoto has thought of this question: If the overall computing power is low, in order to ensure the speed of the transaction, the workload is required to be lower; If the computing power becomes higher, it requires a higher workload. At this time, it is not the trading speed, but everyone can easily generate blocks. The unchangeable nature may be challenged. So the way to achieve unchangeablyis really wonderful.

E. Remaining Questions

There are now specialized mines to calculate the hash value, and there are already more than 51% of the calculation power. How can we guarantee that they will not cheat?


最新回复(0)