Blockchain circle

One stop hot information platform

About us:

Blockchain circle provides the latest information about blockchain, digital currency, digital wallet, exchange, metauniverse, bitcoin, Ethereum, contract, financial management and so on, and always pays attention to the latest market...

What is a blockchain? (economic air outlet)

Time : 02/10/2021 Author : j6dw3c Click : + -
        We all know that bitcoin is a legend. Let's not mention it! But first of all, we need to understand one problem & mdash& mdash; For example, bitcoin is a blockchain, but the blockchain is not bitcoin. Neither Google nor wiki can explain what blockchain is. Because there are many people who speak about bitcoin and many people who understand bitcoin, but when it comes to blockchain, there is no clear definition of what blockchain is. Basically, all the introductions are like this:. As for what is a blockchain, we haven't seen a good definition and introduction at present. What we see more is a general article about the significance of blockchain, or it is a water miner and miner.
        So let me say my personal definition of blockchain from the perspective of pure theory:. First, it is a distributed and decentralized system. Therefore, a central server or node is not a blockchain. Nodes are safe and harmless, so this is not a blockchain. Similarly, from the perspective of application, if your application must use the central node (for example, it needs to use supercomputers for deep learning) or it is not necessary to consider the node insecurity (for example, the sensor in a secure factory), then blockchain technology does not need to be considered. As for the latter word database, most mature blockchains are databases at present. For example, bitcoin is a distributed ledger, and the ledger is actually data.
        Then, according to the data format, it can be divided into three types & mdash& mdash; 1. The data are completely irrelevant, only the consensus reached, and there is no valid or invalid; 2. The data has some logical structures. For example, in the ledger, a transaction actually has input and output in addition to the amount. It is connected to the previous transaction. These data need to pass logical verification (for example, in the transaction, the node needs to verify whether the input transaction is valid); 3. The data has Turing complete logic. During verification, the nodes need to use computing power. Each transaction can have different outputs and states. What each node needs to do is not only to verify the authenticity of the transaction and the correctness of the input, but also to read in the value according to the logic in the transaction, check the calculation and then verify the result.
        Take bitcoin as an example. It is a completely decentralized system. 2. It is placed in a non secure environment. It does not require all users of bitcoin to be harmless. This is the most misunderstood part, because many people only think it is when they mention blockchain. Admittedly, this part is very important, and indeed the blockchain is named for it, but this is only part of the definition of blockchain. 3, it is impossible to find another x with y so that h (x) = y; 3.5, if the difference between X and X is small, H (x) and H (x) are completely irrelevant. This is mainly used to verify the integrity of information & mdash& mdash; Put the hash value of this information after a piece of information. This value is very small, such as 256bit, and it is easy to calculate.
        After receiving the message, the receiver calculates the hash value again, and compares the two to know whether the message has been tampered with. If it is tampered with, even if there is only one bit, the entire hash value will be completely different. According to the nature of the hash function, no one can forge another message with the same hash value, that is, the tampered data can not pass the hash check. Asymmetric encryption: This is easy to understand & mdash& mdash; Symmetric encryption means that there is a key, which can be understood as a safe key. You encrypt the message into ciphertext, and no one can understand what it is, and then the same key decrypts it into the original message.
        Asymmetric encryption means that there are two keys, one is the public key and the other is the private key. If one of them is used for encryption, the other can only be used for decryption, and vice versa. Another important property is that if you are given ciphertext, plaintext and one of the keys, you still cannot figure out what the other key is. The principle is basically based on some difficult mathematical problems, such as factorization and discrete logarithm. RSA, Diffie Hellman and ECC (elliptic curve) are commonly used. Bitcoin uses elliptic curve. In addition to being used for information encryption like symmetric encryption, asymmetric encryption is also used for authentication. Because we usually assume a pair of public and private keys, the public key is public, and the private key is only owned by the person. Therefore, if a person has a corresponding private key, we can determine that he is the person.
        One of the important applications is digital signature & mdash& mdash; After a message, the sender hashes the message and encrypts it with the private key. Then, the receiver first hashes the message, then decrypts the digital signature with the corresponding public key, and compares the two hash values. If they are the same, it means that the message is sent by the receiver and has not been tampered with. Starting from the second block, the first part of each block has the hash value of the previous block. In addition, every transaction (data) in the block has a digital signature of the initiator to ensure authenticity and legality. Therefore, no data in the previous block can be tampered with. See the above for the reasons.
        The data in the database will increase, and each time the data is added, it is a block, so these blocks with different generation times are linked together in this form. The purpose of the consensus algorithm is to enable all nodes to reach a consensus on the new block, that is, everyone should recognize the new block. For a system with a center, this is very simple. What the center says is OK. But in a decentralized system, especially when some nodes are malicious, this is very complicated. There is a corresponding problem in computer science, called Byzantine general problem or Byzantine fault tolerance (BFT). When Lamport raised this issue, he worked for NASA at Stanford Research Center. The reason why he raised this issue is not to consider the application scenario similar to bitcoin (tens of thousands of users on the Internet), but to consider a simple system under a special background & mdash& mdash;。
        If you have an aviation background, you may know that the aircraft has three independent control systems. Why? Because it is impossible for any system to fail completely, even if the failure rate of the aircraft control system is extremely low, there is still a possibility that the thing will fail halfway through the flight. So we can make two independent systems, and the probability of failure will be greatly reduced. However, two independent systems are still not enough to accommodate the errors of one system & mdash& mdash; A plane is flying head-on. One of the two systems says to hide and the other says not to hide. Is it hiding or not? Therefore, we need a three-level system. In this way, if one system fails, the other two can work normally, and the minority can obey the majority to give correct results.
        Students who have learned error correction codes should be familiar with this. The Hamming distance between the outputs of this system is 3, so one bit error can be corrected. However, with regard to the space shuttle, in the context of the cold war, what if a certain system did not break down but was controlled by the enemy? Are three systems enough?. The answer is no, because unlike simply broken nodes, malicious nodes can do something else to prevent the whole system from reaching a consensus. We call the three systems ABC. The normal working process is that three people tell each other the results each time they get them, and then each candidate agrees with the results of the majority. This is a distributed system without a central node. That is to say, three people can't get together to hold a meeting. Three people can only communicate in pairs.
        At this time, it is assumed that C is malicious and its goal is to destroy the system. So, assuming that the correct reading is 1, both a and B get the result of 1. At this time, the little bitch C told a that my result was 0, and B also thought it was 0. At the same time, he called B and said, oh, I think it was 0, and a also said so, so a and B were confused. Suppose you are a, and you hear the answers of two different versions of B. B says that he chose 1, and C says that he chose 0. But a can't know who is the little bitch who cheated him. Because if B is on the line, the result he hears is the same as now. (of course, signature can solve this problem, but this is only the case of synchronous systems. In asynchronous systems, this problem will become more complicated. The reason is that the response of the normal node is delayed, while the malicious node can not reply. Therefore, the normal node needs to wait for the reply of another node, but it does not know whether the other party will reply. Because the other party may have malicious, it can not judge before receiving the reply Whether the other party is a normal node or a malicious node is called asynchronous BFT, which is also the most complex case of BFT. No more explanation will be made here. The BFT algorithms mentioned below are actually asynchronous BFT algorithms).
        After Lamport raised this issue, numerous algorithms were proposed, collectively referred to as BFT (Byzantine fault tolerance) algorithm, of which the most representative is pbft. Then, due to the recent popularity of blockchain, numerous BFT algorithms optimized for blockchain application scenarios also emerged. However, an important problem is that all current BFT algorithms can only be applied in small networks. The reason is simple & mdash& mdash; Because the BFT problem is designed for scenarios similar to the control system of the space shuttle, the early algorithms mainly consider such scenarios. The pbft paper considers a 5-node system.
        Even with the newly proposed BFT algorithm, it can be used in networks with no more than 100 nodes. This issue was shelved for a long time until the birth of bitcoin & mdash& mdash; Nakamoto has simplified this problem in a sense. In bitcoin, it is also a consensus problem. Nakamoto has introduced an important hypothesis & mdash& mdash; Reward, the reason why he can do this is that he is considering a digital currency, that is, consensus is valuable. Bitcoin consensus model: there is a recognized value in the model. Every node needs to pay a certain price to speak. Honest nodes will be rewarded, while malicious nodes will not be rewarded because they only pay the price, so they are punished in disguise.
        In other words, the BFT consensus model actually covers the scenarios of the bitcoin consensus model, and the bitcoin consensus actually eases the restrictions of the BFT consensus model. The advantage of bitcoin consensus for BFT is that the ability of malicious nodes is limited, and the damage caused by malicious nodes is greatly reduced, especially for asynchronous systems & mdash& mdash; In the BFT consensus, a malicious node can always refuse to respond, while an honest node needs to wait for it (because it is not known whether it is malicious). As for the bitcoin consensus, it is up to you. If you do not respond, there will be no reward. Therefore, the bitcoin consensus algorithm can be applied to thousands of nodes, and anyone can join at any time without registering their identity in the network in advance (in the BFT algorithm, the number and identity of nodes in the network must be known).
        However, the defect of the bitcoin consensus is that, first of all, there must be something of value, that is, it is OK to put it in bitcoin. Ethereum may be ok now, but other digital currencies & hellip& hellip; The BFT consensus has a strict limit, that is, malicious nodes cannot exceed 1 / 3 of the total number. However, the bitcoin consensus does not have such a limit. The only limit is to assume that most nodes are rational and profit seeking, that is, they will use the best strategy to earn the maximum value. Therefore, strictly speaking, selfish mining is allowed in the bitcoin consensus, and most attacks are actually not attacks, because these do not break the framework of the bitcoin consensus & mdash& mdash; If the value is infinite, the bitcoin consensus is very reliable.
        However, this is not true, because not every virtual currency is as valuable as bitcoin, and when the value is not high, the premise of bitcoin consensus is untenable & mdash& mdash; When the loss may be tens of thousands of yuan, it is reasonable to assume that everyone is rational. However, if the loss is only a few cents, it is quite ridiculous. In fact, there have been cases where one bitcoin mine pool went to another currency to maliciously mine and destroy the opponent. In addition, the bitcoin consensus is the longest chain consensus, that is, the longest chain -- most -- is rational, so bifurcation is allowed. This leads to some incidental problems. For example, if the network has a delay, how do you know that the chain in your hand is the longest chain in the whole network? Therefore, if more data needs to be transmitted, the delay increases.
        As the delay increases, the chain in the hands of more and more people is not the longest chain in the whole network. Therefore, the longest chain of the whole network cannot represent the majority. This breaks the fundamental consensus of bitcoin, which is why the frequency of bitcoin blocks is 10 minutes. Bitcoin currently has a famous 7-coin transaction per second limit, but now the expansion is very noisy. Ethereum's transaction format is different, and it also uses a new work certificate. It wants to change it into a certificate of rights and interests, but these are not essential. The real essence is that under the current network conditions, if the whole network is applicable, the transaction volume of bitcoin consensus can hardly exceed the order of 100 transactions per second.
        Question: we all know the efficiency of meetings. The more people there are, the harder it is to get results. It can only be used for a few nodes, if it is used for thousands of nodes & hellip& hellip; Let's imagine the scene of a National People's Congress once a day. As a result, the blockchain has been divided into two distinct categories. Many people have heard of the public chain and private chain alliance chain. However, if you think that this is based on the application, you are wrong. In fact, the most essential difference between the two blockchains is due to the different consensus models or Algorithms & mdash& mdash; The BFT algorithm cannot be applied to a large number of nodes, so those using the BFT algorithm cannot be used as public chains.
        The consensus of bitcoin requires a value system. It is not reliable to build a private chain alliance chain because the assumption of a simple profit seeking person is reasonable. However, if the target is a company, the interests of the company are too complex to simply think that they only pursue the value on the blockchain. 1. The public chain, represented by bitcoin, Ethereum and all virtual currencies, adopts bitcoin consensus. The consensus algorithm basically adopts the proof of work mechanism, that is, mining. This mechanism has been explained clearly in other answers, so I will skip it. My work proves that everything is good except for the electricity & hellip& hellip; How much electricity does it cost? Bitcoin is almost as many as a city with a million people.
        In addition, the founder of Ethereum particularly likes the proof of rights and interests, and it seems that it will be put into use in a small scale soon (one of the 100 blocks will use the proof of rights and interests). However, so far, we still hold a wait-and-see attitude towards the reliability of this thing. 2. Private chain and alliance chain. Take IBM's hyperledger fabric, as well as a lot of other similar to tender, and even r3corda and ripple as representatives, all use BFT consensus. In fact, there are many applications in this area. The problem is, 1. At present, basically all applications give people the impression that they are blockchain and blockchain
Previous:Wanxiang blockchain,Wanxiang holdings announced to invest 200 billion to build a smart city, mainly relying on blockchain technology
Next:No more

Related articles:

© 2005-2032 | Blockchain Circle & & All Rights Reserved    Sitemap1 Sitemap2 If there is infringement, please contact us at: