Jonathan Ward
区块链的终结问题是由于技术限制,它已经成为区块链技术被广泛采用的障碍。用外行的话来说,终结时间可以看作是事务首次提交到网络并被确认为有效之间的等待时间。为了成功地革新我们的经济体系,区块链必须实现实时终结,提供与集中式支付系统类似的体验。

在Fetch.ai,我们一直在研究终结问题,并很高兴地宣布一个密码学突破,将使交易确认的速度得到巨大的改善,同时也提高了安全性。我们最近发表的论文解释了这是如何实现的。在这篇Medium文章中,我们概述了引导共识设计至最先进水平的历史,以及我们的密码学技术创新如何推动该领域向前发展。

任何持有过比特币的人都会熟悉,花一个小时等待他们的交易得到确认。与黄金相比,或作为稳定价值存储的实物资产,比特币交易速度相对较快,成本较低。但与此同时,没有人愿意等一个小时去买一杯咖啡。而未来的经济系统,如物联网设备网络,将需要比任何第一代区块链都更快、更经济几个数量级的微交易。

最近的区块链设计试图通过切换到权益证明(PoS)来克服比特币的工作证明(PoW)共识机制的费用和低效,其中节点通过质押代币而不是证明能源(或工作)已经被消耗。PoS的一个优点是它使块的生成速度比PoW更有规律,因此也更快。

快速地区块生产意味着可以更快速地将事务输入到块中,这是加速其确认的一种方法。权益证明加快事务终结的另一种方法是引入决定论,这样在向链中添加更少的块之后,一个块就完成了。比特币对终结的概率定义意味着一笔交易不可能像确认那样得到保证,但六个区块已经成为比特币大多数用户所接受的终结操作定义。

以小时记的等待比特币交易结束是由于需要六个区块确认,以及大约10分钟的区块时间。

结束时间=区块确认数×块时间

在大多数PoS系统中,块确认的数量最多为两个,而块生产时间可以减少到秒,从而导致终结时间也是几秒。这种速度下的性能将允许区块链与集中支付系统竞争。这些集中系统使用一个需要几天时间才能完成的结算过程,但通过在商家、支付提供商和银行之间使用可信的通信渠道,会给人一种速度快的错觉。需要注意的是,区块链设计的大多数方面都涉及不同的权衡。在概述了PoS的优点之后,我们现在继续讨论它的一些局限性,以及Fetch.ai的新密码学方案如何推进该技术的发展。

具有确定终结性的PoS方案的特点是有资格参与共识验证器的公开记录。因为验证器的身份是已知的,所以在将一个块添加到链之前,它们可以相互通信来确定它的有效性。这个想法是基于实用的拜占庭容错(pBFT)协议家族的基础,这些协议支持加密货币,如EOS、Neo和Tendermint。

这些PBFT衍生协议提供了即时的终结,但引入了两个额外的问题。首先,额外的通信开销限制了共识可以支持的验证器的数量。这取决于共识的细节,但上限从少数到最多可能是几百个验证器。第二个问题是,验证器提出块的顺序通常以常规模式发生,因此下一个块生产者的身份是预知的。这使得验证器容易受到分布式拒绝服务(DDoS)攻击,从而阻止它与网络的其他部分通信。这些DDoS攻击可以通过将共识节点隔离在一个负载均衡的岗哨节点墙后面来抵抗,从而使其能够在攻击期间继续运行。然而,这实际上增加了运行验证器节点的成本。

pBFT的另一个替代方法是允许验证器提出块,然后使用投票(或公证)以确认哪些区块有效。这种方法可以应用于Fetch.ai最小智能体共识中使用的区块链或瞬态有向无环图(DAG)。在这一系列协议中,区块产生的可预测模式被一个无偏置的、加密的安全分散随机信标(DRB)所取代,DRB隐藏下一个块产生者的身份,直到最后一刻。这复制了PoW挖矿固有的随机性,但没有巨大的财务和环境成本。这一特性,加上内置的冗余验证器(可通过该验证器授权来生成块),使这些协议对DDoS攻击的抵抗力大大增强,从而使其能够支持更多的验证器,并且与BFT协议相比,通常可提高块产生率。

DRB的核心是一个加密协议,它涉及将验证器群的消息聚合到单个伪随机值中。伪随机意味着该值是确定性的,但具有与真正随机过程相似的性质。DRB的另一个关键特性是,任何单独的验证程序都无法预先对其进行预测。这个过程似乎几乎“神奇”,但这些技术有一个非常健全的数学基础,我们将在后面的一篇文章中更详细地解释。

Fetch.ai DRB以两种方式超越了现有的最新BLS方案。首先是它使DRB的计算速度至少快了三倍,从而提高了创建块的最大速率。这样既提高了吞吐量,又提高了交易的确定性。第二个优点是,我们DRB的安全性已使用更严格的密码模型进行了验证,这限制了攻击者破坏系统的范围。我们目前正在准备一份描述加密方案的文件,供一次大型安全会议进行同行评审。我们预计,这项创新以及应用多智能体系统理论来优化成本,将使Fetch.ai区块链实现其未来数字经济的目标。

同时,我们非常相信不断上升的潮流可以提振所有人,提供区块链技术的好处远比任何单个项目的成功都重要。因此,我们已经在Github上为DRB提供了一个经过优化并充分记录的C ++实施档案,并在Apache 2.0许可证下发布。在接下来的几周中,我们还计划进行外部安全审核,并将提供与其他编程语言的绑定,以使该技术能够得到尽可能广泛的应用。最后,我们还将接触到其他我们钦佩的项目,分享这种令人兴奋的新技术的好处。

如果您有兴趣将我们的DRB集成到您的项目中,我很高兴在Telegram或Twitter上收到您的想法和评论。正如我之前提到的,我还将在接下来的几周内写另一篇Medium文章,描述DRB背后的更多理论,所以请继续关注后续的更新。