区块链共识协议分析

上传人:汽*** 文档编号:471001492 上传时间:2023-11-24 格式:DOCX 页数:15 大小:25.77KB
返回 下载 相关 举报
区块链共识协议分析_第1页
第1页 / 共15页
区块链共识协议分析_第2页
第2页 / 共15页
区块链共识协议分析_第3页
第3页 / 共15页
区块链共识协议分析_第4页
第4页 / 共15页
区块链共识协议分析_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《区块链共识协议分析》由会员分享,可在线阅读,更多相关《区块链共识协议分析(15页珍藏版)》请在金锄头文库上搜索。

1、区块链共识协议分析共识机制是区块链的核心基石,是区块链系统安全性的重要保障。 区块链是一个去中心化的系统,共识机制通过数学的方式,让分散在 全球各地成千上万的节点就区块的创建达成一致的意见。共识机制中 还包含了促使区块链系统有效运转的激励机制,是区块链建立信任的 基础。区块链公链常用的共识机制有POW、POS、DPOS、BFT以及多 种机制混合而成的共识机制等。共识是指系统节点达成一致的过程, 而分布式系统的一致性体现在三个方面:最终性(Termination):所有进程最终会在有限步数中结束并选 取-个值,算法不会无尽执行下去。统一性(Agreement):所有进程必须同意同一个值。合法性(

2、Validity):输出内容是输入内容按照系统规则生成的,且 输出内容合法。最终性衡量了达成共识的效率,在一些对交易确认的实时性要求高 的场景显得非常重要,而统一性和合法性表征了共识的安全性。在区 块链系统中,去中心化程度表征了分布式系统的大规模协作程度。因 此,我们从效率、安全性和去中心化程度这三个维度去评价各种共识 机制,也就是长铁提出的著名的“不可能三角” 3理论。1. POW共识机制比特币采用的POW工作量证明共识机制,在生成区块时,系 统让所有节点公平地去计算一个随机数,最先寻找到随机数的节点即 是这个区块的生产者,并获得相应的区块奖励。由于哈希函数是散列 函数,求解随机数的唯一方法

3、在数学上只能是穷举,随机性非常好, 每个人都可以参与协议的执行。由于梅克尔树根的设置,哈希函数的 解的验证过程也能迅速实现。因此,比特币的POW共识机制门槛 很低,无需中心化权威的许可,人人都可以参与,并且每一个参与者 都无需身份认证。同时,中本聪通过工作量证明的机制破解了无门槛分布式系统的 “女巫攻击”问题。对系统发起攻击需要掌握超过50%的算力,系 统的安全保障较强。POW共识的优点可归纳为:算法简单,容易实现,节点可自由进入,去中心化程度高。破坏系统需要投入极大的成本,安全性极高。区块生产者的选择通过节点求解哈希函数实现,提案的产 生、验证到共识的最终达成过程是一个纯数学问题,节点间无需

4、交换 额外的信息即可达成共识,整个过程不需要人性的参与。比特币系统的设定在保证安全性的的前提下,牺牲了一部分最终 性。因此,POW共识算法也存在一些问题:为了保证去中心化程度,区块的确认时间难以缩短。没有最终性,需要检查点机制来弥补最终性,但随着确认次数的增加,达成共识的可能性也呈指数级地增长。由于这两个方面的问 题,一笔交易为了确保安全,要在6个新的区块产生后才能在全网得 到确认,也就是说一个交易的确认延迟时间大概为1小时,这无法 满足现实世界中对交易实时性要求很高的应用场景。另一方面,POW共识算法带来了硬件设备的大量浪费。随着比特 币价值的增长,比特币算力竞赛经历了从CPU到GPU,再到

5、 ASIC专用芯片的阶段。算力强大的ASIC芯片矿机将挖矿算法硬件 化,而ASIC芯片矿机在淘汰后,没有其他的用途,造成了大量的硬 件浪费。2. POS共识机制POS(Proof of Stake)共识机制,是一种由系统权益代替算力决定 区块记账权的共识机制,拥有的权益越大则成为下一个区块生产者的 概率也越大。POS的合理假设是权益的所有者更乐于维护系统的一致 性和安全性。如果说POW把系统的安全性交给了数学和算力,那 么POS共识机制把系统的安全性交给了人性。人性问题,可以用博 弈论来研究,POS共识机制的关键在于构建适当的博弈模型相应的 验证算法,以保证系统的一致性和公平性。POS共识机制

6、没有像POW那样耗费能源和硬件设备,缩短了区 块的产生 时间和确认时间,提高了系统效率。但存在的缺点也有很 多,包括:实现规则复杂,中间步骤多,参杂了很多人为因素,容易产生安全漏洞。与POW共识机制一样没有最终性,需要检查点机制来弥补最 终性。(1) POS共识机制的最早实践早期POS共识机制的实现一般是结合了 POW共识机制,如点 点币(Peer Coin)、黑币(Black Coin)等。其主要思想是区块记账权的 获得难度与节点持有权益的币龄成反比。相比于POW共识机制, 定程度减少了数学运算带来的资源消耗,达成共识的时间也相应地 缩短,出块效率提高。但这种POS共识机制的致命弱点在于币龄

7、依 赖问题,攻击者在积累长时间币龄后,挖矿的难度大大降低,容易对 系统发起双花攻击。(2) 纯POS共识机制纯POS共识机制由节点所持权益(持有数量乘以持有时间)决定区 块生产者,权益比例越高,被选为区块生产者的概率也越大,区块生 产者选举过程中没有挖矿。这种机制的践行者有未来币(NXT)和量子 链(QTUM)等。纯POS共识机制没有引入外部资源,仅仅依靠自身的权益来维护 网络安全,因此其不需要消耗能源来进行计算;而且由于其没有引入外 部的资源,因此不会担心外部攻击,例如外界的算力攻击。但是,这 种POS共识依然存在很多问题:无利害关系攻击(Nothi ng-at-Stake attack)基

8、于权益的挖矿不需要像POW共识一样投入物理算力和能源的 消耗,只需要持有权益。假设系统中出现了两个分支链,那么对于持 有币的“挖矿者”来讲,矿工的最佳的操作策略就是同时在两个分支 上进行“挖矿”,这样无论哪个分支胜出,对币种持有者来讲,都会 获得本属于他的利益,而不会有利益损失。这导致的问题是,只要系 统存在分叉,“矿工们”都会同时在这几个分支上挖矿;因此在某种情 况下,发起攻击的分叉链是极有可能成功的,因为所有人也都在这个 分叉链上达成了共识;而且甚至不用持有51%的权益,就可以成功发 起分叉攻击。马太效应POS共识机制下的权益累计由持币数量乘以持币时间得到,它势 必形成赢家通吃的局面。假设

9、电力成本均为3币,大户持有100 币天获得100利息币,小户持有1币天,获得1利息币。这样大 户会倾向于开机获得更多的币天,而小户倾向于关机,(97,0)是最 终博弈的选择。如此,大户获得的币越来越多,造成富者愈富,贫者 愈贫的局面。小户大户开机不开机开机97, -20, -2不开机97, 00, 0表:POS博弈收益矩阵4记账节点激励问题尽管POS中的“挖矿”不用消耗算力,运行成本很低,但是也存在如何激励POS矿工的问题。因为一般的POS系统是没有新币产 生的,矿工只能赚取交易费,而且在交易费不高的情况下,对矿工的 激励十分有限。改进的POS共识机制针对纯POS共识机制存在的问题,改进的PO

10、S共识机制通过设 立惩罚制度来保证系统安全,区块验证者以存入押金的形式参与,对 系统恶意攻击的惩罚力度要比奖励大成百上千倍。POS共识的这种改进方便区块链进行分叉选择和在链上设置检查 点,解决了纯POS共识机制的分叉问题,并使共识结果获得了最终 性。但是对于如何判定恶意攻击依然是个备受争议的问题。POS共 识的实行过程始终是一个复杂的人性博弈过程。以太坊的Casper FFG版POS机制将于以太坊第三阶段Metropolis中的第二部分 Con sta ntin ople(君士坦丁堡)中投入使用,这是一种融合了改进的 POS共识和POW共识的混合共识。以太坊Casper FFG版本的记 账人选

11、择和出块时间都由POW共识完成,POS共识在每100个 区块处设置检查点,为交易确认提供最终性,也是这种POW-POS 混合共识机制优于POW共识机制的地方。3. DPOS共识机制DPOS(Delegated Proof of Share),代理权益证明共识机制,是一 种基于投票选举的共识算法,类似代议制民主。在POS的基础上, DPOS将区块生产者的角色专业化,先通过权益来选出区块生产 者,然后区块生产者之间再轮流出块。DPOS共识由BitShares(比特股)社区首先提出,它与POS共识 的主要区别在于节点选举若干代理人,由代理人验证和记账。DPOS 相比POS能大幅度提升了选举效率,在牺

12、牲一部分去中心化特性的 情况下得到性能的提升。DPOS共识机制不需要挖矿,也不需要全节点验证,而是由有限数 量的见证节点进行验证,因此是简单、高效的。由于验证节点数量有 限,DPOS共识被普遍质疑过于中心化,代理记账节点的选举过程 中也存在巨大的人为操作空间。(1) EOSEOS系统中共有21个超级节点和100个备用节点,超级节点和 备用节点由EOS权益持有者选举产生。区块的生产按21个区块为 一轮。在每轮开始的时候会选出21个区块生产者。前20个区块 生产者由系统根据网络持币用户的投票数自动生成,最后一名区块生 产者根据其得票数按概率生成。所选择的生产者会根据从区块时间导 出的伪随机数轮流生

13、产区块。EOS结合了 DPOS和BFT(拜占庭容错算法)的特性,在区块生成 后即进入不可逆状态,因而具有良好的最终性。EOS采用的石墨烯 技术使其在理论上能够达到百万级别的TPS,目前上线的测试网络的 TPS达到数千量级。同时,由于EOS的记账节点有严格的筛选制 度,系统的安全性也很高。DPOS作为POS的变形,通过缩小选举节点的数量以减少网络压 力,是一种典型的分治策略:将所有节点分为领导者与跟随者,只有领 导者之间达成共识后才会通知跟随者。该机制能够在不增加计算资源 的前提下有效减少网络压力,在商业环境的实现中将会具有较强的应 用价值。DPOS为了实现更高的效率而设置的代理人制度,背离了区

14、块链世 界里人人可参与的基本精神,也是EOS 一直被质疑的地方。(2) Carda noCardano实行的共识机制Ouroboros可认为是DPOS共识的 个变种,而Cardano团队更愿意将其表述为Dynamic POS。与 DPOS共识的相同之处是,只有Cardano的代币ADA持有量超 过一定数量的地址(官方数据ADA前2%的地址)才有资格参与区块 生产者的选举,持有ADA越多的用户,被选为区块生产者的概率越 大。Ouroboros协议将物理时间分为纪元(epoch),然后再将纪元划分 为区块(slot),每个纪元持续5天,每个区块持续约20s。每个纪元 的区块生产者在上一个纪元就已经

15、选定,并在下一个纪元中随机选定 某个候选人充当各个区块的生产者,一个候选生产者可能在一个纪元 中对生产多个区块。Cardano团队认为Ouroboros不同于DPOS之处在于,Cardano记账 人的选举过程是完全随机的,而不是利益相关方选举 而来。Ouroboros共识算法中引入了一种抛硬币协议(coin tossing protocol),可以保证选举过程的完全随机性。据Cardano团队称,Ouroboros是目前为止唯一在数学上证明能够达成近似纳什均衡的 POS共识机制,但其有效性仍需实际运行效果来检验。4. BFT共识机制PBFT最常用的BFT共识机制是实用拜占庭容错算法PBFT(P

16、ractical Byzantine Fault Toleranee)。该算法是 Miguel Castro 和 Barbara Liskov在1999年提出来的,解决了原始拜占庭容错算法效率不高的 问题,将算法复杂度由节点数的指数级降低到节点数的平方级,使得 拜占庭容错算法在实际系统应用中变得可行。PBFT是针对状态机副本复制为主的分布式系统执行环境开发的算 法,旨在让系统中大部分的诚实节点来覆盖恶意节点或无效节点的行 为。PBFT算法的节点数量是固定的,节点身份提前确定,无法动态 添加或删除,只能适用于节点数目固定的联盟链或私有链场景中。PBFT算法存在的问题:计算效率依赖于参与协议的节点数量,不适用于节点数量过大 的区块链1. 系统,扩展性差。2. 系统节

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号