时间:2022-01-04|浏览:7227
用戶喜愛的交易所
已有账号登陆后会弹出下载
报告要点:
单片链受限于单个节点可处理的内容,而模块化生态则越过了这一限制,提供了一种更可持续的扩容形式;
模块化背后的一个关键动机是有效的资源定价。模块化链可通过将应用程序分成不同的资源池(即费用市场)来提供更可预测的费用;
然而,模块化引入了一种新的称为数据可用性(DA)的问题,我们可以通过多种方式解决该问题。例如,Rollup可以批量处理链下数据,并将其提交到链上,通过在链上提供“数据可用”,它们克服了这个问题,并继承了基础层的底层安全性,建立了去信任的L1<>L2通信;
最新形式的模块化链,称为专用数据可用性(DA)层,其旨在用作Rollup的共享安全层。鉴于DA链具有可扩展性优势,其有可能成为区块链扩容的终局,而Celestia 是这方面的先驱项目。
ZK-Rollups可提供比Optimistic Rollups 更多的可扩展性,我们已经在实践中观察到了。例如,dYdX的吞吐量大约是Optimism 的 10 倍,同时消耗的L1空间仅仅是后者的1/5。
链上活动正在以极快的速度在发展,而随之而来的是用户对区块空间的需求。
从本质上讲,这是一场可扩展性战争,这涉及到了平行链、侧链、跨链桥、zone、分片、rollup、数据可用性(DA)等技术术语。在这篇文章中,我们尝试消除这种噪音,并详细阐述这场可扩展性战争。所以,在你系好安全带之前,请先喝杯咖啡或茶,因为这将是一段漫长的旅程。
寻求可扩展性
自从 Vitalik提出著名的可扩展性三难困境以来,加密社区便一直存在着一种误解,即认为三难困境是一成不变的,一切都必须权衡取舍。虽然这在大多数情况下是正确的,但我们时不时会看到三难困境的界限被拉升了(要么是通过真正的创新,要么通过引入额外但合理的信任假设)。
当我们浏览不同的设计时,我们会重点介绍其中的一些示例。但在我们开始之前,定义可扩展性的含义是很重要的。简而言之,可扩展性是在不增加验证成本的情况下处理更多交易的能力。考虑到这一点,让我们来看看当前各大区块链的tps数据。在这篇文章中,我们将解释实现这些不同吞吐量水平的设计属性。重要的是,下面显示的数字并不是它们能够达到的最高水平,而是这些协议历史使用情况的实际值。
单片链 VS 模块化链
单片区块链
首先,让我们来看单片链,在这个阵营中,Polygon PoS和BSC并不符合我们的可扩展性定义,因为它们只是通过更大的区块来增加吞吐量(众所周知,这种权衡会增加节点的资源需求,并牺牲去中心化以提高性能)。虽然这种权衡有其市场契合度,但它们并不是长期解决方案,因此并没有那么引入注目。而Polyon 认识到了这一点,并正在转向以rollup为中心的更可持续的解决方案。
另一方面,Solana 是对完全可组合的单片区块链边界的一次认真尝试,Solana 的秘密武器被称为历史证明 (PoH)账本,PoH 的想法是创建一个全局时间概念(一个全局时钟),所有交易,包括共识投票,都带有发行人附加的可靠时间戳。这些时间戳允许节点在不等待每个区块上彼此同步的情况下取得进展。Solana 通过优化其执行环境来并行处理tx,而不是像EVM 那样一次处理一笔tx,从而实现更好的扩容。
尽管 Solana 实现了吞吐量增益,但在很大程度上,它仍然归功于更密集的硬件和网络带宽使用。虽然这降低了用户的费用,但它将节点操作限制在有限的数据中心。这与以太坊形成了对比,以太坊虽然由于高昂的费用而无法为许多人所使用,但最终由其活动用户管理,这些用户可以在家中运行节点。
单片区块链如何会失败?
单片区块链的可扩展性,最终会受到单个强大节点可处理能力的限制。不管人们对去中心化的主观看法如何,在将治理权限制在相对较少的行动者手中之前,只能大力推动这种容量。相比之下,模块化链在不同节点之间拆分总工作量,因此可产生比任何单个节点可以处理的总吞吐量更多的吞吐量。
至关重要的是,去中心化只是模块化图片的二分之一。与去中心化一样重要的是模块化背后的另一个动机,即有效的资源定价(即费用)。在单片链中,所有tx都争夺相同的区块空间并消耗相同的资源。因此,在区块链拥堵的情况下,市场对单个应用的超额需求会对链上的所有应用产生不利影响,因为每个人的费用都在上涨。自从 CryptoKitties 在 2017 年造成以太坊网络拥堵之后,这个问题一直就存在着。重要的是,额外的吞吐量从来没有真正解决过问题,而是推迟了它。互联网的历史告诉了我们,每增加一次容量都会为新的、不可行的应用腾出空间,而这些应用往往会迅速消耗刚刚增加的额外容量。
最后,单片链根本无法针对具有不同优先级的、截然不同的应用进行自我优化。以 Solana 为例,Kin 和 Serum DEX 就是一个例子。Solana 的低延迟适用于像 Serum DEX 这样的应用,然而,维持这样的延迟也需要限制状态增长,这是通过为每个账户收取状态租金来强制执行的。反过来,这对像 Kin 这样的账户密集型应用会产生不利影响,这些应用程序由于高昂的费用而无法向大众提供 Solana 的吞吐量。
展望未来,期望单一资源池能够可靠地支持各种crypto应用(从Metaverse、游戏到DeFi和支付)是天真的。虽然增加完全可组合链的吞吐能力很有用,但我们需要更广泛的设计空间和更好的资源定价以供主流采用。这就是模块化方法发挥作用的地方。
区块链的演进
在扩容的神圣使命中,我们见证了从“可组合性”到“模块化”的趋势转变。首先,我们要定义这些术语:可组合性是指应用程序以最小化摩擦的方式相互无缝交互的能力,而模块化是将系统分解为多个单独部件(模块)的工具,这些部件(模块)可以随意剥离和重新组装。
以太坊Rollup、ETH 2.0分片、Cosmos Zone、波卡平行链、雪崩Subnet、Near的Chunk以及Algorand的副链都可以被视为模块。每个模块在各自的生态系统中处理总工作负载的一个子集,同时保持跨通信的能力。当我们深入研究这些生态系统时,我们会注意到,模块化设计因其跨模块实现安全性的方式而大不相同。
Avalanche(雪崩)、Cosmos和Algorand等多链hub最适合独立安全模块,而以太坊、波卡(Polkadot)、Near和Celestia(一种相对较新的L1设计)则设想了最终共享或继承彼此安全性的模块。
多链/多网络Hub
最简单的模块化设计称为互操作性Hub,这是指通过标准协议相互通信的多条链/网络。Hub提供了更广阔的设计空间,因此它们可以在许多不同层面定制特定于应用的区块链,这包括虚拟机(VM)、节点需求、费用模型以及治理。应用链的灵活性是通用链上的智能合约无法比拟的,让我们简要回顾一些例子:
Terra 为价值超过80亿美元的去中心化稳定币提供了支持,它有一个特殊的费用和通胀模型,Terra针对其稳定币的采用和稳定性进行了优化。
目前IBC处理量最大的跨链DEX Osmosis,其对tx进行了加密,直到它们最终确定以防止front-running抢先交易。
Algorand 和 Avalanche 旨在在自定义网络上托管企业用例。从政府机构运营的CBDC到由游戏公司委员会运营的游戏网络,这些都是可行的。重要的是,这种网络的吞吐量可通过更强大的机器来提高,而不会影响其他网络/链的去中心化水平。
Hub还提供了可扩展性优势,因为它们可以更有效地使用资源。以雪崩Avalanche为例,C-Chain 用于兼容 EVM 的智能合约,而X-Chain 用于 P2P 支付。因为支付通常可以相互独立(Bob 支付 Charlie 不依赖于 Alice 支付 Dana),X-Chain 可以并发处理某些tx。通过核心实用程序分离VM,雪崩Avalanche可以处理更多的tx。
这些生态系统还可以通过根本性创新进行垂直扩展。Avalanche 和 Algorand 在这里尤其突出,因为它们通过减少共识的通信开销实现了更好的扩容,Avalanche 通过“二次抽样投票”过程来实现这一点,而Algorand 使用廉价的 VRF 节点来随机选择一个唯一的委员会来就每个区块达成共识。
以上,我们列出了hub方式的优势。然而,这种方法也遇到了一些关键的限制。而最明显的限制,就是区块链需要引导自己的安全性,因为它们无法共享或继承彼此的安全性。众所周知,任何安全的跨链通信都需要受信任的第三方或同步假设。在hub方式的情况下,受信任的第三方成为交易对手链的主要验证者。
例如,通过 IBC 从一条链连接到另一条链的代币,总是可以被恶意的大多数源链验证者赎回(窃取)。在今天只有少数链共存的情况下,这种多数信任假设可能会很好地工作,然而,在可能存在链/网络长尾的未来,期望这些链/网络信任彼此的验证者以进行通信或共享流动性,远非是理想的。这将我们带到提供跨链通信的rollup和分片,并提供超越多数信任假设的更强保证。
(虽然 Cosmos 将引入跨Zone共享质押,并且Avalanche 可以让多条链通过同一网络进行验证,但这些解决方案的可扩展性较差,因为它们对验证者提出了更高的要求。实际上,它们很可能被大多数活跃的链采用,而不是长尾链)
数据可用性(DA)
经过多年的研究,人们普遍认为所有安全共享工作都归结为一个非常微妙的问题,称为数据可用性(DA),要理解其中的原因,我们需要快速了解一下节点在典型区块链中的运行方式。
在典型的区块链(以太坊)中,全节点下载并验证所有的tx,而轻节点只检查区块头(多数验证者提交的区块摘要)。因此,虽然全节点可以独立检测和拒绝无效交易(例如无限印代币),但轻节点将大多数人提交的任何内容视为有效tx。
为了改进这一点,理想情况下,任何单个全节点都可以通过发布小的证明来保护所有轻节点。在这样的设计下,轻节点可以像全节点一样以类似的安全保证运行,而无需花费尽可能多的资源。但是,这引入了一个称为数据可用性(DA)的新问题。
如果恶意验证者发布了一个区块header,但扣留了区块中的部分或全部交易,则全节点将无法判断该区块是否有效,因为丢失的交易可能无效或导致双花。如果没有这些知识,全节点就无法生成无效欺诈证明来保护轻节点。总之,首先要使保护机制发挥作用,轻节点必须确保验证者已提供所有交易的完整列表。
DA 问题是模块化设计中不可或缺的一部分,在涉及跨链通信时,它将超越多数信任假设。在L2中,rollup之所以特别,是因为它们不想回避这个问题。