撰文:Robert Habermeier,波卡联合创始人
翻译:PolkaWorld 社区
Polkadot 联合创始人 Robert 发布最新博客,分享观点 「以区块空间为中心的架构将胜过以区块链为中心的架构。」 同时 Gavin 也表示,「 区块空间是一个有用的抽象,它为链真正提供的产品提供了一个清晰的概念。Polkadot blockspace 结合了质量、灵活性,以及我们新的 Exotic Scheduling 设施,具有无与伦比的经济效率。 」
那什么是区块空间,为什么要关心它,以及什么是以区块空间为中心的架构?请查看 PolkaWorld 翻译的完整版。
在过去 5 年中,区块链和加密技术领域发生了很大变化。已经与刚开始我们构建 Polkadot 时的世界不同。尽管与我们最初的愿景有很大的不同,但我们的许多原始论文已经成为经典。例如,我们早期对互操作性和跨链可组合性的赌注已经从理论发展到实践,从推测发展到事实。而现在的赌注是 —— 多链的未来。
此外,自 2016 年的白皮书提出的平行链、共享安全性和数据可用性在思想世界中产生了涟漪,并一直是新旧项目架构灵感的来源。我们已经从一个由几个链组成的世界发展到一个拥有大量链的世界。但我们的目标绝不是为了最大化区块链的数量,而是最大化去中心化网络可以做的工作量 —— 或者换句话说,解决可扩展性问题。区块链的数量与可扩展性有关,但并不完全相同,此处将阐明两者之间的差异。
当我们开始 Polkadot 时,我们准备创建一个在不影响安全保证和抗审查性的情况下最大化交易吞吐量的系统。这个目标没有改变,但现在应用层的进展可以使我们能够为这个愿景增添更多色彩和细微差别。应用程序和协议开发者都面临着多链世界中的新挑战。他们必须平衡安全执行、抗审查、可用性、成本和可组合性的要求。新兴概念 blockspace 用作包含这些要求和目标的抽象和原语。
在这篇文章中,我将深入探讨 blockspace 的定义和质量,以及如何评估市场上不同的 blockspace 产品。此外,我还说明了为什么我们将视角从区块链转移到 blockspace 区块空间,以及为什么 Polkadot 在架构上非常适合作为最强的通用区块空间生产者。
什么是 Blockspace?
「Blockspace 是 2020 年最畅销的产品。」Chris Dixon,a16z,在 Bankless 播客上说到。
Blockspace 是区块链完成(finalize)和提交操作的能力。这是最近兴起的一个词。它需要一些解释。从某种意义上说,它是当今运行的去中心化共识系统的主要产品。它是推理区块链实际产生什么的抽象:它是否分配给余额转账、智能合约或计算是应用层关心的问题。在高层次上,区块空间是 Unstoppable 应用程序的关键要素。Unstoppable 的应用程序依赖于去中心化系统进行支付、共识或结算。因此,应用层是区块空间的主要消费者。与任何业务一样,应用程序及其开发者都应该关注其供应链中商品的质量和可用性。
区块空间是一种短暂的好东西。当你打算向链提交操作时,你需要即时区块空间:不是昨天的,也不是明天的。区块空间要么被利用,要么未被利用。当一条链低于容量时,共识资源被浪费在产生未使用的区块空间上。
以太坊是区块空间产品的第一个主要创新者。通过将虚拟机引入协议并通过「gas」计量可用的区块空间,它允许根据执行的计算量和使用的存储量将单个区块内的块空间定量分配给程序。从那时起,许多项目开始了扩展区块空间类型的旅程。这个「镜头」提供了对 Polkadot、Ethereum、Avalanche、Cosmos、Solana 和 EigenLayer 或 AltLayer 等较新项目之间的关键区别的洞察。
区块链的不可能三角告诉我们,出于安全性、延迟和吞吐量的考虑,你只能在重负载下选择两个。在 Polkadot 中,我们在基础层的方法一直都是最大化安全性和吞吐量。虽然不可能三角有助于评估基础层协议的理论效用,但区块空间的概念使我们能够更好地推理如何将吞吐量和安全性分配给应用层。
Blockspace 不是商品,而是一类商品。不同系统产生的区块空间在质量、可用性和灵活性方面会有所不同。区块空间的质量可以通过区块链提供的安全保障来判断 —— 越安全,质量就越高。如果没有区块空间的供应,应用程序会遇到拥塞或停机,导致用户体验高额费用、漫长的等待时间或抢占先机。如果没有高质量的区块空间,应用程序就会被黑客入侵和耗尽。低质量的区块空间容易受到 51% 攻击和毒性冲击。这两种类型的事件对于熟悉加密圈的读者来说都是熟悉的。区块空间的这些特性是应用程序开发者在选择到哪里部署时必须考虑的关键因素。
Blockspace 的特征
让我们深入探讨区块空间作为商品的 3 个主要特征:质量、可用性和灵活性。
质量 —— 与任何商品一样,质量是区块空间消费者需要考虑的主要因素。高质量的商品可以实现它的目的,区块空间的目的是转化为状态机执行的永久记录。在这个框架内,质量等同于安全,用加密经济学的说法。以后我将交替使用这两种描述。不安全或低质量的区块空间容易受到 51% 攻击和共识错误的影响。在幕后,安全性由两个因素决定:用于保护它的共识协议,以及在区块空间的生产和承诺中使用的实际经济安全量(即挖矿能力或权益)。
可用性 —— 区块空间的可用性由供需决定。区块空间的供应由生产它的系统的吞吐量和活跃性驱动:停滞、停止或需要人工干预和操作的区块链将间歇性地供应区块空间。不能最大化吞吐量的区块链将在限制其供应量为小规模。在不安全的共识机制上运行的区块链提供的就是没有强有力的永久性保证的区块空间。
灵活性 —— 灵活性是区块空间在不同类型的操作中使用的能力。比特币和以太坊区块空间有些灵活,因为区块空间可以分配给用户提交的交易。然而,比特币和以太坊有一个完全交易的区块空间机制,它只能作用于用户提交的交易。它不能用于在没有用户输入的情况下执行的主动操作。大多数区块链还没有超越这种反应模型。甚至大多数 rollup 协议也主要关注用户驱动的余额转移和智能合约调用。大多数区块链支持的交易格式、账户模型和脚本语言都是有限的。
高度灵活的区块空间完全专注于执行、存储和数据消耗,并让区块空间的消费者将这些基础资源分配给被动和主动操作。Blockspace 消费者应该能够优先考虑与用户提交的交易相关的一流应用程序逻辑,以便即使在用户提交的交易不存在或过多的情况下,他们也可以取得有意义的进展。这并不是说交互模型不好。事实上恰恰相反:交易执行模型在与自治执行模型的互操作中效果很好。这两者背后的底层产品是 blockspace,而 blockspace 只有在最大限度灵活的情况下才能同时支持这两种模型。灵活的区块空间是深入区块空间市场的先决条件。
为了增加更多的细微差别,我们应该承认,现代区块链应用程序是基于利用区块空间的状态机之间的互操作性。将低质量区块空间与高质量混合会破坏整个应用程序,并使用户面临灾难性的尾部风险。如果我们正在建造一家餐厅,我们就不会为我们的顾客提供主要由优质食材和少量垃圾混合而成的餐点。同样,应用程序开发者不应为其客户和用户提供由大部分高安全性区块空间和部分低安全性区块空间组成的应用程序。劣质食材毁了这道菜的其余部分。在可互操作的世界中,寻求将用户风险降至最低的应用程序应仅使用高安全性区块空间来交付最终产品。
现代应用程序需要具有可预测且始终如一的高质量的并行区块空间。此外,当类中的所有块空间都提供同质安全保证时,一类块空间最适合于可互操作的应用程序。本质上,互操作性是异步状态机的可组合性。一个由异步组合状态机组成的可靠网络可以解锁超附加值,最适合本论文的区块空间类别是那些提供标准和强有力的安全保证的区块空间类别:在不产生额外风险的情况下创造价值。也就是说这些类型的块空间为其中的所有块空间提供共享安全性。
扩展解决方案解决了块空间供应问题。例如,分片和 rollup 通过引入证明或争议协议来使用加密经济学来扩展,在默认情况下,并非每个验证人都需要检查每个状态转换。扩展解决方案可以与共享安全架构相结合,以满足供应和质量的需求。
一些生态系统现在认识到共享安全架构的必要性 —— 但他们使用验证人自愿选择加入来确定共享安全保护伞下的不同区块空间产品获得多少安全性。这是一个糟糕的架构,因为它将特定的验证人奉为一个寻租的特殊利益集团,请求者必须求助于该群体才能启动他们的项目或获得充分的保障。供需之间的进入障碍有可能降低区块空间的可用性和质量。
应用程序和协议开发者应特别注意这三个特征,并更多地围绕区块空间构建他们的应用程序,而不是区块链或智能合约。去中心化的应用程序和协议可以通过按需获取块空间而不是 24/7 运行链来以较低的成本对其用户或代币持有者运行。早期区块链将大量代币分发给验证人以产生具有最少底层使用的区块是很常见的。这是区块空间分配效率低下的副作用,它主要使验证人受益,而牺牲了应用程序开发这和代币持有者。云计算胜过专用服务器空间,因为它以更精细和自适应的方式分配物理资源。同样,Web3 基础层的以块空间为中心的架构将胜过以区块链为中心的架构。
Polkadot:一个以区块空间为中心的架构
Polkadot 的共识系统的核心是一个高效且灵活的区块空间生成器。与现代 CPU 一样,Polkadot 网络是一台多线程机器。该系统基于一个原语:执行内核(Execution Core)。每个内核一次可以从状态机执行一个块。Polkadot 网络以验证人和抵押权益的形式利用其资源随时公开最大数量的内核。由于 Polkadot 架构的效率提升,Polkadot 的验证人能够将他们消耗的真实资源转化为更多的区块空间,而不是简单地运行更多具有相同质押价值的独立区块链。仅靠共享安全性不足以构建有效的区块空间生产者。共享安全保证了块空间的同质质量。它必须与扩展机制相结合以保证供应。
作为区块空间生产者,Polkadot 尽最大努力向尽可能多的用户开放其服务。因为 Polkadot 使用 WebAssembly 和虚拟机架构,Polkadot 区块链不需要说服验证人运行他们的软件。与智能合约一样,唯一的要求是在链上发布代码并获得区块空间。
Polkadot 验证人在任何给定时刻都无法选择他们需要在哪个区块链上工作 – 对他们来说唯一重要的是他们在任何时候被分配到哪个内核,以及在该内核上安排的相应区块链。Polkadot 验证人是纯粹的服务提供者。他们没有固执己见。他们按照市场告诉他们的工作去做。Polkadot 区块空间的购买者有保证,验证人将在没有任何人为干预的情况下坚持交易,不这样做的验证人将错失奖励。
将 Polkadot 视为 rollup 协议是公平的。然而,与基于智能合约系统的 rollup 协议不同,rollup 通过执行内核保存在基础层逻辑中。当 rollup 建立在智能合约层之上时,系统在某种程度上会演变为「每个 rollup 本身」,因为它们会争夺 gas、验证人、包含和调度。基础层的基于 gas 交易的区块空间不适合将区块空间分配给 rollup。为了在调度、安全和供应方面提供一致的保证,我们正在构建一个特定的模块化系统,其中模块化很重要:在应用层。
执行内核与在其上运行的实际区块链或状态机之间的架构区别至关重要。我们认为最大化区块链数量没有什么价值;这只是最重要的代理:最大化安全块空间。执行内核是块空间生产的引擎,这些内核的调度权为块空间分配产品打开了设计空间。
分配 Blockspace 的机制
有效的块空间分配至关重要。区块链的使用模式并不一致。区块链经历了重负载和拥塞的时期,以及利用不足和空虚的时期。一方面,应用程序应该能够适应重负载的时期。另一方面,应用程序不应该为它们不使用的块空间付费。这里的产品设计空间尚未得到充分开发,但 Polkadot 的架构非常适合改进市场产品。
云计算市场是考虑块空间分配产品设计的一个平行线。云计算业务模型通常具有两个关键特性:预留实例(Reserved instances)和现货实例(Spot instances)。预留实例更便宜,但可以保证很长一段时间。Spot 实例成本更高、按需可用且短暂。具有可预测负载的应用程序将通过购买预留实例来节省资金,但可以通过利用 spot 实例进行扩展以满足需求而不会中断服务。然而,预留实例也代表一种承诺 —— 如果应用程序的实际需求低于云计算资源的保留供应量,应用程序运营商就是在浪费金钱。
让我们把它具体化。长期插槽是分配 Polkadot 执行内核的唯一当前机制。这些类似于预留实例,通过治理或插槽拍卖分配:获胜者在 6、12、18 或 24 个月的预定时间内获得专用执行内核。平行线程是现收现付的区块链,这是我们在 2019 年提出的一个概念。平行线程就像 spot 实例。我们目前的想法是使用最优控制器来设置这个现货价格:简单来说,当 Polkadot 为平行线程提供的内核饱和时价格会上涨,而当有空的内核时价格会下降。这只是如何分配块空间的又一个示例。
我们可以进一步深入分配执行内核的概念。Polkadot 的架构是这样的,一条链可以同时分配多个内核 – 想象一个区块链不是一次推进 1 个区块,而是推进 2 或 3 个区块。这是可能的,并且由于 Polkadot 设计的特殊性,允许并行验证顺序状态转换。实际上,一条链可以有效占用的内核数仅受其一次可以获取的内核数和链可以产生块的速率的限制。我们预计随着这个市场的成熟,Polkadot 链将在区块生成方面掀起一波创新浪潮,以最大限度地发挥这一功能的效用。我们期望即使是具有简单顺序块创作方法的链(例如目前可用的)也能够充分利用 2 或 3 个内核。
作为单个链如何使用多个内核的示例,我们可以介绍另一种类型的块空间分配产品:短期拍卖。这些拍卖将介于纯现货分配和长期保留分配之间。当然可以设计一种拍卖机制来分配短期的插槽,例如一小时、一天或一个月。这可以用于我一直称之为「Parachain Boost」的东西 —— 区块链在重负载期间扩展其吞吐量的能力,例如在高峰时段变宽的高速公路。
此外,通过将我们的观点从以区块链为中心转变为以区块空间为中心,很明显,区块链或状态机没有理由永远运行。临时区块链是一个有趣的用例,我认为它还没有得到充分的探索 —— 运行时间较长的进程应该能够将它们的计算或协议卸载到短期链上,就像在 PC 上运行的程序可以卸载计算或工作到后台线程一样。
我们可以追求的执行内核分配的最后一种途径是转移执行内核上的声明的能力。这将为 Polkadot 区块空间创建一个二级市场:链将能够相互交易额外容量并充当区块空间的转售商。需求低于或高于预期的链将能够相应地适应,甚至可能推测区块空间的未来需求。
重构区块链的意义
在我看来,区块链生态系统对多链世界的思考太小了。以稳定的脉冲无限期启动和运行的区块链显然是一种效率低下的机制。未来的多链由可按需扩展和收缩的区块链组成。它包含由链上工厂产生的临时链,由合约启动并充满自动化目的 – 几个小时后完成它们的工作并消失。我们在 Web3 中的目标不是最大化区块链的数量,因为它主要有利于寻求提取价值的验证者联盟。我们在 Web3 中的目标是最大化存在的区块空间数量,并确保将其分配给任何时候最需要它的状态机:不断生成全球共识资源并将其分配给最需要它的人。没有浪费的企业。换句话说:世界上最有效的区块空间生产者。
感谢 Fabian Gompf、Pranay Mohan、Björn Wagner 和 Gavin Wood 的审阅、编辑和讨论。