本文经过介绍传统分布式一致性算法和区块链一致模型,以及提出了一些有关两者联系的观念,让大家有个比较体系的了解。

一、前言
本文计划先提出观念。欢迎大家参与评论。
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身上体现尤甚。
Raft算法简介:https://raft.github.io/
Raft算法动态演示:http://thesecretlivesofdata.com/raft/
3. 其他
VRR(Viewstamped Replication Revisited)
这也是一个依据leadership的一致性算法,比较上述其他算法,它的长处是推迟最小。
三、常见区块链一致模型介绍
转载自这儿:https://bitsharestalk.org/index.php?topic=4031.0
这是DPoS的白皮书,首要介绍了DPos,但也包括了其他一致模型的介绍。
授权股权证明机制白皮书
(Delegated Proof-of-Stake ,DPOS)
作者: Daniel Larimer
April 3, 2014
翻译:yidaidaxia_郝晓曦
比特坊数字财物研讨沙龙 翻译作品(www.bitfarm.io)
摘要
本白皮书介绍一种股权证明机制的新完成办法,该办法能够对买卖进行秒级验证,而且能够在更短的时刻内供给比现有任何股权证明体系都更好的安全性。在比特币网络发生一个区块的时刻往后,一个授权股权证明体系(DPOS)能使你的买卖得到20%股东的核实,而在比特币网络声明买卖已几乎不可逆(6个区块,约1小时)的时刻往后,在DPOS机制下,经过其代表,你的买卖已经得到100%股东的核实。
1.0 背景
分布式买卖总账需求在尽或许短的时刻内做到安全、明晰及不可逆,便于供给一个最坚实且去中心化的体系。在实践中,该流程分为两个方面:挑选一个共同的节点来发生一个区块,并使得买卖总账不可逆。
1.1 作业量证明机制(Proof of Work, POW)
第一个成功处理该问题的测验是比特币体系(Bitcoin),比特币体系运用作业量证明机制使更长总账的发生具有核算性难度。作业量证明机制就好比是乐透,均匀每10分钟有一个节点找到一个区块。假如两个节点在同一个时刻找到区块,那么网络将依据后续节点的决议来承认以哪个区块构建总账。从统计学角度讲,一笔买卖在6个区块(约1个小时)后被以为是明晰承认且不可逆的。然而,核心开发者以为,需求120个区块(约一天),才能充沛保护网络不受来自潜在更长的已将新发生的币花掉的进犯区块链的要挟。
虽然出现更长的区块链会变得不太或许,但任何具有巨大经济资源的人都仍有或许制作一个更长的区块链或许具有满足的哈希算力来冻结用户的账户。
1.2 股权证明机制(Proof of Stake, POS)
股权证明机制已有许多不同变种,但基本概念是发生区块的难度应该与你在网络里所占的股权(一切权占比)成份额。到目前为止,已有两个体系开端运转:点点币(Peercoin)和未来币(NXT)。点点币运用一种混合办法,用你的股权调整你的挖矿难度。未来币运用一个承认性算法以随机挑选一个股东来发生下一个区块。未来币算法依据你的账户余额来调整你被选中的或许性。
未来币和点点币都分别处理了谁来出产下一个区块的问题,但他们没有找到在适当的时刻内使区块链具有不可逆的安全性的办法。依据咱们能找到的信息,做到这点,点点币需求至少6个区块(约一小时),未来币需求10个区块。咱们找不到在10个区块后未来币能供给什么级别安全性的依据。
咱们之前发布了依据买卖的股权证明机制(Transactions as Proof of Stake, TaPOS)的白皮书,在该机制中,每笔买卖都包括区块链中前一个区块的哈希值。经过该体系,对任何人而言,网络变得越来越安全而不可逆,因为最终每个区块都经过了股东投票。TaPOS面对的应战是它没有界说谁来发生下一个区块。
1.3 瑞波一致机制(Ripple Consensus)
瑞波一致算法,使一组节点能够依据特别节点列表到达一致。初始特别节点列表就像一个沙龙,要接收一个新成员,有必要由51%的该沙龙会员投票经过。一致遵从这核心成员的51%权利,外部人员则没有影响力。因为该沙龙由“中心化”开端,它将一直是“中心化的”,而假如它开端堕落,股东们什么也做不了。与比特币及点点币相同,瑞波体系将股东们与其投票权离隔,并因而比其他体系更中心化。
2.0 授权股权证明机制(DPOS)
当运用去中心化自治公司(Decentralized Autonomous Company, DAC)这一说法时,去中心化表明每个股东按其持股份额具有影响力,51%股东投票的结果将是不可逆且有约束力的。其应战是经过及时而高效的办法到达51%批准。
为到达这个方针,每个股东能够将其投票权颁发一名代表。获票数最多的前100位代表按既定时刻表轮番发生区块。每名代表分配到一个时刻段来出产区块。一切的代表将收到等同于一个均匀水平的区块所含买卖费的10%作为酬劳。假如一个均匀水平的区块含有100股作为买卖费,一名代表将取得1股作为酬劳。
网络推迟有或许使某些代表没能及时播送他们的区块,而这将导致区块链分叉。然而,这不太或许发生,因为制作区块的代表能够与制作前后区块的代表树立直接衔接。树立这种与你之后的代表(或许也包括这以后的那名代表)的直接衔接是为了确保你能得到酬劳。
该办法能够每30秒发生一个新区块,而且在正常的网络条件下区块链分叉的或许性极其小,即便发生也能够在几分钟内得到处理。
2.1 成为一名代表
成为一名代表,你有必要在网络上注册你的公钥,然后分配到一个32位的特有标识符。然后该标识符会被每笔买卖数据的“头部”引证。
2.2 授权你的选票
每个钱包有一个参数设置窗口,在该窗口里用户能够挑选一个或更多的代表,并将其分级。一经设定,用户所做的每笔买卖将把选票从“输入代表”转移至“输出代表”。一般情况下,用户不会创建特别以投票为意图的买卖,因为那将消耗他们一笔买卖费。但在紧急情况下,某些用户或许觉得经过付出费用这一更活跃的办法来改变他们的投票是值得的。
2.3 坚持代表诚实
每个钱包将显现一个状态指示器,让用户知道他们的代表体现怎么。假如他们错失了太多的区块,那么体系将会引荐用户去换一个新的代表。假如任何代表被发现签发了一个无效的区块,那么一切规范钱包将在每个钱包进行更多买卖前要求选出一个新代表。
2.4 处理区块链分叉
和作业量证明体系及其他股权证明体系相同,最佳区块链是最长的有用区块链。任何时候,一名代表错失签发一个区块的时机,该区块链将比潜在竞赛对手短。只需在你的买卖被写入区块后的100个区块中的51%被出产出来了,那么你就能够安全地以为你在主区块链上。
或许,在避免区块链分叉所导致的丢失方面,最重要的事是在事发后第一时刻得知音讯。因为代表们经过出产区块得到很好的酬劳,他们将坚持接近100%的在线时刻来避免因被投票罢免而丢失收入。你能够安全地以为假如在过去的10个区块中,有一两个区块错失出产,则互联网的某些部分或许正发生衔接问题,那么用户应该对此特别警惕并要求额定的承认数。假如10区块中有超越5个错失出产,那么这意味着你很或许在一条支链上,因而应该中止一切买卖,直到分叉得到处理。
以一种及时的办法(少于5分钟)简略地发现并警示用户网络分叉,是能够最小化潜在丢失的非常重要的才能。而知道你是否正处在一条支链上则更为重要。
2.5 100名代表是去中心化的吗?
因为去中心化已经成为一个盛行术语,所以其界说很难彻底固定。咱们将自由市场看作去中心化的基本办法,并将对进入自由市场设置障碍看作是一切中心化的根底。像任何事物相同,中心化有程度之分,所以咱们把授权股权证明机制与其它计划的中心化程度进行对比。
2.5.1 比特币
比特币体系目前正以授权作业量证明(Delegated Proof of Work, DPOW)为根底而运转,因而有大约10名代表操控了绝大大都的哈希算力。在那些为其竞赛而能运用规模经济进行无收益挖矿的人手中,哈希算力本身就是中心化的。最后,作业量证明机制为进入市场设置障碍,使得“在职”的区块制作者无法轻易被取代。与比特币体系比较,DPOS在区块出产方面至少去中西化了10倍,而且或许在市场竞赛方面去中心化了无数倍。
虽然在哈希算力方面有一定量的去中心化,当想到掌控比特币体系的股东(比特币持有者)所持股份的占比,咱们以为比特币体系是最中心化的。假如你考虑运用比特币体系的用户总数,其间参与挖矿的人很或许少于百分之一。
2.5.2 点点币
点点币是一个混合体系,所以它因为作业量证明机制而是部分中心化的。和比特币体系相同,它也有矿池。与比特币比较,点点币无疑是更去中心化的,然而,因为股权证明机制矿池需求用户坚持他们的电脑在线且钱包解锁,只有一小部分的股东参与了任何办法的挖矿。
2.5.3 未来币
未来币运用通明锻造,以承认的选出下一个制作节点。能够将其类比为,运用授权股权证明机制但你只能将你的投票权颁发你自己,而你取得锻造区块时机的频率直接取决于你的账户余额。在这个意义上来说,未来币比点点币和比特币更为去中心化。但因为对安全危险的顾忌以及事实上大大都惯例用户不会整天开启他们的电脑来籍此取得锻造时机方面的优势,它依然遭受着少的可怜的挖矿参与度。
从这个角度来讲,咱们能够判定未来币网络是由一小部分股东来保障网络安全的。事实上,假如你不上线投票,那么你将失掉你的选票。为了处理这个问题,一些未来币用户用他们的股权树立股权池,并信任第三方来为他们挖矿。这是以一种办法的授权股权证明来进步股东参与度,但这也使他们的账户余额在他们参与这些矿池时承受危险。
3.0 进犯
一般来说,网络有必要抵御两种类型的进犯:拒绝服务进犯和两层付出进犯。一个进犯者经过不把一些或悉数的买卖参加总账来进行拒绝服务进犯。这种进犯能够由任何具有51%网络(无论比特币、未来币或其它)的人进行。而使用在网络正试图到达一致时的短期优势,能够进行两层付出进犯。
为抵御这些进犯,网络有必要使51%的股东尽快到达协议。
3.1 避免排除买卖
具有悉数经股东投票选出的100名代表,而且按要求轮番出产区块,意味着任何一笔由至少1%的股东批准的买卖能够在30分钟内参加总账。这意味着没有代表能够经过将投票支持其他代表的买卖排除在外来获取利益。
3.2 将一些代表的权利中心化
与其所被授权的投票权无关,这前100人所取得的权利权重是相同的,每名代表都有一份相等的投票权。因而,无法经过取得超越1%的选票而将权利集中到一个单一代表手上。
个人或许安排操控区块链的多名代表是有或许的。可是这个进程将需求诈骗很大份额的股东数去支持“傀儡”。
即便能够树立这51%傀儡,他们扰乱网络的才能仍将是有限的、能够被快速识别快速纠正的。没有作业量证明机制设置的进入障碍,占有大都的诚实用户会把进犯鉴别出来,然后将代码分叉并无视进犯者出产的区块。这种进犯能够扰乱网络,但不会是致命的。
3.3 针对代表的分布式拒绝服务进犯(DDOS)
因为只有100名代表, 能够幻想一个进犯者对每名轮到出产区块的代表依次进行拒绝服务进犯。走运的是,因为事实上每名代表的标识是其公钥而非IP地址,这种特定进犯的要挟很简略被减轻。这将使承认DDOS进犯方针更为困难。而代表之间的潜在直接衔接,将使妨碍他们出产区块变得更为困难。
4.0 依据买卖的股权证明机制(TaPOS)
代表制是一个短时刻内到达坚固一致的高效办法,而TaPOS为股东们供给了一个长效机制来直接批准他们的代表的行为。均匀而言,51%的股东在6个月内会直接承认每个区块。而取决于活跃流转的股份所占的份额,差不多10%的股东能够在几天内承认区块链。这种直接承认保障了网络的长时间安全,并使一切的进犯测验变得极度明晰易见。
5.0 高质量的服务
假定一个DPOS体系具有100亿美元的市场总量,均匀每年的买卖费为0.25%,代表们算计取得一切买卖费的10%,那么每名代表每年能取得25,000美元以使其节点坚持在线。
这是一个利润可观的人物,许多人将为获取它继续竞赛。这意味着每个想要取得这份作业的人都会想方设法从具有这份作业的人那里把它“偷走”。为做到这点,他们将对代表行为进行统计学分析,以找到关于规范算法的任何违背行为。一旦找到这种违背,他们就能有期望赢得一些选票。
那些具有这份作业的人,或许会竭尽全力地证明他们正在按规范软件运转。他们越有用地证明其对区块出产的正直性,越有或许保住他们的作业。你能够幻想开发者会很快制作出体系,代表们能够经过这些体系快速证明哪些买卖得到了广泛的散播。
事实上,市场竞赛将发生用以证明代表们的正直性与可靠性的最具创造性的处理计划。让网络变得更安全的作业能够取得许多收益,而测验绕轮网络则得不到什么优点。
6.0 定论
DPOS流程与TaPOS结合所发生的网络,其网络一致的可证明性将至少3倍于比特币、点点币及未来币网络。DPOS能够更快地到达一致,一起消除随机小股东带来小规模搅扰的或许性。经济激励确保了代表们致力于证明他们有良好行为,并或许选用类似于瑞波体系的一致算法(来完成这种证明)。DPOS,事实上,是一种经过无网络分叉之虞的去中心化办法来发生瑞波特别节点列表的办法。
来自:blockchaindev

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注