共识算法 区块链中最重要的便是共识算法,比特币使用的是POS(Proof of Work,工作量证明),以太币使用的是POS(Proof of Stake,股权证明)使得算理便的不怎么重要了,而今POS的变体DPOS(Delegated Proof of Stake,股份授权证明)进一步削减算力的浪费,同时也加强了区块链的安全性. 不过,对于不需要货币体系的许可链或者私有链而言,绝对信任的节点,以及高效的需求上述共识算法并不能够提供,因此对于这样的区块链,传统的一致性算法成为首选,PBFT(拜占…
系列目录 分布式共识算法 (一) 背景 分布式共识算法 (二) Paxos算法 分布式共识算法 (三) Raft算法 分布式共识算法 (四) BTF算法 一.背景 1.1 命名 Paxos,最早是Leslie Lamport 用Paxos岛的故事模型进行描述,而得以命名.这位大神原来是学数学的,最终变成了计算机科学家,在2013年获得图灵奖...附上美照: 1.2 Paxos问题 Paxos问题是指分布式的系统中存在故障(crash fault),但不存在恶意(corrupt)节点的场景(即可能…
近几天对区块链中几种常见的共识机制(PBFT,Raft,PoW,PoS,DPoS,Ripple)进行了总结.尽量使用简单易懂语言,篇幅较大,想了解的可以只读每个算法介绍中前边的原理.本篇文章主要参考<区块链技术指南>,首先表示感谢! ---Begin--- 区块链架构是一种分布式的架构.其部署模式有公共链.联盟链.私有链三种,对应的是去中心化分布式系统.部分去中心化分布式系统和弱中心分布式系统. 在分布式系统中,多个主机通过异步通信方式组成网络集群.在这样的一个异步系统中,需要主机之间进行状态…
Hyperledger Fabric共识算法 区块链系统是一个分布式架构,交易账本信息由各个节点管理,组成一个庞大的分布式账本.在分布式系统中,各个节点收到的交易信息的顺序可能存在差异(例如,网络延迟.主机处理性能),这会导致账本信息的状态不一致,例如,小王账户只有10元,但是他同时转账给小李和小张各10元,并且将这两条交易信息分别发送到两个分布式节点上,如果不对这两条交易进行排序校验,那么,小王实际消费了20元(所谓的双花问题).所以,在区块链系统中,我们需要一套机制,来保证交易的先后顺序,这…
转自:https://www.cnblogs.com/davidwang456/articles/9001331.html 区块链技术中,共识算法是其中核心的一个组成部分.首先我们来思考一个问题:什么是共识?对于现实世界,共识就是一群人对一件或者多件事情达成一致的看法或者协议.那么在计算机世界当中,共识是什么呢? 我的理解包含两个层面,第一个层面是点的层面,即多个节点对某个数据达成一致共识.第二个层面是线的层面,即多个节点对多个数据的顺序达成一致共识.这里的节点可以是任意的计算机设备,比如pc电…
拜占庭将军问题 我们已知的共识算法,Paxos.Raft解决的都是非拜占庭问题,也就是可以容忍节点故障,消息丢失.延时.乱序等,但节点不能有恶意节点.但如何在有恶意节点存在的情况下达成共识呢?BFT共识算法就是解决这一问题的.即不但能容忍节点故障,还能容忍一定的恶意节点或者说拜占庭节点的存在.我们下面就学习一下BFT算法中的PBFT(Practical Byzantine Fault Tolerance).BFT算法有非常多的变种,这里只学习PBFT,其他的可以举一反三. PBFT PBFT核心…
注:这是本人读到的关于共识算法最全和最好的分享博文,系统的介绍了拜占庭容错技术以及共识算法的原理和常用共识算法,原文链接请见后. 目录 一.拜占庭容错技术(Byzantine Fault Tolerance,BFT) 二.PBFT:Practical Byzantine Fault Tolerance,实用拜占庭容错算法. 三.Raft协议. 1.Leader Election 2.Log Replication 四.POW:Proof of Work,工作证明. 五.POS:Proof of…
论文地址:https://pdos.csail.mit.edu/6.824/papers/raft-extended.pdf 看完raft共识算法,脑袋非常懵,所以写一篇学习笔记,记录一下. raft算法主要解决三个模块的问题:领导人选举.日志复制和安全性.当然除了这三个方面,论文对于raft的安全机制,集群成员变更和日志压缩都做了比较详细的描述. 一.复制状态机 复制状态机(Replicated state machine)的概念就是,相同的初始状态 + 相同的输入 = 相同的结束状态.也就意…
RChain的Casper共识算法是基于Vlad Zamfir的correct-by-construction共识协议和CTO Greg Meredith和其他RChain成员讨论而来的.他们还为Casper开发了一个模拟器:https://github.com/rchain/Casper-Proof-of-Stake/tree/simulation-dev. 1.通用预估安全协议 一个预估安全协议需要以下内容: 1)一个可能共识的值的集合C 2)一个逻辑Lc,用来判断集合C中的元素声明的命题是…
raft共识算法 分布式一致性问题 如果说,服务器只有一个节点,那么,要保证一致性,没有任何问题,因为所有读写都在一个节点上发生.那如果server端有2个.3个甚至更多节点,要怎么达成一致性呢?下面就来介绍其中一种分布式共识算法---raft算法 Raft是什么 1.历史背景 在讲Raft前,有必要提一下Paxos算法,Paxos算法是Leslie Lamport于1990年提出的基于消息传递的一致性算法.然而,由于算法难以理解,刚开始并没有得到很多人的重视.其后,作者在八年后,也就是1998…