Font Size: a A A

BRaft: A Byzantine Fault Tolerant Raft

Posted on:2019-06-05Degree:MasterType:Thesis
Country:ChinaCandidate:C Y LiFull Text:PDF
GTID:2428330566486579Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
In order to enhance the understandability,Raft simplifies the state space and decomposes the whole consensus process into several parts,which makes Raft is in many ways superior to Paxos and other consensus algorithms.However,Raft can only achieve the consensus under non-Byzantine failure assumptions.Under this drive,a Byzantine fault tolerant distributed consensus algorithm BRaft(Byzantine Raft)is proposed.BRaft inherits the state space of Raft and three strengthening mechanisms are designed for Byzantine fault tolerance,which include log replication,leader election and committed confirmation.On the basis of the same understandability as Raft,BRaft ensures the safety and liveness of the algorithm.BRaft is similar in many ways to Raft,but it has three specific mechanisms for Byzantine fault tolerance:(1)Log tampering.The Byzantine node has the ability to tamper with the logs during log replication,Braft utilizes digital signature to detect log tempering.For nodes with different states,Braft has designed correspongding response strategies to ensure that the tempered log cannot be agreed on between non-Byzantine nodes.(2)Leader election.The Byzantine node can make fake voting requests to obtain votes from other nodes.Using committed proof mechanism,BRaft guarantees that the selected leader must contains all of the committed logs.(3)Committed confirmation.The committed log means that the log entry have reached consensus between non-Byzantine nodes.Through committed confirmation mechanism,BRaft guarantees that logs can still reach consensus correctly in the case of Byzantine node(s)sending error messages.We have implemented BRaft in the Golang programming language,and the core mechanisms are illustrated by the algorithm performance and Byzantine fault tolerance.Compared with Raft,BRaft has lost a certain performance,but it has the characteristics of Byzantine fault tolerance,and compared with other Byzantine fault tolerant consensus algorithms,BRaft has the same understandability as Raft under the premise of without losing its performance.
Keywords/Search Tags:Byzantine fault tolerance, Consensus algorithm, Log replication, Raft
PDF Full Text Request
Related items