免信任型计算的扩容模型

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

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

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

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

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

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

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

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

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

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

许多人将以太坊称为“世界电脑”。虽然这种说法从技术上来说是正确的,但是考虑到吞吐量和成本两大相关因素,依旧有待商榷。在以太坊上运行计算的成本是在亚马逊云服务(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 方案从本质上来说风险性更高。

区块生产中心化(EOS、Cardano、NEO 等)

委任权益证明(DPoS)方案是接受中心化的,因为它认为挖矿的规模经济效益会自然造成 PoW 方案中的中心化。鉴于这个事实,Dan Larimer 发明了 DPoS 。DPoS 接受区块链会自然中心化的事实,并利用这一点来实现可扩展性。

例如,Larimer 最近又构建了 EOS,公开宣称该系统一次仅限 21 位区块生产者。预计 最后只有数据中心才有能力运转 EOS 节点。

通过限制区块生产者的人数,可以推测出每位区块生产者拥有更多资源。此外,拜占庭容错(BFT)算法通常需要 n² 次通信达成共识,而减少区块生产者的人数会降低网络延迟。降低区块生产的去中心化程度显然会提高可扩展性。

基于 DPoS 的区块链不仅能够带来可扩展性,还会缩短 TTF , 进而降低延迟性。EOS 明确提出了要将出块时间控制在 0.5 秒,这是其它共识方案根本实现不了的目标。这就是 DPoS 的一大优点。许多应用都需要降低延迟性并提高吞吐量。

以去中心化交易所为例。随着 0x 生态系统在以太坊上日趋成熟,上述需求越发明显。如今,0x 最大的一个问题是订单冲突现象越来越多,直接原因在于以太坊的出块时间长,而且延迟性高。0x 团队已经提出了解决方案。考虑到底层以太坊区块链的内在限制,这些解决方案的效果如何尚未可知。不过这根本不成问题,毕竟 DPoS 系统具有出块时间短、生产量高和延迟性低这几大优点。

总的来说,把宝押在 DPoS 上就是在赌两件事:

  1. 中性 数据库上的某些应用要求高吞吐量和低延迟性。
  2. 并非所有分布式系统都要具备抵抗中央机构的能力。

在三难困境中,DPoS 系统会侧重于三角形的底边。请注意:前两幅三角形图解反映的是 TTF 较长的系统的情况,而 DPoS 系统的 TTF 较短,因此用暗色表示。

边 3:多条链合集(Cosmos、AION、ICON、Ark)

CosmosAIONICON 和 Ark 团队相信未来会产生数以百计、数以千计甚至数以百万计的区块链。这些团队不会构建像以太坊和 EOS 这样庞大的区块链,而是基于三角边 3 的权衡关系构建系统。他们相信不同的应用不一定要共享一组验证者。相反,它们应该有自己的验证者集。

在可扩展性的三难困境下,基于边 3 构建的系统中的每条链包含的价值较少。无论是 PoW 还是 PoS 方案,安全性都会随着价值的增加而上升。不过,以提高风险为代价换来的是每条链都能获得主权(或许没有这个必要或价值)、可扩展性和较短的 TTF 。

主权有什么价值?通过一些例子来理解再简单不过。如果一些国家为行政目的使用区块链,它们会想创建自己的验证者集,贯彻自己的社会价值观,而非其他国家或全球社区的价值观。例如,以太坊和 Ethereum Classic 就不能共享验证者。

显然,以太坊本身与主权概念背道而驰。2013 年,Vitalik 着手创建了以太坊,因为他发现所有加密领域的应用开发者都需要应对相同的挖矿和共识算法挑战。他慧眼识良机,用底层平台解决这些复杂难题,以便开发者专注于应用层。

对比云计算的发展史,我们会发现一些有趣的相似之处。在 21 世纪早期,许多网站主机都将多个网站搭建在一台服务器上。只要一个站点的流量过大,服务器就会奔溃,累及其它站点。

以太坊在很多方面都类似早期的网络主机。它将太多东西捆绑在了一起,创造出了一个总体不稳定的系统。只要有一个应用破坏了系统,整个系统都会奔溃。

网络主机问题的解决方案是虚拟机(VM)。用独立的虚拟机将每个应用都隔离开来之后,一台服务器就可以运行多个应用,既能实现硬件利用率的最大化,又能在保持完整性的情况下降低成本。如果流量涌入的话,只会造成一台虚拟机的奔溃,而非服务器上的所有虚拟机。虚拟机可以在物理服务器之间移植,进一步提高冗余度和安全性。与能够实现巨大的水平可扩展性的系统相结合,虚拟机成为了云计算的一大关键部分。虽然最近 Docker Container 代替了虚拟机,但这不过是新瓶装旧酒。

同理,如果分布式应用必须搭建在独立的区块链上,基于边 3 构建的系统将迎来巨大的机遇。

要想实现这种愿景,基于边 3 的系统需要极大降低创建新链以及链际互操作的难度。Cosmos 正通过 Ethermint 将这一愿景变为现实。Ethermint 是百分之百开源免费的。 它是一种基于 Tendermint 运行以太坊虚拟机(EVM)的空模板链。Tendermint 是 Cosmos 团队开发的一种吞吐量高、TTF 短的半中心化共识算法。通过极大降低开发者创建新链的难度,Cosmos 希望开发者能专注于开发应用。AION、ICON 和 Ark 都拥有相同的愿景,正致力于为开发者提供模板化的方式,帮助他们轻松高效地创建新链。(请注意,虽然 Wanchain 通常被认为是一种可以实现链际互操作性的解决方案,与这一节中提到的其它方案差别很大,提供的功能也不一样。)

请注意,这些系统能实现较短的 TTF 。这是因为每条链都是相对中心化的,使低延迟性能得以产生。尽管如此,整个系统的去中心化程度还是很高的,因为很多链都有独立的验证者集,每个验证者集都可以使用新的共识机制。

在三难困境中,许多具有互操作性的小型链的可视化效果图如下:

分片(Ethereum 2.0、Polkadot)

Vitalik 和 Gavin Wood 多年前就已开始公开讨论以太坊分片了(详情参见 这里 和 这里)。

每个分片从根本上来说都是一条独立的链。虽然 Cosmos 生态系统中的链也是独立的,但是区别在于 Cosmos 上的每条链必须管理自己的共识(以此确保安全性),以太坊分片则不然。就以太坊分片而言,所有分片的共识及其带来的安全性汇聚到了一起,并由主分片中的验证者管理合约(Validator Manager Contract)进行管理。在大部分情况下,将安全性集中起来比将安全性分散在多条链上更好。

目前还没有人将分片区块链投入生产(Zilliqa 虽然号称实现了分片,但不是完整状态的分片)。

分片能够解决可扩展性的三难困境,尽管是以牺牲链的主权为代价的。此外,跨片通信是有延迟的。从根本上来说,延迟是每个分片上共识算法的一个功能。

以太坊打算使用 Casper 最终确定每个分片。尽管还没有设置具体的参数,但 Casper 很有可能产生以分钟计量的 TTF ,让分片后的以太坊变成一个高延迟系统。

Dfinity 和 Algorand 使用一种名为门限中继(threshold relay)的新型共识算法,旨在实现区块生产去中心化、安全性、比以太坊单个分片更好的可扩展性(尽管远远比不上 DPoS 提供的可扩展性),以及较短的 TTF 。如果门限中继在实际运作过程中能像在测试环境中一样顺利,我们就有望看到 Dfinity 和 Alogrand 对它们的链进行分片,利用较短的 TTF 和低延迟性提供高效的跨片通信。

Polkadot 将使用 TBA BFT 共识算法创建一个分片网络,以牺牲 DBP 为代价减少 TTF (与 Tendermint 遵循的权衡关系相似 )。然而,Polkadot 很可能比以太坊或 Dfinity 更早启动分片网络。不同于以太坊和 Dfinity ,Polkadot 不要求分片使用特定的状态机,例如以太坊虚拟机(EVM)或 WebAssembly(WASM)。相反,Polkadot 允许每条链定义各自的状态机。也就是说,可以通过一些协议将自己的共识系统转移到 Polkadot 上,例如通过 Stellar 可以在不具备智能合约功能的情况下发行任意的数字资产,或是通过 Zcash 可以利用高度优化的状态机来处理 SNARK 证明。

综上:

协议 共识算法 (每个分片的)虚拟机 公开分片计划
Ethereum Casper EVM → eWASM 已定义,推进中
Dfinity 门限中继 WASM 未定义
Polkadot TBA 未定义 已定义

完整状态分片是一个未解决的计算机科学难题。还没有人能够将其投入大规模的生产环境之中。然而,如果有可能的话,这或许是解决可扩展性三难困境的最佳解决方案,同时又能提供较短的 TTF 和低延迟性。

在三难困境中,分片式 PoS 的可视化效果图如下:

可验证的链下计算

如果不通过降低效率的手段来实现免信任性,用户可以只要求一台计算机执行一个计算来实现这点吗?除了让数十或数百台计算机执行相同的计算之外,还有其他方法能够证明这台计算机进行的计算是正确的吗?我们可以不通过在根本上效率低下的区块链技术来保证准确性吗?

Truebit 正在试图通过一个验证游戏(Prover-verifier Game)来解决这一问题。这个游戏将通过证明者-反馈(Prover-response)的交互式协议来实现。在计算结果没有遭受质疑的预期情况下,每个计算都在本地完成, 只需一个解题者(solver)和几个验证者(verifier),没有网络成本。在罕见的遭受质疑的情况下,解题者和验证者需要重新运行一个基于 WASM 的计算密集型虚拟机来确定谁是作恶者。

交互式验证协议将透明性、安全性和底层链的不可篡改性与链下计算的高效率结合在一起。Truebit 是在交互过程中运行的,而且具有概率性,因此在需要低 TTF 的环境中效果不佳。Truebit 运行在第一个“全体一致”的共识体制上,每个任务最少需要一位合理的验证者才能确保安全性。

将来,Truebit 或是它的竞争者可能会使用 SNARKs 和 STARKs 通过非交互证明而非交互证明来验证任意计算的准确性。果真如此的话,Truebit 将缩短 TTF ,增加免信任型链下计算的设计空间。然而,将 SNARKs 和 STARKs 用于通用计算时,任意计算的零知识证明在很大程度上依然是不确定的,尚待证实,而且技术效率低下,最终可能无法发挥潜力。

开源、复制和政治

从长远来看,主流链可能从小众链那里吸收最好的技术。例如,以太坊正在部署 zkSNARKs ,这是能够让 Zcash 实现私密交易的主要技术。而且,Vitalik 已经宣布他想要将以太坊移植到 WASM 上,在此之前 EOS 和 Dfinity 已经采用了这种技术。以太坊神教者提出用 Plasma 来解决以太坊的所有缺陷,因为它允许在以太坊生态下选择替代型共识算法和状态机。

考虑到上述问题和智能合约的网络效应谬论,链与链之间如何区分?

Politics, ideology, beliefs。

假设没人能在毫无妥协的情况下解决可扩展性的三难问题,不同的人和企业需要的是适合手头任务的特殊的链。

最后,媒体会将这渲染成一场宗教辩论。区块链将变成宗教,因为它们的信徒具有传教士的特征,乐于传播福音,吸引更多教众。

用户会选择那些去中心化程度最高、防审查性最强的链吗?哪怕是要以牺牲性能和高昂的网络费用为代价?或者,他们会接受降低防审查性的门槛吗?如果接受的话,这个门槛在哪里?

数字黄金

基于本文提出的框架,我们可以客观评估数字黄金和可编程货币在可预见的未来可能实现独立的方式和原因。

比特币核心团队不惜一切代价将 DBP 最大化和交易验证作为首要任务,哪怕要牺牲可扩展性和其它形式的实用性。降低比特币的效率能够增加它的弹性。比特币核心团队似乎没有受到限制说一定要牺牲技术效率来换取社会可扩展性。

你可以反驳说,即使是有信仰的比特币核心团队也受到了误导。例如,PoS 倡导者认为 PoS 的安全性比 PoW 更高,因为一旦确定了一个恶意攻击者,就可以立即将她踢走。相反,在 PoW 方案中,作恶者永远都可以继续攻击网络。

从长远来看,我们不知道 PoS 方案是否比 PoW 方案更能抵抗政府干扰。这两个方案各有千秋。然而,我们知道 PoW 确实是久经考验的。鉴于比特币核心团队的首要任务是实现最高的防审查性,根据我们的经验,比特币核心开发者做出了正确的决定。

有一些观点认为比特币核心团队的观点太极端了,为实现多余的防审查性让比特币牺牲实用性,进而会导致比特币丧失意义。

目前的问题是,DBP 要到达什么程度才够?如果你认为设计门槛要低于“能够抵挡来自××、××和×××的正面联合攻击”的话,免信任型计算的设计空间会更加宽广。

在 90 年代,许多人认为互联网最终会成为民主化力量,通过前所未有的方式将人们联系在一起,瓦解传统的媒体公司和专制政府。事实证明,主要是大型公司和政府利用互联网汇聚权力和控制力。

因为所有免信任型计算系统都是无需许可的,这意味着政府可以从中牟利。除了正面攻击之外,政府也许会通过无法预见的新方式来利用加密行业增强而非放松对社会的控制。

免信任型计算模型大杂烩?

在可预见的未来,加密生态经历了类似寒武纪时期的实验大爆发之后,上述免信任型计算扩容模型都将迎来繁荣期。

要实现稳定的未来状态势必要经历一段波折的道路。事物在实现同质化之前难免要经历复杂交织的大杂烩阶段。

例如,开发人员或许会在 Polkadot 上创建新链,结果却发现 Polkadot 上的一条中继链达到了极限。这条链或许与其它中继链相连,而后者又通过 Cosmos Hub 与 EOS、以太坊和 Kadena 上的链相连。每条链都可能被切分。各种以太坊分片可能包含使用 DPoS 和权威证明(PoA)共识保障安全性的 Plasma 链。

未来,这些主要系统中的合约都能调用 Truebit 进行链下计算,这就使得上述的不确定性增强了。有多少工作可以交由 Truebit 处理?Truebit 又将如何集成主链和侧脸?

目前还不清楚这些系统的价值在哪里以及如何积累。有观点认为,如果 Cosmos 的 ATOM 代币不遵循门格尔的边际效用论,像 Cosmos 这样具备互操作性的链不会累积这么多价值(可能是数十亿和数万亿的差别)。Polkadot 的 DOT 代币也面临相同的风险。

希望未来能看到实质性的融合,哪怕不是彻底的融合。考虑到主权对某些链的基本价值(例如,那些由政府控制的链),我认为 Cosmos 这样的系统即使成不了最大赢家,也总会有一席之地。


链接: https://medium.com/multicoin-capital/models-for-scaling-trustless-computation-dfef4b54809f

猜你喜欢

转载自blog.csdn.net/shangsongwww/article/details/90136950