首页 > 其他分享 >arbitrum 资产桥合约

arbitrum 资产桥合约

时间:2024-12-15 13:43:11浏览次数:9  
标签:arbitrum 资产 L2 inbox sequencer L1 合约

资产桥的作用

Rollup 的主要流程中,实际上不包含资产桥,也就是说即使没有资产桥,L2依然能正常运行但是此时L1与L2在数据上是完全独立的两条链,L1不理解L2上的数据(L1只保存L2压缩后的数据,不理解数据),L2上也不知道L1上发生了什么(只能拿到区块高度等一些基本信息)。完全可以把L2做是另外一条链。

在这种情况下如果需要做资产转移,就和普通的一层链之间的资产转移没什么区别.

而有了自己实现的资产桥就不一样,因为实际上L2的数据都是通过L1上的inbox(sequencer inbox)合约保存的,所以当我们在inbox合约中解析数据,L1上就可以看到L2上的部分数据
虽然这会增加L1上的手续费,但是这样可以降低跨链带来的安全性问题(跨链过程本质上是在L1上的inbox合约中,其他逻辑则完全嵌套在L2的主用逻辑中,也就是跨链的安全性=整个L2的安全性=aribtrum的any-trust模型)

arbitrum 的快箱&慢箱

在介绍资产桥之前,我们先来区分一下arbitrum的快箱和慢箱。

快箱 (Sequencer Inbox)

快箱是L2交易的入口(写入sequencer的交易最终会在L2上被处理,sequencer的处理实际上还没进入L2)
在Sequencer inbox中交易会迅速被validator打包(validator的打包逻辑就是在在inbox中拿数据,来打包)

慢箱(inbox)

慢箱中的交易是L1往L2上发送的交易,通过慢箱,我们可以在L1上改变L2的世界状态.

慢箱的实际价值有两个

  • L1向L2发送数据是,L2不需要验证L1的数据,L1的数据只能通过inbox进入L2,对数据的校验都发生在L1的inbox合约中

  • 抗审查,因为L2的所有交易都是由sequencer打包的,而sequencer是一个中心化的节点,sequencer可以对L2上的交易进行恶意的审查从而拒绝部分交易(sequencer 不能修改交易内容,因为他没有指定账户的私钥).此时可以通过L1上的inbox合约强行把交易写入L2(实际上最终也是写入sequencer inbox),L2的区块是validator在Rbolck中确定的(sequencer不同意也无所谓),当交易通过慢箱写入L2后,sequencer只能接受这个交易(否则会因为与L2的状态不一致导致失去部分功能)

资产桥的运作

知道慢箱的处理逻辑之后,我们可以来看看资产桥是怎么运作的.

资产桥分为两种处理逻辑,L1到L2(充值),L2到L1(提现),当然arbitrum的资产桥不只是能做资产转移的操作,实际上也可以完成calldata的跨链操作(把calldata传递到L2指定的合约)

充值过程

在讨论充值问题之前,我们需要考虑下面几个

  • ETH怎么铸造?
  • ERC20怎么处理?
  • L2上没有对应的ERC20合约怎么办?自动部署,还是交易直接失败?
  • 怎么控制L2铸造的权限,L2上的代币最终是可以提现在L1上的,如果随便铸造,跟L1对不上账怎么办?
  • 铸造的时候L2手续费暴涨,铸造失败怎么办?

arbitrum 的资产桥是典型的锁定-铸造 销毁-解锁模型,L1上锁定的代币,L2上怎么铸造.

gateway

要回答这些问题,我们先来看一下arbitrum的资产桥模型 gateway

arbitrum gateway

gateway实现了L1 <--> L2资产合约的映射(ETH也使用合约的方式来映射)

arbitrum提供来了一些标准的ERC20 template,正常情况下,如果L1上的资产合约也是标准的ERC20,那么arbitrum会自动在L2上部署一个相同的ERC20合约(可能详细功能不同,但是能实现ERC20的逻辑),而这个映射出来的ERC20 通过gateway做权限验证,也就是只有gateway合约能在这个合约中铸造和销毁,这样保证了L1和L2上的账能对的上.

插一个小知识,arbitrum链上的交易手续费是使用ETH来支付的,但arbitrum本身不产生ETH(这点我不是很确定),所以在使用arbitrum之前,需要从以太坊上冲一些ETH到arbitrum上,这个充值交易的手续费在L1上支付,注意这里不是代付,是在交易到达L2后直接在L1中的msg.value中扣除。涉及到L1 <--> L2交易一个非常麻烦的问题 -- 手续费处理。这里就不详细展开

retryable 可重试票据

可重试票据主要是用来解决L2上铸造失败的情况,L1上充值交易发送到L2上之后,可能因为L2上手续费超过 用户愿意支付的手续费阈值(在L1上发送充值交易时指定的)时可能导致交易的失败。这时候交易已经记录到L2上只是执行失败(calldata还在),用户可以在L2上手动重试,手动重试不能改变calldata,但是手续费是在重试交易中一起支付的。L1 -> L2的可重试票证只会保存7天,7天之后,资产将会永久的锁定在L1上(可以续费延期).

正常情况L1上的充值操作不需要用户去L2上触发铸造,L2会自动完成铸造.L2 -> L1就不行,必须去L1上手动提现,当然相对而言L2 -> L1的票据是永久有效的,用户不需要急着提现

ok,我们已经知道了资产桥的架构,现在来看一下充值的详细过程

充值过程,用户调用L1 inbox合约中的createRetryableTicket方法创建可重试票据,指定L2上的接受者地址,token地址,手续费等,

inbox会将L1的资产锁定的L1上对应资产的gateway合约中,并将L2上的铸造请求的ticket写入sequencer inbox合约中

L2 订阅到sequencer inbox 中的铸造请求后会找到对应的gateway合约(这部分工作是gateway router做的),铸造代币

如果L2自动铸造失败,这是用户可以在L2 上手动重试,或者在L1上完成手动重试(避免排序器审查)

提现流程

在理解充值流程后,提现就很容易理解了

提现的过程实质上是操纵gateway合约完成代币销毁,并生成票据,将票据写回到L1上

这里简单解释一下写回操作:

写回操作是通过arbitrum的outbox实现的,由validator来调用L1上的outbox合约将数据写回到L1,但是写回操作并不直接执行这些数据,只是记录数据,最后的执行需要用户手动去触发,这也是为什么提现操作不会自动在L1上进行(目前猜测是因为L2->L1不好控制手续费,所以没有在这里做自动执行,并且,自动执行相当于是L2自动修改L1的状态,实际上是比较不可控的)

当充值操作写回到L1的outbox之后,用户就可以在L1上解锁资产

Q: 我冲了10WETH 可以提现20WETH吗?
这是可以的,如果你在L2上赚钱了(多赚了10WETH),只要L2提供的票据说你销毁了20WETH, 那么在L1上就会给你解锁20WETH, 桥只要保证总资产的帐对的上就可以.

标签:arbitrum,资产,L2,inbox,sequencer,L1,合约
From: https://www.cnblogs.com/blogforeverything/p/18607904

相关文章

  • 重磅推荐 | 2024最全的数据资产入表实操资料大合集(8GB,共90份)
    1、《金融数据安全数据安全分级指南》.pdf2、《数据资产合规管理白皮书》(2024).pdf3、《数据要素场景创新发展报告》(2024).pdf4、《数据资产入表财务实操手册》.pdf5、《数据安全技术数据分类分级规则》.pdf6、《数据分类分级产品技术要求》.pdf7、《国家数据局《数字中......
  • 各省固定资产投资额数据(2002-2022年)
    固定资产投资额,是指以货币形式表现的在一定时期内建造和购置固定资产的工作量以及与此有关的费用的总称。它是反映固定资产投资规模、速度和投资比例关系的综合性指标,也是国家规定投资计划和控制投资规模的重要依据。固定资产投资额是一个综合性指标,它不仅反映了固定资产投资的......
  • 飞驰云联如何加速供应链协同,保护核心数据资产?
    供应链协同是指供应链全链条的各环节(包括上下游各企业及企业内各部门)实现协同运行的一系列活动或最终效果,即供应链全链条各节点确立共同目标,在互利共赢的基础上,深入合作、风险共担、信息共享、流程互通、共同创造客户价值的过程。以医疗设备制造企业为例,在生产过程中会与多种类......
  • 【Unity 低多边形海盗世界资源包】Pirate Low Poly Pack 提供了丰富的海盗相关资产,包
    PirateLowPolyPack是一款专为Unity开发的低多边形风格资源包,旨在为开发者提供海盗主题的游戏元素,帮助创建充满冒险和海上战斗气息的游戏世界。该插件提供了丰富的海盗相关资产,包括角色、船只、岛屿、道具和环境元素等,适用于多种类型的游戏,如动作冒险、角色扮演、策略类......
  • 全链路解析如何构建数据资产管理框架及落地实践丨袋鼠云“数智基建+数智应用”赋能分
    为了帮助企业更好的进行数字化转型升级,袋鼠云精心策划了一系列以“数字基建+数智应用”为核心的赋能分享活动,本系列直播共有四期,每期聚焦于不同的关键议题,深入分析企业数字化转型中的挑战与应对策略。我们期待通过这些直播活动,与业界同仁共同探讨数字化转型中的难点,并寻找切实可行......
  • 2025年8款顶级的开源IT资产管理软件
    在当今快节奏、技术驱动的商业环境中,企业越来越依赖硬件、软件和数字资源来支持其运营,对高效和成本效益的IT资产管理解决方案的需求迫切。开源IT资产管理(ITAM)软件提供了一种灵活、透明和社区驱动的方法来控制其IT基础设施,定制其资产管理流程,并避免供应商锁定的陷阱。在本......
  • 资产管理信息系统+vue源码+论文
    项目简介该资产管理信息系统是一个高效、集成化的解决方案,旨在简化和优化企业资产管理流程。系统采用B/S架构,主要通过Web界面与用户交互,实现了对企业资产的全面管理。系统的核心功能覆盖了管理员和保管人员两大角色,具体功能包括:管理员角色功能:个人中心:管理员可以查看和更新......
  • Converge许可分析如何支持企业软件资产管理
    在日益增长的数字化浪潮中,企业的软件资产管理变得越来越复杂,涉及到软件许可、版本控制、成本跟踪等多个方面。为了简化这一过程并增强对软件资产的掌控,Converge许可分析作为一种强大的工具,被越来越多的企业所采纳。本文将探讨Converge许可分析如何高效支持企业软件资产管理,帮助企......
  • 【Unity 动态资源管理插件】Runtime Asset Database 支持在游戏或应用运行时加载、卸
    RuntimeAssetDatabase是一款针对Unity开发者的强大插件,它允许开发者在运行时动态管理和加载资源。通过该插件,开发者可以构建一个实时的资源数据库,支持在游戏或应用运行时加载、卸载和管理资产,从而优化资源管理和提高性能。此插件特别适用于需要大规模资源管理或实时内容......
  • 易盘点企业资产管理系统从钉钉到SAAS如何安全迁移到泛微OA E9版本的方法汇总
    中小企业刚起步时,会一般使用钉钉这类云办公软件进行管理,随着公司的发展,就会购置易盘点这种企业资产管理软件,来完成日常的员工/项目/企业的资产入库、盘点、维护、领用归还保修报废、折旧等此类管理动作。那么小花公司就是这样的一个公司,随着公司的进一步发展,小花采购了泛微OA......