读书笔记(三)--拜占庭问题

Lamport, Leslie, Robert Shostak, and Marshall Pease. “The Byzantine generals problem.” ACM Transactions on Programming Languages and Systems (TOPLAS) 4.3 (1982): 382-401

A. Problem Statement

The paper targets the problem of fault tolerance indistributed peer-to-peer networks. Particularly, how to reach a consistent battle plan when we need to communicate with each other in oral message (OM) algorithm and signature message (SM) algorithm?

B. Problem Significance

The blockchain is a hot topic in today’s world, and some people want to use it to change the world. A system supported by blockchain technology, such as the Bitcoin network, is
technically a very large distributed system. In fact, the consensus problem is a core issue that distributed systems need to address. Between each node in a distributed system, if there is no strictly defined rules and protocols, the interaction is not consistent, and the entire system can’t work at all. So, there are smart people who have designed consensus protocol.
A consensus protocol has an important premise: each node can be trusted, and they all strictly follow the same set of rules. This condition can be basically satisfactory in a company’s internal network. But what if this condition is not met? If some nodes in the network are malicious, they not only do not comply with the protocol but also deliberately messed up (such as sending messages indiscriminately), then other normal nodes can still work smoothly? In distributed systems theory, this problem is abstracted into a well-known problem - the Byzantine Generals Problem. This important question was raised by the famous Leslie Lamport in this paper.

C. State of the Art

This paper elaborates on algorithms built in both cases of OM algorithm and SM algorithm. Both algorithms must guarantee:
A. All loyal generals have a consistent fighting plan. For example, they all decided to attack, or they decided to retreat, instead of some generals who thought they should attack, and other generals decided to retreat.
B. Loyal generals not only get the same fighting plan but also ensure that the resulting is reasonable. For example, the original attack was a more favourable plan, but due to the obstruction of the traitors, a plan for retreating was finally formulated. This way our algorithm also fails.
. OM(m): m traitors. First, the commander sends its own observations to all lieutenants. After receiving the result v from the commander, lieutenant does not accept it directly but
make itself becomes commander doing OM(m-1) to continue forwarding v. Third, every lieutenant collects all the results , taking the majority to act. The OM algorithm of has obvious shortcomings: it does not tell who the last source of the message is, that is, the message cannot be traced back to the source, and it is difficult to find where the traitor is when the information is inconsistent.
SM(m): m traitors. Initialize Vi=empty collection. First, the general signed the order and sent it to each lieutenant. Second, for each lieutenant i: If the lieutenant i receives a v:0 message from the sender and has not received another sequence of commands, then he makes Vi to {v}; sends v:0:i to all other lieutenants. If the lieutenant i receives a message of the form v:0:j1:…:jk and v is not in the set Vi, then he adds v to Vi; if k

D. Contributions

This article describes the first algorithm that can handle f (traitor) ≥1. The target A of Part C is relatively clear, and at least one algorithm can easily determine whether it has reached this goal. But the target B is not enough to start. Whether a plan is “reasonable” is not well defined. Even without the existence of traitors, loyal generals may not be able to make sound plans. This involves a very important issue in scientific research. If a thing cannot be clearly defined in a formal way, there is no way to study it, and the matter itself cannot rise to the scientific level. Lamport’s outstanding contribution to the study of the Byzantine generals was to subtly turn this seemingly less well-defined problem into a problem that could be accurately described in mathematical language.

E. Remaining Questions

The transmission path lengths of the messages of the algorithms OM(m) and SM(m) are both m+1. OM algorithm fault tolerance is less than 1/3 of the number of traitors, the SM algorithm greatly saves costs, and he resolves the 1/3 requirement of the OM algorithm. The SM algorithm system is difficult to implement, and the preservation of signature message records is difficult to get rid of a centralized organization and exist independently. Is there any way to solve it? Blockchain? How?

你可能感兴趣的:(读书笔记)