原文标题:《Modular Blockchain Ecosystem Overview》
撰文:Kadeem Clarke
编译:深潮 TechFlow
区块链一直在发展,每次迭代都试图解决区块链去中心化、可扩展性和安全性的三难困境。比特币、以太坊和 Solana 等区块链具有单体结构和四个主要功能:数据可用性、共识、结算和执行。
由于这些功能争夺相同的资源,单体区块链将不可避免地遇到以下可扩展性问题。
像 Celestia、Dymension 和 Fuel 这样的模块化区块链解决方案给开发者提供了广泛的选择,不仅可以扩展区块链,还可以实现跨链互操作。
Beosin:SEAMAN合约遭受漏洞攻击简析:金色财经报道,根据区块链安全审计公司Beosin旗下Beosin EagleEye 安全风险监控、预警与阻断平台监测显示,2022年11月29日,SEAMAN合约遭受漏洞攻击。Beosin分析发现是由于SEAMAN合约在每次transfer函数时,都会将SEAMAN代币兑换为凭证代币GVC,而SEAMAN代币和GVC代币分别处于两个交易对,导致攻击者可以利用该函数影响其中一个代币的价格。
攻击者首先通过50万BUSD兑换为GVC代币,接下来攻击者调用SEAMAN合约的transfer函数并转入最小单位的SEAMAN代币,此时会触发合约将能使用的SEAMAN代币兑换为GVC,兑换过程是合约在BUSD-SEAMAN交易对中将SEAMAN代币兑换为BUSD,接下来在BUSD-GVC交易对中将BUSD兑换为GVC,攻击者通过多次调用transfer函数触发_splitlpToken()函数,并且会将GVC分发给lpUser,会消耗BUSD-GVC交易对中GVC的数量,从而抬高了该交易对中GVC的价格。最后攻击者通过之前兑换的GVC兑换了50.7万的BUSD,获利7781 BUSD。Beosin Trace追踪发现被盗金额仍在攻击者账户(0x49fac69c51a303b4597d09c18bc5e7bf38ecf89c),将持续关注资金走向。[2022/11/29 21:10:04]
构建模块化区块链的概念仍然很新,所以现在看看有哪些现有的链开始采取类似的方法将会很有趣。
Beosin:Skyward Finance项目遭受攻击事件简析:金色财经报道,根据区块链安全审计公司Beosin旗下Beosin EagleEye 安全风险监控、预警与阻断平台监测显示,Near链上的Skyward Finance项目遭受漏洞攻击,Beosin分析发现由于skyward.near合约的redeem_skyward函数没有正确校验token_account_ids参数,导致攻击者5ebc5ecca14a44175464d0e6a7d3b2a6890229cd5f19cfb29ce8b1651fd58d39传入相同的token_account_id,并多次领取了WNear奖励。本次攻击导致项目损失了约108万个Near,约320万美元。Beosin Trace追踪发现被盗金额已被攻击者转走。[2022/11/3 12:12:36]
模块化区块链的效率提高了,因为它们将验证器集中在分片上,这增加了区块链的吞吐量。
Grim Finance 被黑简析:攻击者通过闪电贷借出 WFTM 与 BTC 代币:据慢雾区情报,2021 年 12 月 19 日,Fantom 链上 Grim Finance 项目遭受攻击。慢雾安全团队进行分析后以简讯的形式分享给大家。
1. 攻击者通过闪电贷借出 WFTM 与 BTC 代币,并在 SpiritSwap 中添加流动性获得 SPIRIT-LP 流动性凭证。
2. 随后攻击者通过 Grim Finance 的 GrimBoostVault 合约中的 depositFor 函数进行流动性抵押操作,而 depositFor 允许用户指定转入的 token 并通过 safeTransferFrom 将用户指定的代币转入 GrimBoostVault 中,depositFor 会根据用户转账前后本合约与策略池预期接收代币(预期接收 want 代币,本次攻击中应为 SPIRIT-LP)的差值为用户铸造抵押凭证。
3. 但由于 depositFor 函数并未检查用户指定转入的 token 的合法性,攻击者在调用 depositFor 函数时传入了由攻击者恶意创建的代币合约地址。当 GrimBoostVault 通过 safeTransferFrom 函数调用恶意合约的 transferFrom 函数时,恶意合约再次重入调用了 depositFor 函数。攻击者进行了多次重入并在最后一次转入真正的 SPIRIT-LP 流动性凭证进行抵押,此操作确保了在重入前后 GrimBoostVault 预期接收代币的差值存在。随后 depositFor 函数根据此差值计算并为攻击者铸造对应的抵押凭证。
4. 由于攻击者对 GrimBoostVault 合约重入了多次,因此 GrimBoostVault 合约为攻击者铸造了远多于预期的抵押凭证。攻击者使用此凭证在 GrimBoostVault 合约中取出了远多于之前抵押的 SPIRIT-LP 流动性凭证。随后攻击者使用此 SPIRIT-LP 流动性凭证移除流动性获得 WFTM 与 BTC 代币并归还闪电贷完成获利。
此次攻击是由于 GrimBoostVault 合约的 depositFor 函数未对用户传入的 token 的合法性进行检查且无防重入锁,导致恶意用户可以传入恶意代币地址对 depositFor 进行重入获得远多于预期的抵押凭证。慢雾安全团队建议:对于用户传入的参数应检查其是否符合预期,对于函数中的外部调用应控制好外部调用带来的重入攻击等风险。[2021/12/19 7:49:04]
以下是模块化区块链的一些优势:
慢雾:Avalanche链上Zabu Finance被黑简析:据慢雾区情报,9月12日,Avalanche上Zabu Finance项目遭受闪电贷攻击,慢雾安全团队进行分析后以简讯的形式分享给大家参考:
1.攻击者首先创建两个攻击合约,随后通过攻击合约1在Pangolin将WAVAX兑换成SPORE代币,并将获得的SPORE代币抵押至ZABUFarm合约中,为后续获取ZABU代币奖励做准备。
2.攻击者通过攻击合约2从Pangolin闪电贷借出SPORE代币,随后开始不断的使用SPORE代币在ZABUFarm合约中进行`抵押/提现`操作。由于SPORE代币在转账过程中需要收取一定的手续费(SPORE合约收取),而ZABUFarm合约实际接收到的SPORE代币数量是小于攻击者传入的抵押数量的。分析中我们注意到ZABUFarm合约在用户抵押时会直接记录用户传入的抵押数量,而不是记录合约实际收到的代币数量,但ZABUFarm合约在用户提现时允许用户全部提取用户抵押时合约记录的抵押数量。这就导致了攻击者在抵押时ZABUFarm合约实际接收到的SPORE代币数量小于攻击者在提现时ZABUFarm合约转出给攻击者的代币数量。
3.攻击者正是利用了ZABUFarm合约与SPORE代币兼容性问题导致的记账缺陷,从而不断通过`抵押/提现`操作将ZABUFarm合约中的SPORE资金消耗至一个极低的数值。而ZABUFarm合约的抵押奖励正是通过累积的区块奖励除合约中抵押的SPORE代币总量参与计算的,因此当ZABUFarm合约中的SPORE代币总量降低到一个极低的数值时无疑会计算出一个极大的奖励数值。
4.攻击者通过先前已在ZABUFarm中有进行抵押的攻击合约1获取了大量的ZABU代币奖励,随后便对ZABU代币进行了抛售。
此次攻击是由于ZabuFinance的抵押模型与SPORE代币不兼容导致的,此类问题导致的攻击已经发生的多起,慢雾安全团队建议:项目抵押模型在对接通缩型代币时应记录用户在转账前后合约实际的代币变化,而不是依赖于用户传入的抵押代币数量。[2021/9/12 23:19:21]
主权性
Harvest.Finance被黑事件简析:10月26号,据慢雾区消息 Harvest Finance 项目遭受闪电贷攻击,损失超过 400 万美元。以下为慢雾安全团队对此事件的简要分析。
1. 攻击者通过 Tornado.cash 转入 20ETH 作为后续攻击手续费;
2. 攻击者通过 UniswapV2 闪电贷借出巨额 USDC 与 USDT;
3. 攻击者先通过 Curve 的 exchange_underlying 函数将 USDT 换成 USDC,此时 Curve yUSDC 池中的 investedUnderlyingBalance 将相对应的变小;
4. 随后攻击者通过 Harvest 的 deposit 将巨额 USDC 充值进 Vault 中,充值的同时 Harvest 的 Vault 将铸出 fUSDC,而铸出的数量计算方式如下:
amount.mul(totalSupply()).div(underlyingBalanceWithInvestment());
计算方式中的 underlyingBalanceWithInvestment 一部分取的是 Curve 中的 investedUnderlyingBalance 值,由于 Curve 中 investedUnderlyingBalance 的变化将导致 Vault 铸出更多的 fUSDC;
5. 之后再通过 Curve 把 USDC 换成 USDT 将失衡的价格拉回正常;
6. 最后只需要把 fUSDC 归还给 Vault 即可获得比充值时更多的 USDC;
7. 随后攻击者开始重复此过程持续获利;
其他攻击流程与上诉分析过程类似。参考交易哈希:0x35f8d2f572fceaac9288e5d462117850ef2694786992a8c3f6d02612277b0877。
此次攻击主要是 Harvest Finance 的 fToken(fUSDC、fUSDT...) 在铸币时采用的是 Curve y池中的报价(即使用 Curve 作为喂价来源),导致攻击者可以通过巨额兑换操控预言机的价格来控制 Harvest Finance 中 fToken 的铸币数量,从而使攻击者有利可图。[2020/10/26]
可扩展性
易于构建项目
Celestia 专注于区块链的扩展,已经筹集了 5500 万美元来资助其扩张计划。Celestia 正在创建一个独一无二的模块化区块链架构,以解决扩展和部署问题。
Celestia 的团队打算使区块链的部署对每个人都很简单。因此,Celestia 的模块化区块链架构优先考虑以下方面:
提高可扩展性
共享安全
主权问题
开发者可以选择自己的执行环境,如 Solana VM 和 EVM。Celestia 还为模块化建设者提供了一个奖学金。他们在最近的融资公告中列出了三个区块链项目作为其数据可用性层的用户:
Eclipse
Constellation
Dymension
该项目还为「模块化研究员队列」的 26 名成员提供每月 3000 美元的资助,为期三个月。曾在以太坊基金会和 Uniswap 实验室工作的 Scott Sunarto 是获奖者之一。
Celestia 仍处于开发的早期阶段。开发团队在 2021 年发布了一个 MVP 通知,并于 2021 年 11 月启动了开发网。2022 年更为重要,因为该项目已经启动了测试网并逐步构建主网。
作为 Cosmos 生态系统的一部分,这个模块化的结算层提供了启动 Enshined Rollups(纳入协议的 Rollup 逻辑),这开启了去中心化的用例。
Dymension 是一个建立在 Cosmos 上的主权 Rollup,旨在通过 Dymension Chain(结算层)、RDK(RollApp 开发工具包)和 IRC(Rollup 间通信)使 RollApp(以定制应用为重点的 RollApp)的开发变得简单。
Dymension 是为维护 Rollup 状态、验证和欺诈证明而优化的,同时只接受 Rollup 交易和基本转账。
在 Dymension 上,开发人员可以专注于业务逻辑需求,并使用 RDK 和专门的结算层快速部署特定于应用程序的 Rollup,同时受益于 IRC、共享安全性和数据可用性。
Dymension RollApps 和 Cosmos 一样,旨在创建特定应用的区块链,以减少共识开销。基于 Cosmos-SDK,RDK 增加了新的模块并修改了现有模块,以确保 RollApp 与 Dymension 协议兼容,同时与其他 Cosmos 生态系统工具兼容。RollApps 可以通过 Dymension Hub 与任何支持 IBC 的链进行通信。
Fuel 实验室正在为模块化的区块链堆栈建立一个快速执行层。Fuel 取得了显着的增长,因为这个项目以汇集了一些最优秀的工程师。
Fuel 的技术建立在三大支柱之上:
并行交易执行:Fuel 通过并行执行交易提供顶级处理能力
Fuel 虚拟机(FuelVM):FuelVM 增加了开发者的设计空间
卓越的开发人员体验(使用 Sway 和 Froc):Fuel 的特定领域语言,Sway,提供了一个独特而流程的开发者体验。Fuel 还有一个支持工具链,称为 Forc。
Fuel 旨在成为自主的驱动力。开发者可以在不使用中间商的情况下进行构建。它提供模块化和以太坊未来的替代方案。以太坊正朝着以 Rollup 为中心的方向发展。Fuel 声称它可以将执行层扩展到标准 Rollup 之外。该团队声称他们将这样做不会危及安全并且成本低廉。
因为 Fuel 是为欺诈证明而设计的,完整的节点资源要求可能比平时高,增加了带宽容量,同时允许用户通过信任最小化的轻客户端来验证链。
单体区块链允许用户将所有预期的区块链功能放在一个被称为第 1 层的单体层中。这使得区块链的创建变得困难,因为它试图在单层内同时处理所有功能。模块化区块链的不同功能在不同层之间共享,提高了可扩展性并防止网络中断。
为了启动一个新的区块链,矿工必须处理安全和去中心化问题,这可能会阻止一些人优化网络外哈希率(机会)。当矿工较少关注特定功能(例如共识)时,他们可以利用布局并更快地创建新区块链,而不管区块链架构如何。
模块化区块链的布局比单体区块链的布局要灵活得多。它的目的是为矿工提供单体区块链上所没有的功能。
随着 Layer 2 和 Rollups 的发展,以太坊的生态系统转向了模块化架构。
区块链技术大规模应用的最大障碍之一是可扩展性。
第 1 层的扩展解决方案专注于区块生产而不是区块验证。模块化区块链基础设施旨在促进具有可扩展性、安全性和去中心化特性的 Web 3 采用,并专注于易于集成、快速交付和用户体验。
深潮TechFlow
个人专栏
阅读更多
金色早8点
金色财经
去中心化金融社区
CertiK中文社区
虎嗅科技
区块律动BlockBeats
念青
Odaily星球日报
腾讯研究院
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。