作者:CanGurel
编译:洒脱喜,DeFi之道
报告要点:
单片链受限于单个节点可处理的内容,而模块化生态则越过了这一限制,提供了一种更可持续的扩容形式;
模块化背后的一个关键动机是有效的资源定价。模块化链可通过将应用程序分成不同的资源池来提供更可预测的费用;
然而,模块化引入了一种新的称为数据可用性的问题,我们可以通过多种方式解决该问题。例如,Rollup可以批量处理链下数据,并将其提交到链上,通过在链上提供“数据可用”,它们克服了这个问题,并继承了基础层的底层安全性,建立了去信任的L1<>L2通信;
最新形式的模块化链,称为专用数据可用性层,其旨在用作Rollup的共享安全层。鉴于DA链具有可扩展性优势,其有可能成为区块链扩容的终局,而Celestia是这方面的先驱项目。
ZK-Rollups可提供比OptimisticRollups更多的可扩展性,我们已经在实践中观察到了。例如,dYdX的吞吐量大约是Optimism的10倍,同时消耗的L1空间仅仅是后者的1/5。
链上活动正在以极快的速度在发展,而随之而来的是用户对区块空间的需求。
从本质上讲,这是一场可扩展性战争,这涉及到了平行链、侧链、跨链桥、zone、分片、rollup、数据可用性等技术术语。在这篇文章中,我们尝试消除这种噪音,并详细阐述这场可扩展性战争。所以,在你系好安全带之前,请先喝杯咖啡或茶,因为这将是一段漫长的旅程。
寻求可扩展性
自从Vitalik提出著名的可扩展性三难困境以来,加密社区便一直存在着一种误解,即认为三难困境是一成不变的,一切都必须权衡取舍。虽然这在大多数情况下是正确的,但我们时不时会看到三难困境的界限被拉升了。
当我们浏览不同的设计时,我们会重点介绍其中的一些示例。但在我们开始之前,定义可扩展性的含义是很重要的。简而言之,可扩展性是在不增加验证成本的情况下处理更多交易的能力。考虑到这一点,让我们来看看当前各大区块链的tps数据。在这篇文章中,我们将解释实现这些不同吞吐量水平的设计属性。重要的是,下面显示的数字并不是它们能够达到的最高水平,而是这些协议历史使用情况的实际值。
安全公司:Punk Protocol被黑因其CompoundModel的Initialize函数未做重复初始化检查:据慢雾区消息,去中心化年金协议 Punk Protocol 在公平启动的过程中遭遇攻击,慢雾安全团队以简讯形式将攻击原理分享如下:
1.攻击者调用CompoundModel合约的Initialize函数进行重复初始化操作,将合约Forge角色设置为攻击者指定的地址。
2.随后攻击者为了最大程度的将合约中资金取出,其调用了invest函数将合约中的资金抵押至Compound中,以取得抵押凭证cToken。
3.最后攻击者直接调用withdrawToForge函数将合约中的cToken转回Compound获取到对应的底层资产并最终将其转给Forge角色。
4.withdrawToForge函数被限制只有Forge角色可以调用,但Forge角色已被重复初始化为攻击者指定的地址,因此最终合约管理的资产都被转移至攻击者指定的地址。总结:本次攻击的根本原因在于其CompoundModel的Initialize函数未做重复初始化检查,导致攻击者直接调用此函数进行重复初始化替换Forge角色,最终造成合约管理的资产被盗。
总结:本次攻击的根本原因在于其 CompoundModel 的 Initialize 函数未做重复初始化检查,导致攻击者直接调用此函数进行重复初始化替换 Forge 角色,最终造成合约管理的资产被盗。[2021/8/12 1:51:06]
单片链VS模块化链
单片区块链
首先,让我们来看单片链,在这个阵营中,PolygonPoS和BSC并不符合我们的可扩展性定义,因为它们只是通过更大的区块来增加吞吐量。虽然这种权衡有其市场契合度,但它们并不是长期解决方案,因此并没有那么引入注目。而Polygon认识到了这一点,并正在转向以rollup为中心的更可持续的解决方案。
Portbase已完成与区块链集装箱物流平台TradeLens的第一阶段集成:荷兰阿姆斯特丹港口及鹿特丹港口负责管理港口数字基础设施的子公司Portbase已完成与TradeLens的第一阶段集成,后者是由马士基(Maersk)和IBM共同开发的一个基于区块链的数字集装箱物流平台。(Offshore Energy)[2020/9/1]
另一方面,Solana是对完全可组合的单片区块链边界的一次认真尝试,Solana的秘密武器被称为历史证明(PoH)账本,PoH的想法是创建一个全局时间概念,所有交易,包括共识投票,都带有发行人附加的可靠时间戳。这些时间戳允许节点在不等待每个区块上彼此同步的情况下取得进展。Solana通过优化其执行环境来并行处理tx,而不是像EVM那样一次处理一笔tx,从而实现更好的扩容。
尽管Solana实现了吞吐量增益,但在很大程度上,它仍然归功于更密集的硬件和网络带宽使用。虽然这降低了用户的费用,但它将节点操作限制在有限的数据中心。这与以太坊形成了对比,以太坊虽然由于高昂的费用而无法为许多人所使用,但最终由其活动用户管理,这些用户可以在家中运行节点。
单片区块链如何会失败?
单片区块链的可扩展性,最终会受到单个强大节点可处理能力的限制。不管人们对去中心化的主观看法如何,在将治理权限制在相对较少的行动者手中之前,只能大力推动这种容量。相比之下,模块化链在不同节点之间拆分总工作量,因此可产生比任何单个节点可以处理的总吞吐量更多的吞吐量。
至关重要的是,去中心化只是模块化图片的二分之一。与去中心化一样重要的是模块化背后的另一个动机,即有效的资源定价。在单片链中,所有tx都争夺相同的区块空间并消耗相同的资源。因此,在区块链拥堵的情况下,市场对单个应用的超额需求会对链上的所有应用产生不利影响,因为每个人的费用都在上涨。自从CryptoKitties在2017年造成以太坊网络拥堵之后,这个问题一直就存在着。重要的是,额外的吞吐量从来没有真正解决过问题,而是推迟了它。互联网的历史告诉了我们,每增加一次容量都会为新的、不可行的应用腾出空间,而这些应用往往会迅速消耗刚刚增加的额外容量。
声音 | Delphi Digital联合创始人:2020年将看到Layer 1智能合约平台之战的大幅增长:在The Breakdown年终采访中,Delphi Digital联合创始人、Chain Reaction播客主持人Tom Shaughnessy预测,2020年我们将看到第一层(Layer 1)智能合约平台之战的大幅增长,以及通证经济设计重要性的增长。与此同时,Scalar Capital总经理Jordan Clifford认为,加密行业可能会重新转向应用层的开发。(CoinDesk)[2020/1/1]
最后,单片链根本无法针对具有不同优先级的、截然不同的应用进行自我优化。以Solana为例,Kin和SerumDEX就是一个例子。Solana的低延迟适用于像SerumDEX这样的应用,然而,维持这样的延迟也需要限制状态增长,这是通过为每个账户收取状态租金来强制执行的。反过来,这对像Kin这样的账户密集型应用会产生不利影响,这些应用程序由于高昂的费用而无法向大众提供Solana的吞吐量。
展望未来,期望单一资源池能够可靠地支持各种crypto应用是天真的。虽然增加完全可组合链的吞吐能力很有用,但我们需要更广泛的设计空间和更好的资源定价以供主流采用。这就是模块化方法发挥作用的地方。
区块链的演进
在扩容的神圣使命中,我们见证了从“可组合性”到“模块化”的趋势转变。首先,我们要定义这些术语:可组合性是指应用程序以最小化摩擦的方式相互无缝交互的能力,而模块化是将系统分解为多个单独部件的工具,这些部件可以随意剥离和重新组装。
以太坊Rollup、ETH2.0分片、CosmosZone、波卡平行链、雪崩Subnet、Near的Chunk以及Algorand的副链都可以被视为模块。每个模块在各自的生态系统中处理总工作负载的一个子集,同时保持跨通信的能力。当我们深入研究这些生态系统时,我们会注意到,模块化设计因其跨模块实现安全性的方式而大不相同。
动态 | Trezor Model T钱包已支持XRP:据bitcoinexchangeguide报道,Trezor今日在其博客上宣布了一项新的更新,其Trezor One钱包将很快进行两次固件更新,这将改善产品的安全性和功能。此外,Trezor Model T钱包现可存储XRP,这是一项用户等待很长时间的功能。[2019/3/7]
Avalanche、Cosmos和Algorand等多链hub最适合独立安全模块,而以太坊、波卡、Near和Celestia则设想了最终共享或继承彼此安全性的模块。
多链/多网络Hub
最简单的模块化设计称为互操作性Hub,这是指通过标准协议相互通信的多条链/网络。Hub提供了更广阔的设计空间,因此它们可以在许多不同层面定制特定于应用的区块链,这包括虚拟机、节点需求、费用模型以及治理。应用链的灵活性是通用链上的智能合约无法比拟的,让我们简要回顾一些例子:
Terra为价值超过80亿美元的去中心化稳定币提供了支持,它有一个特殊的费用和通胀模型,Terra针对其稳定币的采用和稳定性进行了优化。
目前IBC处理量最大的跨链DEXOsmosis,其对tx进行了加密,直到它们最终确定以防止front-running抢先交易。
Algorand和Avalanche旨在在自定义网络上托管企业用例。从政府机构运营的CBDC到由游戏公司委员会运营的游戏网络,这些都是可行的。重要的是,这种网络的吞吐量可通过更强大的机器来提高,而不会影响其他网络/链的去中心化水平。
Hub还提供了可扩展性优势,因为它们可以更有效地使用资源。以雪崩Avalanche为例,C-Chain用于兼容EVM的智能合约,而X-Chain用于P2P支付。因为支付通常可以相互独立,X-Chain可以并发处理某些tx。通过核心实用程序分离VM,雪崩Avalanche可以处理更多的tx。
这些生态系统还可以通过根本性创新进行垂直扩展。Avalanche和Algorand在这里尤其突出,因为它们通过减少共识的通信开销实现了更好的扩容,Avalanche通过“二次抽样投票”过程来实现这一点,而Algorand使用廉价的VRF节点来随机选择一个唯一的委员会来就每个区块达成共识。
金色晨讯 | 纽约颁发比特币ATM运营许可证 Tether确认在Deltec银行开设账户:1.资产管理公司贝莱德CEO表示或在合法后推出加密货币ETF。
2.Tether确认在Deltec银行开设账户。
3.微软、英特尔均已推出基于硬件的以太坊扩展工具。
4.日本金融厅(FSA)考虑对ICO采取更严格的管制。
5.挪威税务当局表示,将数字货币矿商将不享受电费减免计划。
6.纽约颁发首个比特币ATM运营许可证。
7.加拿大安大略省证券委员会今天启动两项加密资产教育计划。
8.马耳他三条分布式账本技术法律昨日正式生效。
9.纳斯达克称其市场监管技术可以消除加密市场操纵。[2018/11/2]
以上,我们列出了hub方式的优势。然而,这种方法也遇到了一些关键的限制。而最明显的限制,就是区块链需要引导自己的安全性,因为它们无法共享或继承彼此的安全性。众所周知,任何安全的跨链通信都需要受信任的第三方或同步假设。在hub方式的情况下,受信任的第三方成为交易对手链的主要验证者。
例如,通过IBC从一条链连接到另一条链的代币,总是可以被恶意的大多数源链验证者赎回。在今天只有少数链共存的情况下,这种多数信任假设可能会很好地工作,然而,在可能存在链/网络长尾的未来,期望这些链/网络信任彼此的验证者以进行通信或共享流动性,远非是理想的。这将我们带到提供跨链通信的rollup和分片,并提供超越多数信任假设的更强保证。
数据可用性
经过多年的研究,人们普遍认为所有安全共享工作都归结为一个非常微妙的问题,称为数据可用性,要理解其中的原因,我们需要快速了解一下节点在典型区块链中的运行方式。
在典型的区块链中,全节点下载并验证所有的tx,而轻节点只检查区块头。因此,虽然全节点可以独立检测和拒绝无效交易,但轻节点将大多数人提交的任何内容视为有效tx。
为了改进这一点,理想情况下,任何单个全节点都可以通过发布小的证明来保护所有轻节点。在这样的设计下,轻节点可以像全节点一样以类似的安全保证运行,而无需花费尽可能多的资源。但是,这引入了一个称为数据可用性的新问题。
如果恶意验证者发布了一个区块header,但扣留了区块中的部分或全部交易,则全节点将无法判断该区块是否有效,因为丢失的交易可能无效或导致双花。如果没有这些知识,全节点就无法生成无效欺诈证明来保护轻节点。总之,首先要使保护机制发挥作用,轻节点必须确保验证者已提供所有交易的完整列表。
DA问题是模块化设计中不可或缺的一部分,在涉及跨链通信时,它将超越多数信任假设。在L2中,rollup之所以特别,是因为它们不想回避这个问题。
Rollup
在rollup的环境中,我们可以将主链视为rollup(Arbitrum)的轻节点,Rollup在L1上发布其所有的交易数据,以便任何愿意将资源放在一起的L1节点都可以执行它们,并从头开始构建rollup状态。有了完整的状态,任何人都可以将rollup转换为新状态,并通过发布有效性或欺诈证明来证明转换的有效性。在主链上拥有可用数据,允许rollup在可忽略的单一诚实节点假设下运行,而不是在诚实多数的情况下进行。
考虑以下内容以了解rollup如何通过此设计实现更好的可扩展性:
由于具有当前rollup状态的任何单个节点,都可以保护没有该状态的所有其他节点,因此rollup节点的中心化风险较小,因此可以合理地使rollup区块更大。
即使所有L1节点都下载与其交易相关的rollup数据,但只有一小部分节点执行这些tx并构建rollup状态,从而减少了整体的资源消耗。
rollup数据在发布到L1之前,使用了巧妙的技术进行了压缩。
与应用链类似,rollup可以针对特定用例定制他们的VM,这意味着更有效地使用资源。
截至目前,我们都知道有两大类的rollup:Optimisticrollup和ZK-rollup,从可扩展性的角度来看,ZK-rollup比Optimisticrollup更有优势,因为它们以更有效的方式压缩数据,从而在某些用例中实现了更低的L1占用空间。这种细微差别已经在实践中可以观察到了。Optimism将数据发布到L1以反映每笔tx,而dYdX将数据发布以反映每个账户余额。因此,dYdX的L1占用空间是Optimism的1/5,并且估计处理的吞吐量大约是10倍的差距。这种优势自然会转化成ZK-rollup二层网络拥有较低的费用。
与Optimisticrollup上的欺诈证明不同,来自ZK-rollup的有效性证明还支持一种新的可扩展性解决方案,称为volition。尽管volition的全部影响还有待观察,但它们似乎非常有希望,因为它让用户可以自由决定是在链上还是在链下发布数据。这允许用户根据其交易的类型决定它们的安全级别。zkSync和Starkware都将在接下来的几周/几个月内推出volition方案。
尽管rollup应用了巧妙的技术来压缩数据,所有数据仍必须发布到所有L1节点。因此,rollup只能提供线性扩展性收益,并且在降低费用方面会受到限制,它们还会受到以太坊gas价格波动的高度影响。为了可持续扩展,以太坊需要扩展其数据容量,这解释了以太坊分片的必要性。
分片和数据可用性证明
分片进一步放宽了所有主链节点下载所有数据的要求,而是利用一种称为DA证明的新原语来实现更高的可扩展性。使用DA证明,每个节点只需下载一小部分分片链数据,知道其中的一小部分就可以共同重建所有分片链区块。这实现了跨分片的共享安全性,因为它确保任何单个分片链节点都可以提出争议,由所有节点按需解决。Polkadot和Near已经在他们的分片设计中实现了DA证明,这也将被ETH2.0所采用。
在这一点上,值得一提的是,ETH2.0的分片路线图与其他路线图有什么不同。尽管以太坊的最初路线图是像Polkadot一样,但它最近似乎转向了仅分片数据。换句话说,以太坊上的分片将作为rollup的DA层。这意味着以太坊将像今天一样继续保持单一状态。相比之下,Polkadot在每个分片具有不同状态的基础层上执行所有执行。
将分片作为纯数据层的一个主要优点是,rollup可以灵活地将数据转储到多个分片上,同时保持完全可组合。因此,rollup的吞吐量和费用不受单个分片的数据容量的限制。有了64个分片,rollup的最大总吞吐量预计将从5KTPS增加到10万TPS。相比之下,无论波卡整体产生多少吞吐量,费用都会受到单个平行链的有限吞吐量的约束。
专用的DA层
专用的DA层是模块化区块链设计的最新形式。它们使用了ETH2.0DA层的基本思想,但将其引导到不同的方向。这方面的开创性项目是Celestia,但诸如PolygonAvail等较新的解决方案,也在朝着这个方向发展。
与ETH2.0的DA分片类似,Celestia充当了基础层,其他链可以插入以继承安全性。Celestia的解决方案在两个基本方面与以太坊不同:
它不会在基础层执行任何有意义的状态执行。这使rollup免于高度不可靠的基础层费用,在有状态的环境中,这些费用可能会因为代币销售、NFT空投或高收益农耕机会的出现而飙升。Rollup消耗相同的资源以用于安全性,并且仅用于安全性。这种效率允许rollup费用主要与该特定rollup而不是基础层的使用相关联。
由于DA证明,Celestia可以在不分片的情况下增加其DA吞吐量。DA证明的一个关键特性是,随着更多节点参与采样,就可以存储更多数据。在Celestia的例子中,这意味着随着更多的轻节点参与DA采样,区块可以变得更大。
与所有设计一样,专用的DA层也有一些缺点。一个直接的缺点是缺少默认的结算层。因此,为了彼此共享资产,rollup必须实施方法来解释彼此的欺诈证明。
总结
我们评估了不同的区块链设计,包括单片链、多链hub、rollup、分片链以及专用的DA层。鉴于多链hub相对简单的基础设施、更广泛的设计空间以及横向扩展的能力,我们认为多链hub最适合解决区块链行业的紧迫需求。而从长远来看,考虑到资源效率和独特的可扩展性,专用的DA层很可能会成为扩容的终局。
?
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。