共识机制对比
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之后,整个系统可以恢复到同步状态。部分同步模型的时序假设比较贴合现实世界中对共识算法的需求,即共识总是可以在同步状态下完成,然而一旦网络出现问题,共识可能会进入一段时间的阻塞,直至网络恢复正常。
Layers of the Blockchain Paradigm
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