区块链知识系列 - Raft 共识

Raft算法由斯坦福大学的Diego Ongaro和John Ousterhout于2014年在论文《In Search of anUnderstandable Consensus Algorithm》中提出。Raft算法面向对多个决策达成一致的问题,分解了Leader选举、日志复制和安全方面的考虑,并通过约束减少了不确定性的状态空间。

典型的过程包括以下两个主要阶段:

  • Leader选举:开始所有节点都是Follower,在随机超时发生后未收到来自Leader或Candidate消息,则转变角色为Candidate,提出选举请求。最近选举阶段(Term)中得票超过一半者被选为Leader;如果未选出,随机超时后进入新的阶段重试。
    • Leader负责从客户端接收log,并分发到其他节点
  • 同步日志:Leader会找到系统中日志最新的记录,并强制所有的Follower来刷新到这个记录,数据的同步是单向的。
    • 此处日志并非是指输出消息,而是各种事件的发生记录。

共识算法以Raft为基础的区块链:

  • Hyperledger Fabric
  • Quorum : 企业级以太坊
  • R3 Corda

猜你喜欢

转载自blog.csdn.net/wcc19840827/article/details/108596190
今日推荐