拜占庭协议(Byzantine Agreement)和拜占庭广播(Byzantine Braodcast)
拜占庭协议
初始状态: 所有节点获取输入i 。(节点定义:一群有独立的IO,缓存和运算器,可以运行共识算法,并且互相进行通信的设备)
目标:运行共识算法之后,所有节点产生输出v,满足如下条件:
安全性(safety): 如果其中一个节点输出了v, 那么其他正确节点不可能输出其他的值
存活性(liveliness):所有节点最后会输出值
合法性(validity):若所有节点输入的值全部为i,那么所有正确节点也会输出该值i
拜占庭广播
初始状态: 其中一个节点作为sender向其他节点发送值v
目标:运行共识算法之后,所有节点产生输出v,满足如下条件:
安全性(safety): 如果其中一个节点输出了v, 那么其他正确节点不可能输出其他的值
存活性(liveliness):所有节点最后会输出值
合法性(validity):如果sender节点正常(honest),且发送的值为v,那么所有正确节点也会输出该值v