共识机制学习记录

共识机制对比

image-20230502102811442

https://yuanmomo.net/2020/06/06/bc-consensus/

RAFT

动画演示 http://thesecretlivesofdata.com/raft/

博客 https://blog.csdn.net/yangmengjiao_/article/details/120191314

通信模型

(1) 同步模型(Synchronous model)

在同步模型中,所有节点之间的消息通信都存在一个已知的延迟上界,并且不同节点处理事务的相对速度差值有一个已知上界。同步模型是一个非常理想的通信模型,在现实生活中几乎不可见,但是在分布式系统的理论研究中却发挥着及其重要的作用,许多早期的分布式一致性算法都是在同步网络假设下设计的。

(2) 异步模型(Asynchronous model)

在异步模型中,上述的假设上界都不存在,因此异步模型比较符合现实的互联网环境。异步与同步相比,是一种更通用的情况。一个适用于异步系统的算法,也能被用于同步系统,但是反过来并不成立。在异步模型中设计一个正确的共识算法已经被证明是不可能的。

(3) 部分同步模型(Partial Synchronous model)

部分同步模型是界于同步模型与异步模型之间的一种通信模型,于1988年由Dwork, Lynch等人在论文[1]中提出。该模型中假设存在一个全局稳定时钟GST(Global Stabilization Time),在GST之前整个系统可能处于异步状态,但是在GST之后,整个系统可以恢复到同步状态。部分同步模型的时序假设比较贴合现实世界中对共识算法的需求,即共识总是可以在同步状态下完成,然而一旦网络出现问题,共识可能会进入一段时间的阻塞,直至网络恢复正常。

image-20230510142342769

Layers of the Blockchain Paradigm

image-20230510145555324

Hardware / Hosting: Layer of hardware used for mining / validating. This refers to the devices where the all data in the blockchain is stored

Network: Layer of message passing between the different nodes that make up the network

Consensus Protocol: Layer of finalization

Sybil Control Mechanism: Layer to prevent generation of multiple fake identities

Application Layer: Layer of applications built on top of blockchain platforms