灵踪安全Fairyproof2021-09-18 17:55:00
以太坊的Layer 2(第二层)扩展技术是近来的热门方向。
所谓的Layer 2扩展技术,简单地理解就是将原本在以太坊主网上执行的交易放到主网之外的系统中执行,只有一些关键的交易才由这些系统最终提交到以太坊进行最终的验证和裁决。这些主网之外的系统通常也称为“链下系统”。
有了Layer 2扩展技术以后,以太坊就可以卸下沉重的交易负担,只负责执行业务逻辑中关键的步骤,而把大量高频、琐碎的业务放到Layer 2扩展中执行。这相当于提高了以太坊对业务量的处理,提高了以太坊的性能。据理论估测,在Layer 2扩展技术的支持下,以太坊整体的TPS能够达到10万TPS甚至更高。由于Layer 2扩展最终还是要将关键的步骤放到以太坊上进行验证,因此它的安全性始终挂靠在以太坊上。所以从安全的角度看,Layer 2扩展技术又比现有的侧链方案(比如BSC等)要高。因此Layer 2扩展技术近来迎来了爆发。
在近期大热的Layer 2扩展技术方案中Arbitrum就是热门项目之一。截至写稿时为止,它的锁仓量已经达到14亿美元。然而就在其气势一路高涨时,9月14日,Arbitrum却因为内存泄露导致运作暂时停滞。
和公链项目类似,Arbitrum系统也是区块链领域的底层平台,它是用Go语言实现的。其代码文件是packages/arb-rpc-node/batcher/sequencerBatcher.go。
根据灵踪安全的漏洞检测系统显示:出现本次内存泄露问题的代码在SequencerBatcher.SendTransaction()函数中。其具体代码片段如下:
其中b.txQueue是个带缓存的channel,代码如下:
当系统处理交易时,SendTransaction()函数会将交易打包成Batch进行批处理,而不是一笔一笔地发送。具体处理流程如下:
1. 对一笔交易,首先将 txQueueItem传入b.txQueue的缓存channel中。
b.txQueue <- txQueueItem{tx: startTx, resultChan: startResultChan}
2. 然后从b.txQueue 中读取一个交易。
queueItem := <-b.txQueue
3. 判断读取的交易的字节数是否超过最大限制,如果超过最大限制。则将从txQueue中取出的交易又重新压入txQueue中。
4. 这时因为txQueue的缓存大小是10,如果同时有大量的SendTransaction()调用,则当 len(txQueue)大于10时就会造成将新交易推入txQueue时阻塞,导致SendTransaction()的goroutinue无法及时释放,最终造成内存泄漏。
对这个问题,可以在SendTransaction()中使用select default处理channel阻塞的情况。这样当系统在处理超过maxTxDataSize限制的状况重新向txQueue压入交易时,使用select default进行处理。
Arbitrum提交的修复代码如下:
实际上这是一个处理高并发状况的问题。这类问题此前在其它的区块链中都出现过,业界对此也有相应的解决方案,因此它并不是一个新问题。理论上只要审计公司在审计过程中细心审查是可以发现这类问题的。
灵踪安全认为Layer 2扩展技术当下的火热只是这一趋势的开始,未来更多项目、更大的生态还在孕育和发展中。我们在底层公链技术的积累将让我们用专业的技能和严谨的态度服务好这一前景广阔的生态。
关于灵踪安全:
灵踪安全科技有限公司是一家专注区块链生态安全的公司。灵踪安全科技主要通过“代码风险检测+逻辑风险检测“的一体化综合方案服务了诸多新兴知名项目。公司成立于2021年01月,团队由一支拥有丰富智能合约编程经验及网络安全经验的团队创建。
团队成员参与发起并提交了以太坊领域的多项标准草案,包括ERC-1646、ERC-2569、ERC-2794,其中ERC-2569 被以太坊团队正式收入。
团队参与了多项以太坊项目的发起及构建,包括区块链平台、DAO组织、链上数据存储、去中心化交易所等项目, 并参与了多个项目的安全审计工作,在此基础上基于团队丰富的经验构建了完善的漏洞追踪及安全防范系统。
作者:
灵踪安全CEO 谭粤飞
美国弗吉尼亚理工大学(Virginia Tech, Blacksburg, VA, USA) 工业工程(Industrial Engineering) 硕士(Master)。曾任美国硅谷半导体公司 AIBT Inc(San Jose, CA, USA) 软件工程师,负责底层控制系统的开发、设备制程的程序实现、算法的设计,并负责与台积电的全面技术对接和交流。自2011至今,从事嵌入式,互联网及区块链技术的研究,深圳大学创业学院《区块链概论》课程教师,中山大学区块链与智能中心客座研究员,广东省金融创新研究会常务理事 。个人拥有4项区块链相关专利、3本出版著作。
以太坊Layer 2必知必会2023-04-26 15:03:27
浅析NFT未来:仅少数项目上涨 出圈项目会成赢家2023-04-26 14:15:26
E-CNY时代来临:当你的工资成为数字人民币2023-04-26 12:43:48
浅谈为什么MEV搜索者矿池并不可行?2023-04-26 12:08:40
"庄家"互撕 曝出加密巨头拉的那些"帮派"2023-04-26 11:59:08
怎样到达Web3世界:使用Web3技术的公司及集成到业务的步骤2023-04-26 11:53:15
稳定币项目 HAI、Starknet 2023 路线图2023-04-26 11:46:35
ChatGPT类产品安全隐患解决?英伟达发布开源工具包2023-04-26 11:26:24
蚂蚁集团发布HOU、AntChainBridge、Web3开放联盟链等多个Web3产品2023-04-26 11:24:46
ChatGPT背后的算力博弈 中国企业亟待打破美国桎梏2023-04-26 10:59:28
简析DWF Labs:出手频繁 颇具争议的加密做市商2023-04-26 10:48:45
NFT 交易平台生存现状研究:后版税战争时代下的龙头之争2023-04-26 09:20:51
以太坊提款功能开启后的带宽使用情况2023-04-26 08:30:24
上海升级提款效应:数据揭示 LSD 项目们的表现2023-04-26 07:28:37
3分钟读懂基于LayerZero的多链抗MEV DEX聚合器Cashmere2023-04-25 20:05:34
对话去中心化流动性质押协议Rocket Pool:如何促进以太坊Staking民主化?2023-04-25 19:02:21
Bankless:欧美都想监管稳定币 他们怎么做?2023-04-25 17:43:44
Coinbase起诉SEC全文:请在合理时间内回应加密规则请愿书2023-04-25 16:43:34
慢雾:Web3 假钱包第三方源调查分析2023-04-25 15:43:36
Binance Sensei介绍:您的Web3 AI导师2023-04-25 13:20:55