Arbitrum:基本特征、技术细节和与以太坊的区别
Arbitrum作为以太坊的一个扩展解决方案,已经持续获得牵引力,其开发者正在积极努力解决这些问题,并改善网络的性能和可用性。
原文标题:Arbitrum: Basic Features, Technical Details and Differences fromEthereum
原文作者:Officer's Blog
原文来源:Mirror
编译:Lynn,MarsBit
我们继续系列教育文章,今天我们将看看在Arbitrum区块链上审计智能合约的一些专业技巧。
在这篇文章中,我们将只关注那些对审计**Arbitrrum**的项目真正有用的方面!
你在下面看到的一切,都是基于我们的个人经验!
而今天,亲爱的读者们,它将被提供给你们!我们也鼓励你阅读我们之前的文章,其中包含了大量审计师和开发人员的有用建议:
Auditing Projects on the NEAR Blockchain: A-Z
首先,我们要向Arbitrum及其生态系统项目的创建者、支持它的每一个人、所有资源材料的作者,当然还有我们杰出的审计师,他们帮助我们揭示了急需的信息并揭开了保密的帷幕,表示诚挚的谢意!
我们可以自信地说,这种技巧可以在少数地方公开阅读,我们的博客就是其中之一。以下将是我们的观察——只为审计人员提供干货,技巧和我们最好的审计人员分享的最佳生活窍门。
**让我们开始吧!**顺便说一下,现在有一些空缺的名额,所以如果你的项目需要审计——请随时写信给我们,访问我们的公开报告页面这里。
I - Arbitrum的简介
从本质上讲,Arbitrum是以太坊主网之上的Layer 2网络,具有更快和更便宜的交易。它是由Offchain Labs创建的。该公司在2021年9月的B轮融资中筹集了1.2亿美元。
以下是一些统计数字:
- Arbitrum平均区块时间: ~0.26秒;
- 以太坊平均区块时间: ~12.1秒;.
- Arbitrum的平均交易成本:0.2-0.3美元。
以太坊虚拟机(EVM)也由Arbitrum支持,允许Ethereum DeFi开发者将他们的去中心化应用程序(dapp)与Arbitrum集成,几乎不需要修改!
请回顾一下我们团队推荐的以下框架,以便更好地理解我们接下来要讨论的内容,并更清楚地区分L2和L1:
Evaluating Ethereum L2 Scaling Solutions: A Comparison Framework
我们来分析一下为什么Arbitrrum能取得这样的结果!
Optimistic Rollup
Arbitrum依赖于Optimistic Rollup技术(用于扩展Ethereum)。来自L2(Arbitrum)的交易捆绑在一起,形成一个批次,发送到L1(Ethereum),然后由验证者批准。
批量发送和验证的设计使以太坊节点不会像L1那样执行每一个L2的交易,所以吞吐量要高得多,交易也比较便宜。
目前,Arbitrum和Optimism都有一个中心化的排序器,负责对其收到的所有交易进行排序,并被认为以先到先得的方式诚实地工作。有了它,就有计划用白名单或社区投票的L2节点来分散排序的作用:
Time boost: a new transaction ordering policy for Arbitrum
关于【Arbitrum:基本特征、技术细节和与以太坊的区别】的延伸阅读
Arbitrum Stylus:突破EVM限制,向生态引入海量成熟开发者
Arbitrum即将推出Stylus升级,允许开发者使用Rust、C和C++等其他语言编程,并与EVM语言兼容。这将解决EVM语言的局限性,提高计算效率,降低内存和交易成本,吸引更多开发者构建应用。Stylus拥有两个虚拟机,可以相互协同工作,支持更多编程语言。首次部署将得到Arbitrum基金会的资助。
重新认识 Arbitrum Stylus:桥接开发者涌入 Web3 的「摆渡船」?
Stylus是Arbitrum推出的重要产品,降低了开发门槛,支持多种编程语言,提高执行效率。它还具备Nitro抗欺诈证明技术,可验证WASM程序的准确性。Stylus已上线测试网,未来3-5个月将上线主网,对Arbitrum发展有巨大帮助。
客户端软件可以使用标准的以太坊API,对Arbitrum节点进行远程程序调用(RPC),与Arbitrum链进行交互。
节点将把你的交易转发给Arbitrum 排序器,它将报告交易结果,就像以太坊节点那样——但速度更快,通常在一秒钟左右。
Arbitrum中的gas
Arbitrum中每笔交易的gas量由两部分组成:
L1 gas:
- 支付给覆盖L1上的未来批次。它是佣金的大部分,取决于交易的calldata大小和L1的calldata值。
- 在交易的时候,你只能估计它与未来批次的大小的大致比例。换句话说,L1组件是为了补偿序列器在L1上发布交易的成本(但不超过)。(见L1定价)。
- 除了目前主网支持的三种交易类型,Arbitrum还增加了下面列出的额外类型,在此详细记录。
L2 gas:
- 工作原理类似于以太坊主网的佣金——它是L2的交易执行费。L2部分涵盖了L2链的运营成本;它使用Geth进行gas计算,因此与L1以太坊的行为几乎相同。
- 一个区别是,与以太坊不同的是,Arbitrum链执行一个gas价格底线,目前在Arbitrum One上是0.1gwei,在Nova上是0.01gwei(见gas)。L2 gas价格会根据链上的拥堵情况进行调整,就像EIP 1559一样。参见2-D费用以了解更多关于此主题的信息!
Arbitrum: A beginner's guide to the next-generation layer 2 for Ethereum
II - 与Ethereum的区别
因为审计师在审计Arbitrum上的项目时可能遇到的主要障碍是逻辑上的,所以任何公司的第一个建议将是在有能力的开发,这导致坚实的文件和可靠的测试。
它听起来简单得不能再简单,但要确信它是有效的,它只会随着时间的推移而证明自己!
Auditing Projects on the NEAR Blockchain: A-Z
检查清单和提示
我们不会在这篇文章中详细介绍,因为我们假设你,亲爱的读者,已经对Arbitrum生态系统有了充分的了解,所以我们强烈建议你访问他们的知识库并研究项目文档以获得更好的理解:
- 在Arbitrum网络中,block.number将返回排序器收到L2事务时L1中的大致数字。要获得L2区块编号(L2有自己的区块编号),你需要使用ArbSys.arbBlockNumber()
- block.timestamp的行为与L1相似,但L2中两个不同的块可以有相同的block.timestamp,与L1不同。详情请见块编号和时间。
- 由于PUSH0操作码尚未被支持,当使用0.8.20编译器及以上版本时,你需要使用比上海更新更低块的EVM版本。从0.8.19及以下的编译器是完全支持的。
- Arbitrum链包括一些以太坊上没有的特殊预编译;见常见预编译/所有预编译。特别值得注意的是ArbAddressTable,它允许合约将地址映射为整数,为预期作为参数重复使用的地址保存calldata/费用;参见Arb Address Table教程的使用实例。
- 你可以在Arbitrum上部署Solidity合约,就像你在Ethereum上部署一样;在行为上只有一些小的区别。详情请见 Solidity Support。
- 检查: 主网交易收据字段,L1到L2信息传递,主网块字段。
- Arbitrum的L2区块散列不应作为随机性的安全来源加以依赖(见'blockhash(x); 也可以看看这个资源&——倾向于使用Chainlink!
...还有其他一些微小的差异!我们将在随后的文章中提供更多细节,但现在,让我们继续进行初步评估。
Arbitrum的主要问题
Arbitrum的主要问题之一是当用户从Arbitrum网络提取资金到Ethereum主网时,其gas成本很高。
这些gas费用是由于Arbitrum使用了一个rollup架构,这需要用户支付gas费用,以便在Arbitrum网络和以太坊主网之间转移资产。
Ethereum scalability problem, what is the difference between Arb…
Arbitrum面临的另一个挑战是网络拥堵,这导致了交易处理时间的延迟和更高的gas费用。这个问题不是Arbitrum独有的,因为它是许多依靠以太坊网络运作的Layer 2扩展解决方案的常见问题。
由于Arbitrum的系统目前是由一个中心化的开发者团队运行的,所以也有一些人对其中心化感到担忧。尽管这本身不一定是个问题,但有些人担心可能会出现审查制度或其他类型的网络控制。
尽管有这些挑战,Arbitrum作为以太坊的一个扩展解决方案,已经持续获得牵引力,其开发者正在积极努力解决这些问题,并改善网络的性能和可用性!
III - 资源和工具
主要资源:
- Bridging and Finality: Optimism and Arbitrum
- developer.arbitrum.io
- Arbitrum CLI Tools
- How to deploy a smart contract on Arbitrum
研究:
- Arbitrum: Scalable, private smart contracts
- Building Scalable Decentralized Payment Systems
- Agatha: Smart Contract for DNN Computation
- Lissy: Experimenting with on-chain order books
外部:
- Arbitrum: Quick Dev Notes
- Ethereum scalability problem, what is the difference between Arbitrum and Optimism and why you should pay attention to zk rollups
- Arbitrum’s problems
- Arbitrum Nova
MEV:
Arbitrum上没有mempool(请记住中心化的排序器),所以没有什么可以前置的,但在我们看来,这并不否定MEV在这里存在的可能性!
- Arbitrum Possible Frontrun Infos — MEV data
- Arbitrum, MEV, Issues
- L2 MEV Breakdown
- MEV.wiki: Arbitrum offchain-labs
免责声明:本文仅代表作者个人观点,不代表链观CHAINLOOK立场,不承担法律责任。文章及观点也不构成投资意见。请用户理性看待市场风险,以及遵守所在国家和地区的相关法律法规。
图文来源:Officer's Blog,如有侵权请联系删除。转载或引用请注明文章出处!