织梦CMS - 轻松建站从此开始!

区块链资讯 - 区块链之家

当前位置: 主页 > 区块链技术 >

区块链共识机制与分布式一致性算法

时间:2018-07-12 13:48来源:网络整理 作者:采集侠 点击:
咱们在之前的很多篇文章里简单地提起了“共识算法”以及“共识攻击”,大家应该对于我们之前提到的“共识攻击

咱们在之前的很多篇文章里简单地提起了“共识算法”以及“共识攻击”,大家应该对于我们之前提到的“共识攻击”印象还比较深刻吧,对的,就是我们所说的这和公司占有股份一个道理,当你占有整个公司“51%”的股份时,那就是控股了,岂不是可以为所欲为了呢?在区块链技术这也一样,咱们都知道区块链记账以后是不可以篡改的,就算是合理交易写错地址了也不行!but!当你能说服整个区块链上51%的结点同意你的请求时就能够修改记账信息,当这一方法用到不好的方面,那就是“共识攻击”了。而“共识攻击”就是的原理还是“共识算法”,那么这篇文章就带大家走进共识算法咯!

本文技术要点:

一、前言

1. 传统分布式一致性算法和区块链共识过程的异同点

相同点:

Append only

强调序列化

少数服从多数原则

分离覆盖的问题:即长链覆盖短链区块,多节点覆盖少数节点日志

不同点:

传统分布式一致性算法大多不考虑拜占庭容错(Byzanetine Paxos除外),即假设所有节点只发生宕机、网络故障等非人为问题,并不考虑恶意节点篡改数据的问题;

传统分布式一致性算法是面向日志(数据库)的,即更通用的情况,而区块链共识模型面向交易的,所以严格来说,传统分布式一致性算法应该处于区块链共识模型的下面一层。

2. 区块链共识模型与传统一致性算法的关系

考虑上面的不同点,结合私有链和行业链的性质,我们有:

私有链:封闭生态的存储网络,所有节点都是可信任的,如某大型集团内部多数公司。

行业链:半封闭生态的交易网络,存在对等的不信任节点,如房地产行业A、B、C、D公司。

公有链:开放生态的交易网络,这层主要是为行业链和私有链提供全球交易网络。

由于私有链是封闭生态的存储网络,也就是说使用传统分布式一致性模型应该是最优的;由于联盟行业链其半封闭半开放特性,使用Delegated Proof of XXX 是最优的,可以考虑以传统一致性算法作为基础加入拜占庭容错/安全防护机制进行改进。公有链PoW应该仍然是最优的选择。

如下图所示:

二、传统分布式一致性算法介绍

本文主要讨论主流的Paxos算法家族和Raft算法,这里抛砖引玉,网络上有关两者的资料非常丰富,大家可自行搜索查阅。

1. Paxos 算法家族

1998年Lamport提出Paxos算法,后续又增添多个改进版本的Paxos形成Paxos协议家族,且Paxos都有共同点是不容易工程实现。

Classic Paxos :LeaderLess,又名Basic Paxos,以下均为Paxos的变种,基于CAP定律,侧重了不同方向。

Cheap Paxos

Egalitarian Paxos : conflicts rare

Fast Paxos : Leader only when needed ,conflicts common

Multi-Paxos :Leader driven

Byzanetine Paxos

"Byzantine Paxos adds an extra message (Verify) which acts to distribute knowledge and verify the actions of the other processors".Lamport 在2011年的论文《Leaderless Byzanetine Paxos》中表示不清楚实践中是否有效,考虑Paxos本身实现的难度,此方案工程角度不是最优,但是系统角度应该是最好的。

本小节Ref:

Wikipedia_Paxos

Leaderless Byzanetine Paxos

2. Raft 算法

这是一个非常友好的算法,容易理解、实现,不过它是Strong Leadership的,也就是说,任意包含Leader的时刻,Leader拥有完全记账权,如果此Leader节点是恶意的,后果不堪设想。且leadership的一致性算法都有个通病,吞吐量受单个节点的限制,这点在Raft身上体现尤甚。

3. 其他

VRR(Viewstamped Replication Revisited)

这也是一个基于leadership的一致性算法,相比上述其他算法,它的优点是延迟最小。

三、常见区块链共识模型介绍

转载自这里:https://bitsharestalk.org/index.php?topic=4031.0

这是DPoS的白皮书,主要介绍了DPos,但也囊括了其他共识模型的介绍。

授权股权证明机制白皮书

(Delegated Proof-of-Stake ,DPOS)

摘要

本白皮书介绍一种股权证明机制的新实现方式,该方式可以对交易进行秒级验证,并且能够在更短的时间内提供比现有任何股权证明系统都更好的安全性。在比特币网络产生一个区块的时间过后,一个授权股权证明系统(DPOS)能使你的交易得到20%股东的核实,而在比特币网络声明交易已几乎不可逆(6个区块,约1小时)的时间过后,在DPOS机制下,通过其代表,你的交易已经得到100%股东的核实。

1.0 背景

分布式交易总账需要在尽可能短的时间内做到安全、明确及不可逆,便于提供一个最坚实且去中心化的系统。在实践中,该流程分为两个方面:选择一个独特的节点来产生一个区块,并使得交易总账不可逆。

1.1 工作量证明机制(Proof of Work, POW)

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容