Zillqa CTO谈Hashgraph

最近,在Zilliqa的社交频道上,很多人问我们有关Hashgraph的问题。本文是我们对Hashgraph的思考。

Hashgraph是一种最近引起很多关注的新的共识协议。根据Hashgraph的官网提供的信息,它具有以下特点:

快速:高并发,每秒可处理25万笔交易

公平:经数学证明的公平(通过共识时间戳)

安全:银行级别的安全(通过异步拜占庭容错)

粗略的了解以上的三个特性,可能会令人感觉Hashgraph会是行业的变革者(game changer) --- 每秒可处理25万笔交易,它能解决目前大多数区块链所面临的扩展性问题。

这篇文章里,我们从自己的角度审视Hashgraph,谈谈它的优点和缺点(pros and cons),并且解答以下这个问题:区块链是否已经过时了?

什么是Hashgraph

Hashgraph是区块链的一种共识替代(concensus alternative),使用Gossip协议通过以下方式运转:HashGraph里的每个节点能够在新建立的交易中传播签名信息(被称为事件),交易互相之间接受,至它们随机选择的邻居。这些邻居汇总接受的事件和其他节点接收到的信息,并进入至新事件,然后发送至其他随机选择的邻居。这个过程一直持续直到所有的节点意识到在最开始创造和接受的信息。由于Gossip协议迅速的收敛性(convergence propperty),每条新的信息能够以更快的方式到达每个节点。

Gossip协议的历史能够由有向图(directed graph)表示。每个节点维持一个图形,代表着每笔交易见证人的顺序.在理想的情况中,所有的节点有着对所有交易和它们的见证人相同的观点。更进一步,通过运行虚拟投票,基于网络中2/3的节点是否是见证人这一点,每个节点能决定一笔交易是否有效。而Hashgraph是在拜占庭的背景下运行的,这意味着少于1/3的节点可以是拜占庭(通过各种方式作恶的节点)。

Hashgraph优缺点

快速。Hashgraph是很快速的,因为它使用了Gpssip协议来传递信息至网络,并且最优化gossiped message来减少通信开支。然而,还有一个原因能解释为何Hashgraph是快速的:它目前只私有链中运行。

之前我们讨论过公有链和私有链。一个重要的区别就在于它对吞吐量的影响

在公有链中,比如比特币和以太坊,事先并不知道参加共识协议的节点,节点也不受信任,因为任何节点都允许加入或者离开网络。另外,对于这样建立起来的共识机制来说,必须考虑到恶意攻击,特别是女巫攻击:单个节点生成多个主体来影响共识的过程,比如双花攻击。在公有网络中解决这些问题,势必会影响总的吞吐量。

另一方面,在私有链中,节点的身份事先是知道的,网络不会对任何人开放。参与节点身份的公开自然防范了女巫攻击,从而变得更容易达成共识。这意味着防范女巫攻击的机制不需要设置,因此吞吐量会很大程度增加(相比较于公有区块链)。

目前Hashgraph是私有链,它的吞吐量应该和其他类似的私有链做比较。比如IBM的HyperLedger Fabric(每秒处理700笔交易),Red Belly(每秒处理40万笔交易)。它的吞吐量不应该和比特币以太坊这样的公有链(每秒10笔)做比较,这就像拿苹果和橘子做比较一样。目前,Hashgraph还没有公布布置公有链的具体技术细节。

公平。Hashgraph通过时间戳提供公平性。这意味着如果一笔交易在其他交易之前到达了整个网络的2/3,它就被认为是第一笔交易。这是相对公平的系统,因为网络的2/3是见证者,对于大多数人来说作出不公平的决定是很困难的。然而,Hashgraph基于Gossip协议,这意味着当一个节点随机的统一的选择继承节点时,有一定的概率所有选择的节点是拜占庭的或者是恶意的。这些恶意的继承节点能够终止交易传递至下一组节点,从而阻碍交易到达2/3的网络,导致一个不公平的结果。另外,尝试确保每个诚实的节点连接至一些诚实的节点,并且每条信息能够被传送至其他诚实的节点而不被中间的拜占庭节点阻碍,是一个公开的很大的问题。考虑到如今Hashgraph如今是私有链,还不会有这个问题。但一旦有了公有链,这个问题就必须克服。

安全。Hashgraph是异步拜占庭,但不是确定性的。研究表明在异步系统里,决定性的共识协议是不可能存在的,甚至在只有一个错误节点的简单情况中。在拜占庭系统中,共识协议要么是非决定性异步,要么是决定性的非完整异步。

Hsahgarph是通过增加随机性的非决定性的异步协议。妥协之处在于,共识协议最终会停止,但何时停止确实不确定的。在它现有的设计中,当共识协议没有进步时,Hsahgraph采取投硬币的方式让节点去做决定。因此,有非零的概率使得所有诚实的节点在多次抛硬币后有相同的价值。然而,如果所有拜占庭的节点试图通过操纵gossip协议来破坏协议,投硬币的有效性和效率便成了一个问题,因为它要经过多轮投掷来达成共识

Hashgraph会让区块链过时吗

Hashgraph是一个有趣的共识协议,在私有的静态环境中已经展示了高并发的特性。Hashgraph在目前的私有环境中是快速的,公平的,安全的。然而当Hashgraph公有化时,它会面临和区块链一样的问题,届时维持安全性和高性能便要打一个问号。

事实上,对于公有区块链来说,拓展性仍然是一个公开的问题。看见许多新的解决方案被社区提出是非常有趣的一件事。比如,Ethereum在Casper协议中使用了POS,NEO使用了dBFT,EOS使用了dPOS,Zilliqa使用了分片。所有的这些解决方案都有各自的优点和缺点,没有解决拓展性问题的银色子弹。

另外一个重要的问题是,一个可扩展的解决方案真正意味着什么?是不是意味着在用户的数量或交易的数量上是可扩展的?如果一个P2P网络能够处理上千笔交易,我们便能称它为可扩展吗?如果是的,当网络容量翻倍时会发生什么?拓展性是否仍然可以维持?事实上,一个在单一维度的扩展性解决方案可能对需要多维度扩展的应用案例并不适合。Hsahgraph目前只在交易数量上可扩展,但并没有在网络的节点数量上拓展。而Zilliqa却可以在网络的节点数量上拓展。

所以,让我们称赞Hashgraph的潜在技术,但同时不要盲目。我们也应该多关注其他拓展性的解决方案,它们同样从不同角度解决了拓展性问题:

以太,EOS,NEO,Zilliqa等等。

https://hackernoon.com/demystifying-hashgraph-benefits-and-challenges-d605e5c0cee5

作者: Yaoqi Jia

翻译&校对: Soros

热搜

专注于技术类文章翻译的币圈自媒体

加密资产基础类设施和公链项目分析

第三代分布式账本技术爱好与研究者

SorosCryptoMania

一个人的命运,除了个人的奋斗,还要看历史的进程

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180318G0T9P500?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券