User Tools

Site Tools


dido:public:ra:xapend:xapend.k_consensus:02_mechanism:pbft

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dido:public:ra:xapend:xapend.k_consensus:02_mechanism:pbft [2021/07/27 14:43]
murphy
dido:public:ra:xapend:xapend.k_consensus:02_mechanism:pbft [2021/08/13 15:02] (current)
murphy
Line 11: Line 11:
 )) ))
  
-//The **Practical Byzantine Fault Tolerance (PBFT)** model primarily focuses on providing a practical Byzantine state machine replication that tolerates [[dido:​public:​ra:​xapend:​xapend.a_glossary:​b:​byzantine_fault|Byzantine faults]] (malicious nodes) through an assumption that there are independent node failures and manipulated messages propagated by specific, independent nodes.//+//The **Practical Byzantine Fault Tolerance (PBFT)** model primarily focuses on providing a practical Byzantine state machine replication that tolerates [[dido:​public:​ra:​xapend:​xapend.a_glossary:​b:​byzantine_fault|Byzantine faults]] (malicious nodes) through an assumption that there are independent ​[[dido:​public:​ra:​xapend:​xapend.a_glossary:​n:​node|node]] ​failures and manipulated messages propagated by specific, independent nodes.//
  
-//The algorithm is designed to work in asynchronous systems and is optimized to be high-performance with an impressive overhead runtime and only a slight increase in latency.//+//The algorithm is designed to work in asynchronous systems and is optimized to be high-[[dido:​public:​ra:​xapend:​xapend.a_glossary:​p:​performance|performance]] ​with an impressive overhead runtime and only a slight increase in [[dido:​public:​ra:​xapend:​xapend.a_glossary:​l:​latency|latency]].//
  
   * //​Essentially,​ all of the nodes in the pBFT model are ordered in a sequence with one node being the primary node (leader) and the others referred to as the backup nodes.//   * //​Essentially,​ all of the nodes in the pBFT model are ordered in a sequence with one node being the primary node (leader) and the others referred to as the backup nodes.//
-  * // All of the nodes within the system communicate with each other and the goal is for all of the honest nodes to come to an agreement of the state of the system through a majority.//+  * // All of the nodes within the system communicate with each other and the [[dido:​public:​ra:​xapend:​xapend.a_glossary:​g:​goal|goal]] ​is for all of the honest nodes to come to an agreement of the state of the system through a majority.//
   * //Nodes communicate with each other heavily, and not only have to prove that messages came from a specific peer node, but also need to verify that the message was not modified during transmission.//​   * //Nodes communicate with each other heavily, and not only have to prove that messages came from a specific peer node, but also need to verify that the message was not modified during transmission.//​
  
Line 23: Line 23:
 //The more nodes in the system, then the more mathematically unlikely it is for a number approaching ⅓ of the overall nodes to be malicious. The algorithm effectively provides both liveness and safety as long as at most (n-1) / ⅓), where n represents total nodes, are malicious or faulty at the same time.// //The more nodes in the system, then the more mathematically unlikely it is for a number approaching ⅓ of the overall nodes to be malicious. The algorithm effectively provides both liveness and safety as long as at most (n-1) / ⅓), where n represents total nodes, are malicious or faulty at the same time.//
  
-//The subsequent result is that eventually, the replies received by clients from their requests are correct due to linearizability.//​+//The subsequent result is that eventually, the replies received by [[dido:​public:​ra:​xapend:​xapend.a_glossary:​c:​client|clients]] from their requests are correct due to linearizability.//​
  
 //Each round of pBFT consensus (called views) comes down to 4 phases. This model follows more of a “Commander and Lieutenant” format than a pure [[dido:​public:​ra:​xapend:​xapend.a_glossary:​b:​byzantine_generals_problem|Byzantine Generals’ Problem]], where all generals are equal, due to the presence of a leader node. The phases are below.// //Each round of pBFT consensus (called views) comes down to 4 phases. This model follows more of a “Commander and Lieutenant” format than a pure [[dido:​public:​ra:​xapend:​xapend.a_glossary:​b:​byzantine_generals_problem|Byzantine Generals’ Problem]], where all generals are equal, due to the presence of a leader node. The phases are below.//
Line 34: Line 34:
 //The requirements for the nodes are that they are deterministic and start in the same state. The final result is that all honest nodes come to an agreement on the order of the record and they either accept it or reject it.// //The requirements for the nodes are that they are deterministic and start in the same state. The final result is that all honest nodes come to an agreement on the order of the record and they either accept it or reject it.//
  
-//The leader node is changed in a round-robin type format during every view and can even be replaced with a protocol called view change if a specific amount of time has passed without the leader node multicasting the request.//+//The leader node is changed in a round-robin type format during every view and can even be replaced with a [[dido:​public:​ra:​xapend:​xapend.a_glossary:​p:​protocol|protocol]] ​called view change if a specific amount of time has passed without the leader node multicasting the request.//
  
 //A supermajority of honest nodes can also decide whether a leader is faulty and remove them with the next leader in line as the replacement.//​ //A supermajority of honest nodes can also decide whether a leader is faulty and remove them with the next leader in line as the replacement.//​
dido/public/ra/xapend/xapend.k_consensus/02_mechanism/pbft.1627411430.txt.gz · Last modified: 2021/07/27 14:43 by murphy