干货 | 免信任型计算的扩容模型,Part-1

Ajian   |     |   850 次阅读


校对按:译事不易。语言文化本有差异,于是差之毫厘便谬以千里。“Trustless”一词,译者本译为“去信任”,但我以为在语法上,该词无从表现“Trustless”是个形容词,于是改为常见翻译“无需信任的”,标题便成为“无需信任的计算的扩容模型”。译者见状,复穷追猛打,以为标题中出现两个“的”使中心词不够明确。推敲之下,译者提议将“的”改为“型”,表意强调两不误。后再推敲,以为 Trustless 表此义(在无法相互信任的通信环境中构筑出的、无需特定节点承担特定任务便可用的安全系统的属性)时,“免信任型”殊为不赖,于是再度改译。
本文于 2018 年 6 月 22 日、23 日两度改译,缘由即是如此。记此缘由,一为感谢译者的坚持不懈,二为敬候识者有以教正。


每个主流的智能合约平台都实现了一组特殊的权衡关系。这些权衡关系不只反映了某些具体特征的存在与否,更体现了关于“何为免信任型(Trustless)计算”的各种不同观点。

本文旨在提供一个条理清晰的框架,以便读者理解这些权衡关系以及它们如何影响了加密领域的一些主流说法,如数字黄金、可编程货币、抗审查性和无需许可性。下文给出了两条定义:

抗审查性——完全的言论自由。更专业一点的说法是,可向区块链提交任意记录。

无需许可性——无需第三方许可就能访问网络并验证区块链的完整性。

本文不会探讨第二层扩容方案,如闪电网络雷电网络Plasma

不过,首先需要解释一下何为“免信任的(Trustless)”。Nick Szabo 认为 “无需信任性”与技术效率呈反函数关系。从根本上来说,计算效率越低,被操控的难度就越大;被操控的难度越大,可信程度就越高,因此可以不必信任可能操控系统的人。

换言之,Szabo 的意思是区块链通过牺牲技术效率来增强社会可扩展性。

加密的最终表现形式不仅仅是一个免信任型数据库(或区块链),让所有人对当前状态达成共识,而是无需信任的通用计算,是数据库的超集。这句话理解起来有点难度。简单来说就是,区块链能让地球上的每个人对这个世界的状态达成共识。免信任型通用计算在此基础上更进了一步。它不仅能了解这个世界的状态,还能 证明 某个计算是 正确 运行的。

虽然比特币从技术上来说是可编程的——可以通过 Script 语言实现无需信任的通用计算——但它实际上只是一个无需信任的数据库。尽管一些项目试图提高比特币的表达能力(如 MASTtaprootscriptless scriptsRSK),却没有一个能投入生产。说白了,开发者已经离开比特币转向更好的平台了。

以太坊拥有首个开放式平台,可供开发者在不能相互信任的情况下运行 任意 运算。如今,以太坊汇聚了加密领域中的大多数开发者。

许多人将以太坊称为“世界电脑”。虽然这种说法从技术上来说是正确的,但是考虑到吞吐量和成本两大相关因素,依旧有待商榷。在以太坊上运行计算的成本是在亚马逊云服务(Amazon Web Services (AWS))上的 1 亿倍左右。

可扩展性的三难困境

免信任型计算的扩容会面临三难困境:区块链是由每个节点处理每个计算,并就这些计算的顺序达成共识。可扩展性的三难困境认为它只能具备三种特性中的两种:安全性、可扩展性和区块生产去中心化(DBP)。

  • DBP 可量化成区块生产者的数量。
  • 可扩展性可量化成每单位时间内系统可处理的交易数量。
  • 安全性可量化成发动一次影响活性或交易顺序的拜占庭攻击的成本。要注意的是,安全性指的不是加密签名的完整性,也不是第三方能否根据公钥推导出私钥。

是什么导致系统会实现某一组权衡关系,而非另一组?是共识机制和系统构架的结合。下文将探索这些概念,以及一些关于链下计算的有趣的工作。

为实现可扩容的免信任型计算,下文提出的每个系统都满足一组不同的权衡关系。在下文中,我将用下图标注的数字指代相应的三角边:

第四维度:最终确定时间(即延迟时间)

免信任型计算系统的扩容还可以从第四维度(即最终确定时间)来考虑,尽管它不属于可扩展性三难困境的显性部分。最终确定时间(TTF)会直接影响延迟时间。有些系统并不保证绝对的确定性(Finality),但是能够在一定概率上实现近似的确定性(如比特币)。其它系统在一段时间后才能确保实现确定性。确定性的重要之处不仅在于能够避免双花攻击,还在于能够实现跨链交流。最终确定时间越长,跨链通信的延迟性越高。

用二维三角形表现最终确定时间的视觉效果不是很好。因此,我会用暗色表示较短的 TTF ,用亮色表示较长的 TTF 。

边1:无需许可的工作量证明(比特币、以太坊 1.0 等)

在比特币出现之前,所有数字现金系统根本上都有相同的缺陷:用户必须信任第三方来管理该系统。第三方能够审查交易。而比特币的主要设计目标是设计一个能让所有人验证区块链的完整性并且没有第三方审查交易的系统。工作量证明(PoW)共识算法能够实现无需许可的抗审查账本。

对于强烈支持抗审查性的优化来说,缺点在于没有集中区块生产的情况下,现代 PoW 系统无法实现扩容。最终,这种权衡关系导致比特币硬分叉出了 Bitcoin Cash,让区块生产相对于比特币更加中心化(尽管此举存在争议)。

在本文提到的共识模型中,PoW 无需许可的程度是最高的。说白了,只要拥有一台联网计算机,人人都可以开始验证交易,成为矿工。从理论上来说,这能够从最大程度上实现 DBP。

实际上,所有 无需许可的 PoW 系统都会集中区块生产。这是经验之谈。由于挖矿运作产生的规模经济效益,所有基于 PoW 的主要区块链都会产生挖矿中心化。如今,比特币以太坊区块链上的大部分算力都由不超过 20 个组织/矿池控制。就区块链发展的有限历史来看,在基于 ASIC 和 GPU 的挖矿算法中,很大可能会出现这种区块生产中心化。

较长的 TTF 会影响 PoW 系统。从设计上来说,这类系统并不能保证确定性。随着新的区块添加到基于 PoW 的区块链上,之前打包上链的交易实现“确定性”的可能性会成倍增长。这就是为什么经 6 个以上区块确认过的比特币交易才被认为是 “确定的”。由于出块时间是 10 分钟, 1 个比特币交易要经过 1 小时以上才能确定下来。这个时候,鉴于交易已被确定,区块链重组的可能性近乎于 0 。

实际上,由于 PoW 挖矿的规模经济,基于 PoW 的区块链会侧重于三角形的右下角:

网状 PoW (Kadena)

Kadena 是我发现唯一在尝试采用 PoW 方案解决可扩展性三难困境的系统。Kadena 的解决方案是创建一种网状区块链,名为 Chainweb(链网)。在 Chainweb 上,每条链除了验证自己链上的交易以外,还必须验证预先规定的几条链的区块头,才能产生一个新的区块。

为了实现信息和价值的跨链转移,用户需要提交默克尔证明,在 Chainweb 中将一条链的状态传递给其它链。因为并非所有的链都是直接相连的,所以用户在进行跨链信息转移的时候可能得“hop(跳跃)”几次。

乍看之下,这跟以太坊提出的分片概念(详情见下文)很像。以太坊的分片是将区块链分成分片链和主链,好比辐条和中心,分别进行交易的 Collation(校验)和确认。然而,Kadena 没有将交易验证和共识分开。在 Chainweb 上,每条链都有自己的共识。Kadena 从本质上来说是一种独特的方法。

ChainWeb 的可视化效果图如下:

ChainWeb 的特性之一是系统扩容能够明确 提高 安全性。为什么?因为每条链都从其他链上引用区块,随着链条数的增加,发起 51% 攻击的难度也会增加。在这个模型中,要想撤销一条链上的交易,必须撤销这个系统中其他链上的交易。由于这些链是自然交织在一起的,随着链条数的增加,撤销交易的难度也会呈指数级增长。这与三角边 3 所示的权衡关系恰好相反,因为根据后者来看,系统的安全性总体上不会随着链条数的增长而大幅提高。

这种设计可从根本上解决可扩展性的三难困境。不过,这里存在的一组主要权衡关系是:TTF 和跨链延迟。

个体链之间可能要经历多次 hop(跳跃)。Kadena 旨在利用 PoW 方案将 TTF 控制在 1 分钟以内。在整个 Chainweb 中发送信息将经历几次 hop ,这需要花费几分钟的时间。

尽管存在这种限制,Kadena 仍针对可扩展性的三难困境提供了一种基于 PoW 共识模型的切实解决方案。虽然网状化为整个系统增添了一种新的动态,但其中每条链都建立在 PoW 模型上。PoW 相比权益证明(PoS)经历了更多检验。数年来,它已向现实世界展示了共识方案的安全性。因此,对 Kadena 来说,在 PoW 共识模型的基础上构建扩容系统既有切实意义,又属天赐良机。

在三难困境中,Kadena 的情况如下图所示:

权益证明(PoS)

讲完了 PoW 方案,让我们来看看 PoS 方案。

实际上,所有 PoS 系统 在设计上 相对于完全无需许可的 PoW 方案来说是集中区块生产的。这是因为区块生产者的人数和吞吐量之间的内在权衡关系。(详情见 Vitalik Buterin 的这篇文章。)

然而,这并不意味着所有 PoS 方案都会集中区块生产。下文会讲到使用 PoS 方案能实现的 DBP 可以有很大差异。

PoS 方案在现实世界中不像 PoW 方案那样久经沙场。例如,第一个使用 PoS 模型的加密货币点点币(Peercoin)就遭遇了”无利害关系“攻击。因此,PoS 方案从本质上来说风险性更高。


Part-2


原文链接: https://medium.com/multicoin-capital/models-for-scaling-trustless-computation-dfef4b54809f
作者: Kyle Samani
翻译&校对: 闵敏 & 阿剑

本文由作者授权 EthFans 翻译及再出版。


你可能还会喜欢:

干货 | 可扩展性问题的简单诠释
干货 | 如何扩展以太坊:分片原理解释
干货 | 区块链的确定性问题

 
0 人喜欢