长推:当我们用官方桥将资产充值到L2时,底层在发生什么?

今天我们以Optimism的官方桥Optimism Gateway为例,打开这个黑箱,看一下它的底层到底是如何运转的。

注:原文来自@0xNing0x发布长推。

当我们用官方桥将资产充值到L2时,底层在发生什么?

L2的官方跨链桥,对我们大多数人来说,是一个神奇的黑箱,我们在L1向它充值入资产,在L2就会收到资产。

今天我们以Optimism的官方桥Optimism Gateway为例,打开这个黑箱,看一下它的底层到底是如何运转的。

1.Optimism Gateway的智能合约组件

智能合约1:

0x99c9fc46f92e8a1c0dec1b1747d010903e884be1

该智能合约是狭义上的Optimism Gateway,它是Optimism的核心组件,负责ETH充值初始化、ERC20 Token充值初始化、ETH桥初始化、ERC20 Token桥初始化、ETH桥入最终确认、ERC20 Token桥入最终确认、ETH桥出(提取)最终确认、ERC20 Token桥出(提取)最终确认。

智能合约2:

0x25ace71c97b33cc4729cf772ae268934f7ab5fa1

该智能合约是MESSENGER,负责确认其它智能合约组件是否升级,它被调整最多的4个函数是,sendMessage、xDomainMessageSender、relayMessage、relayMessage。

智能合约3:

0xbfb731cd36d26c2a7287716de857e4380c73a64a

该智能合约负责执行充值,主要调用depositETH和depositERC20两个函数,将对应的L2资产充入到L1充值用户的L2地址。

智能合约4:

0x25ace71c97b33cc4729cf772ae268934f7ab5fa1

该智能合约主要负责消息中继和充值资产中继。

智能合约5:

0x2150bc3c64cbfddbac9815ef615d6ab8671bfe43

该智能合约负责向0x4200000000000000000000000000000000000010发送消息TX,等待被批量Rollup到L1。

智能合约6:

0xde1fcfb0851916ca5101820a69b13a4e276bd81f

该智能合约主要负责返回一个收取资产的L2 地址。

智能合约7:

0xbeb5fc579115071764c7423a4f12edde41f106ed

该智能合约是个金库合约,主要负责最终保管充值的资产,同时还负责充值确认、提取证明、提取最终确认。

智能合约8:

0x229047fed2591dbec1ef1118d64f7af3db9eb290

该智能合约负责资源确认。

智能合约9:

0x5efa852e92800d1c982711761e45c3fe39a2b6d8

该智能合约负责资源确认。

智能合约10:

0x28a55488fef40005309e2da0040dbe9d300a64ab

该智能合约负责充值Tx、证明提取Tx和最终确认提取Tx

2.Optimism Gateway的充值流程

当用户发起充值时,智能合约1调用智能合约2确认是否需要升级,然后向中继合约智能合约4发送消息和充值资产。

智能合约4在接收到消息和资产后,调用智能合约5向序列器地址发送消息等待Rollup到L1,调用智能合约6获取接收资产的L2地址,向智能合约7转移资产和消息。

智能合约7负责确认充值,由它调用智能合约8和智能合约8确认资源充足,调用智能合约10完整最终确认。

最后由智能合约3调用充值函数,执行充值操作。

长推:当我们用官方桥将资产充值到L2时,底层在发生什么?

以上只是根据智能合约之间图谱关系进行推理,并未深入到代码层面,有错误之处,敬请指正。

转载声明:本文 由CoinON抓取收录,观点仅代表作者本人,不代表CoinON资讯立场,CoinON不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。若以此作为投资依据,请自行承担全部责任。

声明:图文来源于网络,如有侵权请联系删除

风险提示:投资有风险,入市需谨慎。本资讯不作为投资理财建议。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2023年10月2日 上午8:17
下一篇 2023年10月2日 上午8:17

相关推荐

长推:当我们用官方桥将资产充值到L2时,底层在发生什么?

星期一 2023-10-02 8:17:42

注:原文来自@0xNing0x发布长推。

当我们用官方桥将资产充值到L2时,底层在发生什么?

L2的官方跨链桥,对我们大多数人来说,是一个神奇的黑箱,我们在L1向它充值入资产,在L2就会收到资产。

今天我们以Optimism的官方桥Optimism Gateway为例,打开这个黑箱,看一下它的底层到底是如何运转的。

1.Optimism Gateway的智能合约组件

智能合约1:

0x99c9fc46f92e8a1c0dec1b1747d010903e884be1

该智能合约是狭义上的Optimism Gateway,它是Optimism的核心组件,负责ETH充值初始化、ERC20 Token充值初始化、ETH桥初始化、ERC20 Token桥初始化、ETH桥入最终确认、ERC20 Token桥入最终确认、ETH桥出(提取)最终确认、ERC20 Token桥出(提取)最终确认。

智能合约2:

0x25ace71c97b33cc4729cf772ae268934f7ab5fa1

该智能合约是MESSENGER,负责确认其它智能合约组件是否升级,它被调整最多的4个函数是,sendMessage、xDomainMessageSender、relayMessage、relayMessage。

智能合约3:

0xbfb731cd36d26c2a7287716de857e4380c73a64a

该智能合约负责执行充值,主要调用depositETH和depositERC20两个函数,将对应的L2资产充入到L1充值用户的L2地址。

智能合约4:

0x25ace71c97b33cc4729cf772ae268934f7ab5fa1

该智能合约主要负责消息中继和充值资产中继。

智能合约5:

0x2150bc3c64cbfddbac9815ef615d6ab8671bfe43

该智能合约负责向0x4200000000000000000000000000000000000010发送消息TX,等待被批量Rollup到L1。

智能合约6:

0xde1fcfb0851916ca5101820a69b13a4e276bd81f

该智能合约主要负责返回一个收取资产的L2 地址。

智能合约7:

0xbeb5fc579115071764c7423a4f12edde41f106ed

该智能合约是个金库合约,主要负责最终保管充值的资产,同时还负责充值确认、提取证明、提取最终确认。

智能合约8:

0x229047fed2591dbec1ef1118d64f7af3db9eb290

该智能合约负责资源确认。

智能合约9:

0x5efa852e92800d1c982711761e45c3fe39a2b6d8

该智能合约负责资源确认。

智能合约10:

0x28a55488fef40005309e2da0040dbe9d300a64ab

该智能合约负责充值Tx、证明提取Tx和最终确认提取Tx

2.Optimism Gateway的充值流程

当用户发起充值时,智能合约1调用智能合约2确认是否需要升级,然后向中继合约智能合约4发送消息和充值资产。

智能合约4在接收到消息和资产后,调用智能合约5向序列器地址发送消息等待Rollup到L1,调用智能合约6获取接收资产的L2地址,向智能合约7转移资产和消息。

智能合约7负责确认充值,由它调用智能合约8和智能合约8确认资源充足,调用智能合约10完整最终确认。

最后由智能合约3调用充值函数,执行充值操作。

长推:当我们用官方桥将资产充值到L2时,底层在发生什么?

以上只是根据智能合约之间图谱关系进行推理,并未深入到代码层面,有错误之处,敬请指正。