Blockchain, record the order of transactions

in #transactions4 years ago

Content

Okay, now we guarantee the reliability of payment through asymmetric encryption, which means that no matter how much bad water Xiao Ming has, he cannot pretend to be Xiao Fang and write "Xiao Fang pays Xiao Ming 20 coins". Xiao Ming then thought that although he could not forge the payment, he could double-pay the coins he owned. For example, Xiao Ming wrote "Xiao Ming pays Xiao Fang 1 coin" and Xiao Ming wrote "Xiao Ming pays Xiao Li 1 coin", but in fact Xiao Ming only has 1 coin in total. How to prevent the occurrence of "double payment problems" like this?

In the world of centralized currency (such as physical currency, or Q currency), authoritative third parties (such as banks, Tencent's database) can confirm that the payer has sufficient payment amount because the third party records the transactions of the entire transaction system , Also includes the transaction sequence.

Should we also introduce authoritative third parties? The idea of ​​"decentralization" is meaningless. We need a system in which every participant in this system agrees to a unique and correct transaction history, including the order of transactions. Simply put, each participant (in fact, not every node, but a miner in the network, as explained below) will record the transaction history and transaction sequence of the entire network, and this transaction record is consistent and unique (consistency & consensus) .

What is this system/network? It is the block chains that are now being trumpeted as fascinating and "will change every industry".

Technically speaking, the blockchain is actually a "high tolerance of Byzantine failures" (Peer-to-Peer network) of P2P network. The peers in this network (actually miners are explained in detail below) Miners and miners) store the unique transaction history of the entire network.

P2P network is a kind of distributed system. What is a distributed system? For example, with so many users of Snapchat, the data that a computer/server can store is limited, and it is certainly not enough. What should we do? One computer is not enough, tens of thousands of computers are always enough (in fact, it may not be enough, here is just an example)? These tens of thousands of computers exchange data with each other through the network, forming a distributed system. P2P network, in general terms, is that every user in the network is equal and enjoys the same rights and obligations (it is almost impossible for a fully decentralized P2P network to exist in reality). "Byzantine failure" simply means that users on the network have deviated from their prescribed performance, such as downtime, betrayal, and dishonesty. "High tolerance for Byzantine failure" is very important for Bitcoin, because tolerance directly determines the stability and reliability of the entire blockchain network.

P2P networks like this are not a new technology. There are many high tolerance P2P networks (such as Raft). The biggest invention of Bitcoin is that new certain Bitcoin transactions are recorded by Bitcoin mining.