共识算法学习资料

共识算法  
      区块链架构是一种分布 式的架构。其部署模式有公共链、联盟链、私有链三 种,对应的是去中心化分布式系统、部分去中心化分 布式系统和弱中心分布式系统。 分布式系统中,多个主机通过异步通信方式组成 网络集群。在这样的一个异步系统中,需要主机之间 进行状态复制,以保证每个主机达成一致的状态共 识。然而,异步系统中,可能出现无法通信的故障主 机,而主机的性能可能下降,网络可能拥塞,这些可 能导致错误信息在系统内传播。因此需要在默认不可 靠的异步网络中定义容错协议,以确保各主机达成安 全可靠的状态共识。 利用区块链构造基于互联网的去中心化账本,需 要解决的首要问题是如何实现不同账本节点上的账本 数据的一致性和正确性。这就需要借鉴已有的在分布 式系统中实现状态共识的算法,确定网络中选择记账 节点的机制,以及如何保障账本数据在全网中形成正 确、一致的共识。 在20世纪80年代出现的分布式系统共识算法,是 区块链共识算法的基础。我们下面从基本的拜占庭容 错技术入手,逐步介绍适合于私有链/联盟链和公共 链的共识算法。
学习资料

3分钟通过一个App的演示深入理解区块链运行原理

用Python从零开始创建区块链

Code your own blockchain in less than 200 lines of Go!

PoW

用go语言实现区块链的PoW

PoS

Code your own Proof of Stake blockchain in Go!

DPos

《Nodejs开发加密货币》之二十四:DPOS机制(分布式共识算法)

用伪代码理解DPoS

dpos 例子

https://www.jianshu.com/p/f99e8fe57c9a

https://steemit.com/dpos/@dantheman/dpos-consensus-algorithm-this-missing-white-paper

https://www.jianshu.com/p/3d9c751b2ac8

PBFT

bft-demo

dpos-pbft

Paxos 算法

老司机带你用 Go 语言实现 Paxos 算法

Raft

老司机带你用 Go 语言实现 Raft 分布式一致性协议

动画演示 Raft

说一说那些我也不太懂的 Raft 协议

raft原理(一):选主与日志复制

分布式系统 Spring 2015

分布式

https://juejin.im/post/5ac1e9adf265da23906c2dc8

https://github.com/linkwk7

使用raft算法快速构建一个分布式kv系统

Raft 寻找一种易于理解的一致性算法



猜你喜欢

转载自blog.csdn.net/tian_qing_lei/article/details/80481827