扩展非信计算模型
注:译文略有删减,仅供参考。
每个主要的智能合约平台都在进行一系列独特权衡。这些权衡不是简单的特定特征存在或缺失,相反,它代表了从根本上,对非信计算的不同看法。
本文旨在提供一个连贯框架,通过该框架,人们可以理解这些权衡,以及这些权衡如何影响加密领域中的一些主要叙述,如数字黄金,可编程货币,抗审查,无需许可。
首先,为“非信”( trustless )一词建立语境。Nick Szabo 将非信作为技术效率的反函数。基本上,计算机效率越低,越难以操纵,越难以操纵,就越可信,从而使它非信(trustless)。
换言之,区块链是以技术效率换取社会可扩展性。
crypto 的最终表现,不仅是一个非信数据库(或区块链),每个人都对其当前状态达成共识—— 它是非信通用计算,它是数据库的一个超集。区块链使地球上每个人都能就世界状态达成共识。非信通用计算超越此。它不仅能够了解世界状态,而且能够证明特定计算正确运行。
虽然比特币是技术可编程 ——通过其脚本语言使能(enabling )非信通用计算 —— 实际上,比特币只是一个非信数据库。虽然有一些努力,使比特币更具表现力(如 MAST, taproot, scriptless scripts, RSK),但这些现在都还没有投产。坦率地说,开发者已离开比特币,前往更青葱的牧场。
以太坊提供了第一个易获得平台,开发者可在其上随意运行非信计算。今天,在加密领域,以太坊拥有绝大多数开发人员的思想(mindshare )。
许多人称以太坊为世界计算机。虽然这在技术上是正确的,但实际上并不是因为两个相关因素:吞吐量和成本。在以太坊上运行计算比在 Amazon Web Services (AWS) 上运行相同的计算,成本要高 100 000 000 倍级别。
可扩展性困境
扩展非信计算的挑战,可看作是一个困境。 可扩展性困境论假设,区块链——每个节点处理每个计算,并且每个节点就这些计算的顺序达成共识——可具有以下三个属性中的两个:安全性,可扩展性和区块生产的去中心化性(decentralization of block production,DBP)。
- DBP 可量化为,区块生产者数量。
- 可扩展性可量化为,每单位时间,系统可以处的交易数。
- 安全性可量化为,实施影响活跃性或交易顺序的拜占庭攻击的成本( the cost of mounting a Byzantine attack that affects liveness or transaction ordering)。 请注意,安全性不是指加密签名的完整性( integrity ),也不是指第三方从公钥导出一组私钥的能力。
是什么导致某个系统实现一组合权衡,而不是另一组合? 共识方案和系统架构的组合。 本文其余部分将探讨这些概念。
第四维度:Time To Finality(AKA 延迟)(Time To Finality,TTF (AKA Latency))
有些系统从不保证 finality,而是概率性地接近 finality(例如比特币)。 其他则在一段时间后提供 finality 保证。 Finality 不仅对避免双重花费攻击很重要,而且因为 finality 保证是实现跨链通信所必需。TTF 越慢,跨链通信的延迟越高。
我将使用深背景颜色来表示快 TTF,浅背景颜色来表示较慢的 TTF。
Leg 1:无需许可式 Proof-of-Work(比特币,以太坊 1.0,其他)
PoW 共识使抗审查,无需许可式分类账成为可能。
对抗审查的优化如此强,其缺点在于,如果没有中心化区块生产,现代 PoW 系统不能扩展。这一基本权衡最终导致分叉出 Bitcoin Cash,Bitcoin Cash 将中心化区块生产。
在本文中提出的共识模型中,PoW 最无需许可。 这在理论上可实现最大 DBP。
实际上,所有无需许可式 PoW 系统都中心化了区块生产。我们从经验上知道这一点。 由于挖矿运营中的规模经济,所有基于 PoW 的主要区块链的挖矿都中心化了。今天,在比特币和以太坊区块链中,不超过 20 个组织/矿池控制着绝大部分挖矿权。对基于ASIC 和基于 GPU 的挖矿算法来说,这种区块生产的中心化似乎很可能将总是发生。
PoW 系统遭受慢 TTF 的影响。从设计上讲,它们不能保证 finality。 相反,随着新的区块被添加到基于 PoW 的链中,更旧的交易变得更有可能成为最终交易。 这就是为什么,在 6 个额外区块确认交易之前,许多人不认为这笔交易是“最终的”。 给定的 10 分钟一个区块,完成(finalize )一笔比特币交易需要一个小时甚至更长时间。 此时,考虑到交易的最终性,链重组的概率接近于 0 。
实际上,由于 PoW 挖矿的规模经济,PoW 链落在三角右下角:
Braided PoW (Kadena)
Kadena 是我所知道的唯一尝试使用 PoW 方案解决可扩展性问题的系统。 Kadena 通过创建一个名为 Chainweb 的 “braid” of chains 来实现这一目标。 在 Chainweb 中,为生成新区块,除了验证自己链中的交易外,每条链还必须验证一些预先指定的链的区块头(block headers of some number of pre-specified chains)。
为了在链之间传递消息和价值,用户需要提交 Merkle proofs ,将一条链的状态声明给Chainweb 中的其他链。因为并非所有链都直接连接,用户可能必须“跳”(“hop”)几次以将消息从一个链中继到另一个链。
乍一看,这看起来像以太坊的分片提议。然而,以太坊的分片实施将交易核对(collation )和验证分别分离进 spoke chains 和 a single hub chain ,而 Kadena 并没有分拆交易验证和共识( Kadena doesn’t unbundle transaction verification and consensus )。在 Chainweb 中,每条链都保持着自己的共识(In Chainweb, every chain maintains its own consensus)。 Kadena 提出了一种基本上独特的方法。
Kadena 将 ChainWeb 可视化如下:
ChainWeb 的一个独特特征是,扩展系统显著提高了安全性。为什么?因为跨越来越多链,每个链都引用了来自其他链的区块,实施 51% 攻击变得更加困难。在此模型中,撤消一条链上的交易,需要撤消系统中每条其他链上的交易。鉴于链自然交织在一起,随着链数增长,实施 51% 攻击变得指数级地更加困难。这与三角 leg 3 上的区块链(其系统总体安全性不会随着链数增加而大幅提高)形成对比。
这种设计基本上解决了可扩展性问题。但有一个主要权衡:TTF 和跨链延迟。
单链可能彼此间有很多跳跃。Kadena 目标在 PoW 方案中提供 <1 分钟的 TTF。在整个Chainweb 上发送消息将需要几次跳跃,需要几分钟时间。
尽管存在这种限制,Kadena 提出了一个真正解决方案,基于经验证的共识模型 PoW,解决可扩展性问题。虽然编织( braiding )为整个系统增添了新动态,但每个链都是一条 PoW 链。PoW 已经比 PoS 经受更严格地多的审查。在现实世界,证明共识方案的安全性,需要数年时间。因此,对于 Kadena 而言,建立基于 PoW 共识的可扩展系统,具有真正的价值和机会。
在三角上,Kadena 落在这里:
Proof-of-Stake
上述方案都是基于 PoW 。以下是 PoS 方案。
实际上,在设计上,相对纯粹的无需许可式 PoW,所有 PoS 系统中心化了区块生产。这是由于区块生产者数量和吞吐量之间的内在权衡。
但是,这并不意味着所有 PoS 方案都是一样地中心化区块生产。 正如我们所将看到,使用PoS 方案可以实现广泛的 DBP( there’s a wide range of DBP that’s achievable using PoS schemes )。
在现实世界,PoS 方案比 PoW 方案所经历实战考验少很多。例如,第一个 PoS 实施,Peercoin,面临过 nothing-at-stake 攻击。因此,人们认为,PoS 方案从根本上风险更大。
Leg 2:中心化区块生产(EOS,Cardano,NEO,其他)
由于认识到 PoW 方案由于挖矿业的规模经济而自然中心化,DPoS 方案拥抱中心化。鉴于这种实际情况,Dan Larimer 发明了 DPoS,它拥抱区块链无论如何自然中心化的事实,并利用它来实现可扩展性。如 EOS 。基于 DPoS 的链不仅提供可扩展性,而且提供快 TTF ,因此具有低延迟。许多应用需要低延迟和高吞吐量,如去中心化交易所(0x)。并非所有分布式系统都需要达到-能够承受政府全面攻击-的分布式。
在三角上,DPoS 系统将聚集于三角底部。
Leg 3:多链宇宙(Cosmos,AION,ICON,Ark)
Cosmos,AION,ICON 和 Ark 团队认为将会有数十万甚至数百万条链, 而不是单一庞大的链,不同应用不一定共享一单组验证者。 相反,它们应该具有自己唯一(unique)的验证者集。
在可扩展性困境背景下,leg 3 中系统上的每个链所包含的价值较少(each chain on systems in leg 3 comprise less value)。 在 PoW 和 PoS 方案中,安全性随着价值增加而增加。 然而,作为对额外风险的交换,每个链都获得主权(这可能不是必需,甚至没有价值)、可扩展性和快 TTF。
为什么主权有价值?当各国为行政目的采用链时,他们将需要自己的验证者集来执行其社会价值,而不是其他国家或全球公社的验证者集。例如,Ethereum 和 Ethereum Classic应该不共享验证者( validators )。
对主权案例的明显反驳是以太坊本身。 2013年,Vitalik 开始构建以太坊,因为他认识到加密领域中的每个应用开发人员都在处理挖矿和共识相关的相同挑战。他认识到有机会抽象出所有这些复杂性,以便开发人员可以专注于应用层。
在云计算历史中有一些有趣的相似之处。21 世纪初,许多 web-hosts 将许多网站托管在一台服务器上。每当一个站点收到过多流量时,服务器就会崩溃,导致同一服务器上的其他网站瘫痪。
在许多方面,以太坊就像早期的 web-hosts 。 它简单地将太多东西捆绑在一起,创建了一个总体上不稳定的系统。 当一个应用破坏系统时,它就破坏每个人的系统。
Web 托管问题的解决方案是虚拟机(VM)。 通过将每个应用隔离到单独的虚拟机中,单个服务器可以运行多个应用,最大限度地提高硬件利用率并降低成本,同时仍保持完整性(integrity)。 如果流量大量涌入,单个 VM 将崩溃,而不是服务器上的所有 VM。 随着时间推移,VM 可以跨物理服务器移植,进一步提高冗余(redundancy)和安全性。与拥有大规模水平可扩展性的系统相结合,VM 成为云计算的关键组件之一。 最近,Docker containers 已经取代了 VM ,但 Docker containers 并没有从根本上改变这种类比。
如果由于上述原因,分布式应用必须在独自链上运行,那么三角 leg 3 上的系统将有很好的机会。
为了支持这个未来,leg 3 上的系统需要让新链的拆分旋转( spin up )变得简单易行,并使链之间互操作。 Cosmos with Ethermint 。Ethermint 是 100% 开放和免费的。它是一个空白模板链,在 Tendermint 上运行以太坊虚拟机( EVM ),这是由 Cosmos 团队开创的半中心化,高吞吐量,低 TTF 的共识算法。 AION , ICON 和 Ark 拥有相同的总体愿景,并致力于提供模板化方式,让开发人员能够快速轻松地旋转拆分( spin up )链。
请注意,这些系统提供快 TTF。这是因为每条链都是相对中心化,允许低延迟。尽管每条链都是相对中心化,但系统总体上是相当去中心化,因为很多链具有独立的验证者集,每个集都可利用新的共识机制。
在三角上,许多较小的,可互操作链愿景可视化如下:
分片(以太坊 2.0,Polkadot)
Vitalik 和 Gavin Wood 多年来一直在公开讨论分片以太坊((请参阅1,2)。
分片解决了可扩展性问题,尽管是以链主权为代价。 此外,跨分片通信受延迟影响。 延迟主要是每个分片共识算法的函数(Latency is primarily a function of the consensus algorithm per shard)。
通过使用新共识算法 threshold relay,Dfinity 和 Algorand 旨在提供 DBP ,安全性, 在单个分片中比以太坊更多的可扩展性(尽管远远低于 DPoS 所提供的可扩展性),以及快 TTF。如果 threshold relay 在实际中,如其在测试环境中一样可行,我们可以预计看见,Dfinity 和 Alogrand 分片它们的链,杠杆化快 TTF 和低延迟,来提供高效跨分片通信。
Polkadot 将作为一个分片网络发布( a sharded network ),使用 TBA BFT 共识算法,以 DBP 为代价提供快速 finality(与 Tendermint 类似的一组权衡)。 但是, Polkadot 可能会在以太坊或 Dfinity 之前推出一个分片网络。与以太坊和 Dfinity 不同,Polkadot 不需要分片来使用一个特定状态机,如 EVM 或 WebAssembly( WASM )。 相反,Polkadot 允许每条链定义自己的状态机。这将允许如 Stellar 或 Zcash 之类的协议,将其自身独立的共识系统移到 Polkadot 上。
总结以上:
完全状态分片(Full state sharding)是未解决的计算机科学问题。这可能是因为在生产环境中,从来没有人能规模化地做到这一点。但如果可能,它可能是解决可扩展性问题的最佳途径,同时提供快 TTF 和低延迟。
在三角形上,分片 PoS( sharded PoS ) 落在这里:
可验证链下计算( Verifiable Off-Chain Computation )
Truebit 正试图通过 prover-verifier game 来实现这一愿景。
开源,复制和政治
在足够长的时间范围内,占主导地位的链可能吸收来自较小的,较不占主导地位的链的最佳技术(以太坊正在或将要对 zkSNARKs, WASM,Plasma 的采用)。
鉴于此和智能合约网络效应谬误,各条链之间将如何差异化?
政治。意识形态。信仰。(Politics. Ideologies. Beliefs.)
假设没有人能够在不做任何妥协的情况下解决可扩展性问题,那么不同的人和企业将需要的是最适于其当前任务的独特链。
最终,媒体将把这视为一场宗教辩论。区块链将变得像宗教一样,他们的信徒是传教士,有动力传播他们的福音并改变他人信仰。
用户会选择最去中心化、从而最大限度抗审查的链,甚至不惜以性能和更高的网络费用为代价? 或者他们会接受更低的审查门槛? 如果是,那条线在哪?
抗审查的数字黄金
通过本文提出的框架,我们可以对“数字黄金和可编程货币在可预见未来如何及为何可能独立”进行客观评估。
Bitcoin core 团队已经优先考虑不惜一切代价最大化 DBP 和交易验证,即使以可扩展性和其他形式的效用为代价。通过使比特币效率更低,它将更具弹性。比特币核心团队似乎没有限制地以技术效率换取社会可扩展性。
你可以说,Bitcoin core 团队被误导了。例如,PoS 拥护者认为 PoS 比 PoW 更安全,因为如果识别出恶意攻击者,这个攻击者可以立即被断开(slashed)。这与 PoW 方案形成对比,在 PoW 方案中,恶意方可以继续永久地攻击网络。
从长远来看,我们不知道 PoS 方案是否将会比 PoW 方案更能抵御政府攻击。两种方式都有很好论据。但是,我们知道 PoW 经过了测试。鉴于 Bitcoin core 的首要任务是,最大化抗审查,根据我们经验,Bitcoin core 开发者正在做出正确决定。
有一些合理的辩论:Bitcoin core 观点过于极端,比特币牺牲了真正效用以换取多余的抗审查,而效用的缺乏最终将导致比特币变得无关紧要。
现在的问题是,多少 DBP 是足够的 DBP ? 如果你认为设计边界不在于“经得起美国,中国和俄罗斯政府的全面协调的攻击”,而是一些较低标准,那么,非信计算的设计空间就会扩大。
在 1990 年代,许多人认为互联网将成为最终的民主化力量,以前所未有的方式连接人们来打破传统媒体公司和压迫性政府。事实证明,大多数情况,大公司和政府利用互联网来集中权力和控制权。
由于所有用于非信计算的系统都无需许可,这就意味着政府可以利用这些系统为自己谋利。也许,与其正面攻击,我们将看到政府以新颖和不可预见的方式采用 crypto ,加强对社会的控制,而不是放松。
异构非信计算
在可预见未来,所有上述可扩展非信计算的模型都将共存,并随着加密生态系统经历一个寒武纪的实验爆炸而开花。
这里与一些稳定的未来状态之间不会有明确的线性路径。 相反,在它们变得更加同质化之前,事物将变得更加异构和交织在一起。
例如:开发人员可能在 Polkadot 上建立,却发现单个 Polkadot 中继链达到极限。该 Polkadot中继链可以连接到其他 Polkadot 中继链,这些中继链可以通过 Cosmos Hub 连接到 EOS,以太坊和 Kadena 链。 这些链中的每一个可以依次分片( Each of those chains may in turn be sharded )。各种以太坊分片可能包含使用 DPoS 和 proof of authority (PoA) 共识保护的 Plasma chains。
每个主要系统中的合约都将可以调用 Truebit 进行链下计算,使以上一切都变得不那么清晰。可以将多少工作卸载到 Truebit ,以及如何整合内链和链际?
还不清楚这些系统在何处以及如何产生价值。如果 Cosmos 的 ATOM 代币不成为 Menger Goods,那么 Cosmos 等互操作性链就不会累积那么大价值(可能是数十亿 vs 数万亿的差别)( interoperability chains such as Cosmos will not accrue that much value (perhaps billions vs trillions) if Cosmos’s ATOM tokens don’t become Menger Goods )。 Polkadot 的 DOT 代币面临同样风险。
随着时间推移,我希望看到实质性的,虽然不是完全的汇合。考虑到某些链(如政府控制的链)的主权的基本价值,我认为像 Cosmos 这样的系统将总会占有一席之地,即使另一条链是最大赢家。
什么都还没定论,一切都有待把握。
感谢 Trent McConaghy (Ocean); Peter Czaban (Web3/Polkadot), Jesse Walden (a16z); Will Martino (Kadena), Matt Luongo (Keep), James Prestwich (Integral), Robbie Bent (Truebit), and Zaki Manian (Cosmos) 为本文提供意见。
注:在撰写本文初稿之后,我发现 Trent McConaghy 早于我整整 20 个月,就提出不同命名的类似框架。特别感谢 Trent 为本文提供意见。
Disclosure:Multicoin Capital is long Bitcoin, Ether, Kadena, 及 EOS.
原文:https://multicoin.capital/2018/02/23/models-scaling-trustless-computation/
作者:KYLE SAMANI
编译:东林,热爱
校对:椰子加农炮
参与讨论(0)