【专栏】​区块链共识算法概述、评估及其未来发展展望

张宇东 · 零壹财经 2017-01-11 阅读:936


1.概述

比特币在2017年1月初又再次突破$1100美元每枚, 虽然由于中国央行紧急干预有所回落,但它的跨国换汇需求巨大,价格会将会是稳健的。而基于Bitcoin上的区块链技术再次引起各方面的注意。 共识算法是区块链技术的核心,本文主要想探讨一下主流的区块链共识算法:工作证明(Proof of Work) 和权益证明(Proof of Stake)等等,展望一下共识算法的未来发展和创新,自然也会引入一些评判标准。故本文注重原创性的研讨。

2. 对比评价
 

I.工作证明

1997年 Adam Back 设计出Hashcash,最初是为了预防垃圾邮件的。在2009年Satoshi Nakamoto在比特币上线时使用了P of W, 严格意义上讲是可重复使用的Hashcash工作证明 (Reusable Hashcash Proof of Work), 生成工作证明可以是一个概率意义上的随机过程。在块生成时,为了让网络参与者接受这个区块,矿工必须完成区块中所有数据的工作证明。同时调整这项工作的难度,以便限制网络可以平均10分钟产生一个新区块的速度。它的优点就是去中心化和分布式账簿。 缺点就是消耗资源,同时在安全上 ,为了攻击比特币,系统的证明要求黑客拥有网络的哈希值或计算能力的至少51%。由于比特币网络太庞大,这是目前难以做到的。 但基于工作证明的小型网络,却容易遭受攻击,理由是黑客可以以低得多的成本获取51%的运算力,比如Ethereum network,在2016年就遭受攻击威胁。

II.权益证明

这是在2011年7月由“QuantumMechanic” 在bitcoin 社区首次提出概念,出发点是辅助弥补工作证明解决一些问题,并不是独立的共识算法。但Sunny King独立在Peercoin 首次开创性的实现了真正的权益证明,也不需要消耗能源。这也是虚拟货币历史上的一次创新壮举。权益证明克服了一定程度上的51%攻击,比如要攻击peercoin, 需要从市场中购买51%的所有peercoin,这种操作性不强。当然,权益证明的优点是不需要消耗资源,产生块的时间被限定在一定的时间范围内,交易费透明经济。当然它的最大优势就是在权益证明网路中,主要的权益拥有者有能力进行任何改变而不需要整个社区的认可, 但是也是最大的问题:他们的垄断控制。这会在一定程度上破坏分布式账簿的加密货币的初衷,因为存在一定程度上的权威。但是这种危险可以通过真正意义的去中心化网络来实现。

III.委托授权的权益证明

这种机制算法以Bitshares为代表, 只不过是权益证明算法一种方向的演化,是Dan Larimer 在2014年4月对 Proof Of Stake 进行一定程度的创新。 它通过使用声誉系统(reputation)和无耗损的实时投票来创建,这些参与方有权创建块并且添加到区块链,并禁止不信任参与者参与,重要的是也不需要太多的信任。它的一个优势就是快速获取共识。

IV.Ripple 共识证明 (RPCA)

这里主要以Ripple为例讲它的Proof of Consensus。Bitcoin 杂志是2013年2月由Vitalik  Buterin 详细的介绍它的全貌,但其真正用于实际部署共识证明算法则是2014年。它是

一种高效的能每隔几秒应用到所有节点以便维护整个网络的有效性和一致性。 一旦达成共识,当前账簿 “关闭”并成为最后关闭的账簿。当然这个关闭的账簿在网络中的所有节点维护将是相同的。在Ripple 共识证明算法中,节点可以 人工干预投票和 维持trust not list ,易于遭受攻击。 比如伪造node, 扩散大量候潜伏,等待时机攻破所有网格。当然其优势就是产生区块。Ripple 也不需要大量计算的。它的维护成本高,可以人工维护节点, 也有改动节点的风险。自然它可以采用手工干预,剔除网络中不安全节点。这样网络就分成两部分。牺牲了自动化的优势,保证可信的节点不被攻击。

V.实用拜占庭容错算法 ((Practical Byzantine Fault Tolerance)

这个算法最初出现在MIT的Miguel 和 Barbara Liskov 的学术论文中,初衷是为一个低延迟存储系统设计的系统 ,降低算法的复杂度, 这可以应用于不需要大的吞吐量但需要许多事件处理的数字资产平台, 它允许每个节点发布公钥。 任何通过节点的消息都由节点签名,以验证其格式。 一旦达到相同的足够的响应,则可以同意这是个有效的交易。使用PBFT,区块链网络(N)节点的可以承受(f)个拜占庭节点,其中f =(N-1)/ 3。 换句话说,PBFT确保至少2 * f + 1个节点在将信息添加到分布式共享账簿之前达到 共识。目前HyperLedger联盟和中国ChinaLedger 联盟在研究和验证这个算法的实际部署和应用。但这个算法在信息保密方面有欠缺,比如失效的副本有可能让黑客截取而导致信息外泄。



3.区块链共识算法评判标准

我们认为针对区块链的共识算法,可以采用以下5个要点作为评判标准:

去中心化

这是区块链的最具特色的优势。一般讲,区块链共识算法必须包含去中心化,有时也有程度的不同。

网络成本

共识算法在考虑网络成本时,不仅仅要考虑交易成本和维护成本,也要考虑挖矿成本。昂贵费时的算法只能优化再优化,简化再简化, 以满足平台和应用需求。

扩展性

Sunny King 非常看重这一点,认为这一点将是评估共识算法处理能力的主要指标。从当前现实部署看,单一的区块链负载严重,每秒钟处理能力有限,比如Bitcoin上的区块链现在出力能力是平均每秒4笔交易左右,而Ethereum也是15笔每秒,这与实际应用场景需求差距颇大。所以在扩展性指标方面,我们需要考量这种共识算法是否在技术上能够运行数千区块链的可行性。 而且在运行数量庞大的区块链后,消耗的网络成本也是可控的。

Speed confirmation交易确认的速度

在过去一年中,基于比特币的区块链在交易确认方面平均在25分钟有时也有好几天的等候。Ethereum平均在15分钟左右, Peercoin 交易确认速度平均为10分钟左右。 而在金融领域,交易确认速度要体现快而又精准,“平均”的交易确认速度依旧会延长全天的清算完成。而在在线购物中,客户能否容忍10到数百分钟的等待确认成交?因此在区块链共识算法的设计架构中,需要一个精准范围内的交易确认速度。

强大的安全机制和容错能力

安全机制首要防止可能的攻击,而攻击主要是考虑5点:攻击的类型(DoS攻击,盗取和Double -Spending)、攻击使用的成本多大、攻击的范围和目标的损害程度、攻击的持续性和网络修复反应的速度,最后一点就是算法机制的总体攻击的可能性。

其次就要考虑算法的容错能力,一般来讲,如果采用分布模块化分层应用设计方式,容错的能力就能极大提升,这样也在抗攻击方面处于有利地位。

4.区块链共识算法的发展和未来创新

基于前面一节所讲的区块链共识算法评估标准,目前现行的共识算法都需要革新和改进。比如Primecoin 也是首次采用非Hashcash 工作证明算法,是一种素数工作证明方式。考虑到庞大的工作量,本文不对提到的共识算法进行详尽的5大要点评估。 基于工作证明的共识算法会逐步缓慢退出市场,而那些不消耗能源的共识算法会繁荣, 这是一种长期的发展趋势。(但Bitcoin由于其的原创性和历史性会继续存在和发展的。)

未来创新在于降级共识算法的复杂度, 同时在于进一步完善和使其透明简单化。2017年也会有大量的初创公司诞生,基于社会工业需求的渴望,也会加速设计新的区块链共识算法,从概念理论提出,到实际部署验证和运作,速度可能超过预期,我们对此非常乐观。
 

0

相关文章

我来评论

评论“​区块链共识算法概述、评估及其未来发展展望”

取消 提交 请输入内容!

评论

  • 解码金融科技上市潮

    解码金融科技上市潮

  • 消费金融:鏖战、竞合与出路

    消费金融:鏖战、竞合与出路

  • 中国贷后风险管理及资产处置峰会

    中国贷后风险管理及资产处置峰会

耗时 2654ms