区块链安全理论与实践(Blockchain for Distributed Systems Security)阅读笔记D2

分布式共识协议和算法

容错共识(Fault-tolerant Consensus)

容错共识是分布式系统中广泛应用和研究的机制。容错共识旨在规范分布式系统内的信息传播方式,以在组件和通信出现故障的时候,依然可以相应服务请求。
共识的意思,简单来说就是让分布式系统中的各个组件在数据取值上达成一致。
第二章主要内容:
消息传递系统(Message-passing System)
系统崩溃故障(Crash Failure)
拜占庭故障(Byzantine Failure)

系统模型

影响分布式系统共识的三个因素:网络同步性组件故障共识协议

1、网络同步性

网络同步性是研究任何分布式系统的一个前提条件,用来定义各个组件之间的协调程度。我们研究任何分布式系统之前,我们需要假设一个网络同步性条件,作为接下来一切讨论的基础。
一个分布式系统有三种同步性:
同步(synchronous):这种同步性以轮(round)为单位进行协调。在同一轮内,各个组件根据事先预定好的协议进行操作,当各个组件都执行完毕之后,互相确认,然后再进行下一轮的操作。
异步(Asynchronous):和同步相对,这种同步性中的各个组件不互相协调,每个组件之间没有事先预定好的协议,以机会方式(opportunistic Fashion)各自执行操作。对组件间的消息传送或消息传输延迟没有保障
部分同步(Partially Synchronous):各个组件不互相协调,但是消息传输延迟存在上限。也就是说消息传送是有保障的,但是可能传输不及时。

著名的比特币,就是属于部分同步系统。

组件故障

系统崩溃故障,拜占庭故障

共识协议

共识协议是为网络中所有组件定义一组消息传递和处理规则的机制。
如果一个共识协议能容忍至少一个组件发生崩溃,那么称之为崩溃容错(Crash-Fault Tolerant CFT)
如果可以容忍至少一个组件发生拜占庭故障,那么称之为拜占庭容错(Byzantine-Fault Tolerant BFT)

猜你喜欢

转载自blog.csdn.net/qq_40941932/article/details/127695914