1 前言
联邦拜占庭共识算法(Federated Byzantine Agreement,简称FBA)是一种解决分布式系统中拜占庭问题的共识算法,是拜占庭容错共识算法里的其中一种,主要应用于区块链技术中。这种算法允许系统内部的各种节点自由进行组织,形成所谓的“信任节点”,并由这些信任节点进行共识的达成。
2 联邦拜占庭共识算法的工作流程
详细来说,FBA的工作流程可以粗略地分为以下几步:
2.1 建立信任网络
不同于比特币的 PoW(工作量证明)或者以太坊的 PoS(权益证明),FBA 算法采取的方法是让网络中的节点自由选择他们信任的其他节点,并形成一个“信任节点”的列表,这个过程也称作节点的“配对”。
每个节点的信任节点列表是由节点运营者根据各种因素自行确定的,这可能包括节点的行为,声誉,稳定性,历史记录,甚至可能包括地理位置,或者任何其他因素,只要节点运营者认为这些因素重要。每个节点的信任节点列表是动态的,可以随着时间的推移和节点行为的变化而进行更新。联邦拜占庭共识算法(FBA)是一种去中心化的共识算法,其主要创新之处在于它允许每个网络节点自由选择他们信任的其他节点。从而形成一个灵活的“联邦”。因此,FBA 里的“联邦”就是节点的信任列表。理论上,FBA 系统的联邦数量并没有限制。
2.2 节点投票
当网络需要对某个议题达成共识时,每个节点根据自己的信任节点列表进行投票,投票的结果以及自己的信任节点列表会被广播并公开。
2.3 扩散投票结果
收到投票结果的其他节点,会根据