Diagram of Byzantine general problem in blockchain
from the perspective of data: blockchain is a kind of distributed database. The "distributed" here is not only reflected in the distributed storage of data, but also reflected in the distributed records of data (that is, it is collectively maintained by system participants). In short, blockchain can realize distributed recording of global data information (which can be collectively recorded by system participants rather than centralized recording by a centralized organization) and distributed storage (which can be stored in all nodes participating in recording data rather than centralized storage in centralized organization nodes)
from the perspective of effect: blockchain can generate a set of time sequence, tamper proof and trustworthy database, which is decentralized storage and data security can be effectively guaranteed<
the working principle of blockchain technology
today's blockchain technology can be summarized as a technology to collectively maintain a reliable database through centralization and de trust in the past. In fact, blockchain technology is not a single and brand-new technology, but the result of the integration of a variety of existing technologies (such as encryption algorithm, P2P file transfer, etc.), which are cleverly combined with the database to form a new way of data recording, transmission, storage and presentation. In short, blockchain technology is a technology that everyone participates in recording and storing information. In the past, people entrusted the work of data recording and storage to the centralized organization, while the blockchain technology allows everyone in the system to participate in the data recording and storage. Under the distributed peer-to-peer network without central control point, blockchain technology uses the method of distributed collective operation to build a P2P self-organizing network. Through the complex verification mechanism, the blockchain database can maintain the integrity, continuity and consistency. Even if some participants commit fraud, the integrity of the blockchain cannot be changed, let alone tamper with the data in the blockchain
the source of blockchain technology principle can be summarized as a mathematical problem: Byzantine general problem. Byzantine general problem extends to Internet life, and its connotation can be summarized as: under the background of Internet, when we need to exchange value with unfamiliar opponents, how can we prevent people from being deceived and confused by malicious saboteurs, so as to make wrong decisions. The Byzantine general problem is further extended to the technical field. Its connotation can be summarized as: in the absence of trusted central nodes and trusted channels, how to reach a consensus among the nodes in the network. Blockchain technology solves the well-known Byzantine Generals Problem - it provides a way to create consensus networks without having to trust a single node<
Application of blockchain technology
blockchain technology overlaps three fields:
1, currency: issuance mechanism, distribution mechanism, adjustment mechanism
2, contract: equity, mutual insurance, right registration and transfer, smart contract, etc.
3, Governance: identity authentication, health management, notarization, judicial arbitration, decentralized autonomous organization, Voting, etc.
blockchain is like a "trust creating machine". What Bubi blockchain needs to do is a new technology and proct to realize real value circulation and make the Internet reach a new height
when it comes to blockchain technology, we have to mention bitcoin. Many people know that electronic currency bitcoin is not issued by a specific monetary institution, but generated by a large number of calculations of a specific algorithm. In fact, the core of real support for bitcoin is blockchain technology
How can invisible and intangible bitcoin operate through blockchain technology? The popular interpretation in the instry is that blockchain can be seen as a technical solution to collectively maintain reliable databases through "decentralization" and "distrust". Generally speaking, this technology can be understood as the technology of all participants in bookkeeping. In the past, people used a centralized server for bookkeeping. In the blockchain technology system, everyone can participate in bookkeeping and jointly identify the authenticity of records
"through this technology, even if there is no neutral third-party organization, the two sides who do not trust each other can cooperate. In short, blockchain is like a "trust creating machine."“ Blockchain technology is widely used in the era of big data. " At present, in addition to the field of Internet finance, blockchain technology has been applied in many fields and has shown great prospects
in addition, blockchain technology is also of great significance in law. Especially in the field of assets, whether it is physical assets such as real estate and automobile, or intangible assets such as health and reputation, we can use this technology to complete registration, transaction and tracking. It can be said that blockchain technology will be useful in any field of proction and life that lacks trust. "
blockchain technology concept stocks
it is recommended to pay attention to it manufacturers with blockchain technology and applications. We think that blockchain is more like a mechanism or technical solution. In the future, manufacturers who can combine this mechanism into different scenarios for promotion and application are expected to achieve subversive success. Blockchain technology can ensure that the data structure will not be tampered and forged, and has broad application prospects in the field of financial payment. Bubi blockchain has set up a special team around digital currency, focusing on the development trend of digital currency for a long time, and has set up a special team to carry out relevant work around the instry development demand of digital currency, including the research on blockchain technology.
although POW is not optimal, it is now the most practical consensus algorithm. For example, bitcoin, lightcoin and decent all adopt the pow proof mechanism.
imagine that in Byzantine times, there was a rich city-state with all kinds of gold, silver, jewelry, silk and satin, and its Lord Doraemon enjoyed all the luxury and glory. On the outskirts of the city-state, four Byzantine Generals, Daxiong, panghu, Xiaofu and Jingxiang, coveted Doraemon's wealth, so they decided to join hands to capture Doraemon's city-state. According to the strength comparison between the two sides, more than half of the generals must attack at the same time to defeat the enemy, so the winning condition is that at least three of the four can agree on the attack time. What are the odds of the four generals
the answer to this question depends on the cooperation mode of the four people. If it is a centralized system and there is an alliance leader, such as panghu (equivalent to a central server), then there is no doubt about their victory, because it is very easy to reach an agreement on the attack time. As long as panghu calls Daxiong, Xiaofu and Jingxiang to have a meeting to discuss it, Even if we have different opinions, panghu can make a final decision. Now let's go back to the assumption of Byzantine Generals. In a distributed network without trust, what are the odds of four generals winning< br />
?
first of all, e to the lack of trust between the four generals, the possibility of gathering in a small dark room for a conspiracy meeting is ruled out (what if they are kidnapped by panghu in a small dark room?); Secondly, since there is no leader, the opinions of all four people will be equally valued. In this case, the four generals could only negotiate the attack time by sending messages between their camps by messenger. For example, if Daxiong thinks 6 a.m. is a good time to launch an attack, he will send messengers to tell panghu, Xiaofu and Jingxiang their opinions. At the same time, panghu may think it's better to launch a surprise attack at 9 p.m., Xiaofu prefers to launch an attack at 3 p.m., and Jingxiang hopes that it will be 10 a.m., and the three of them will send their own messengers at the same time. In this way, after the first round of communication, each of the four generals had four attack times to choose from, and each of them had to inform the other three of their chosen time in the next round of communication. Because four people make decisions independently, there are 256 possible final choices. Only when more than three people choose the same time can consensus be reached, and there are only 64 such results, that is to say, the probability of reaching consensus is only 1 / 4. This is only the case of four generals. What if the number of generals is 10, 100 or 1000? With a little calculation, we can see that as the number of people increases, the hope of reaching a consensus will become increasingly dim
change the general in the above example into the node in the computer network, the messenger into the communication between nodes, and the attack time into the information that needs to reach a consensus. Then you can understand the dilemma described by the consensus problem. The ability to reach a consensus is self-evident for a payment system. If you remit a sum of money to your family to buy a car and go to the bank the next day for verification, the counter will tell you "about how much money you remit, there are three versions of records in our system". Obviously, you dare not deposit money in such a bank. Before the emergence of bitcoin, the consensus problem is difficult to be solved perfectly. In order to reach a consensus, we need to adopt a centralized system (unless the nodes meet certain conditions), and in order to decentralize the consensus, we can't guarantee it. So how does blockchain technology solve this problem Pay attention to the official account weoption, reply to "block chain", you can view the full text.
the Byzantine Empire wanted to attack a powerful enemy, so it sent 10 troops to encircle the enemy
although this enemy is no better than the Byzantine Empire, it is also able to resist the simultaneous attack of five conventional Byzantine armies
for some reasons, these 10 armies can not gather together to make a single breakthrough, and must attack at the same time under separate encirclement
there is no chance that any one of their troops will attack the enemy alone, unless at least six troops attack at the same time
they are scattered around the enemy country and rely on the communication between the signalmen to negotiate the attack intention and attack time
the problem that bothers these generals is that they are not sure whether there are traitors among them, and the traitors may arbitrarily change their attack intention or attack time
in this state, can the Byzantine Generals find a distributed protocol to enable them to negotiate remotely and win the battle
this is the famous Byzantine general problem
it should be clear that the question of Byzantine Generals does not consider whether the signalmen will be intercepted or unable to convey information, that is, there is no question about the channel of message transmission
Lamport has proved that it is impossible to achieve consistency through message delivery on unreliable channels where messages may be lost
therefore, when we study the Byzantine general problem, we have assumed that there is no problem with the channel, and on this premise, we do some research on consistency and fault tolerance.
it is obvious that Byzantine error is the model of excessively pessimistic, because this kind of error is relatively rare in the actual environment. So why study this model? One of the simplest reasons is that if a consistency algorithm can ensure that the system is consistent when f Byzantine errors occur in the system, then this algorithm can also ensure that the system is consistent when f other errors occur
If an error model has an upper limit, it must have a lower limit (there is no model weaker than it). This lower bound is the "fail stop" model. The assumption of this model is: when a node fails, the node will stop running, and all other nodes know that the node has an error. Using the same logic, if a consistency algorithm can't guarantee consistency when f errors occur in the system, then the algorithm can't deal with other F problems
using these error models, we can compare different algorithms and discuss the cost of specific algorithms.
Byzantium, located in Istanbul, Turkey, is the capital of the Eastern Roman Empire. Because of the vast territory of Byzantine Roman Empire at that time, for the purpose of defense, each army was separated far away, and the generals could only rely on messenger to transmit information. During the war, all generals and adjutants in the Byzantine army must reach a consensus to decide whether there is a chance to win before attacking the enemy camp. However, there may be traitors and enemy spies in the army, which will influence the decisions of the generals and disrupt the order of the whole army. When consensus is reached, the result does not represent the majority opinion. At this time, in the case of known members of the rebellion, the remaining loyal generals without the influence of traitors how to reach an agreement, Byzantine problem formed