LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资讯 > 如何将NFT从L2提取到L1?了解Metis跨层桥接NFT设计

如何将NFT从L2提取到L1?了解Metis跨层桥接NFT设计

2021-09-24 sky110 来源:区块链网络

问题

以太坊区块链以及第?2 层(Layer 2)解决方案面临的一个问题是资产的隔离,尤其是?NFT。在?Layer 2 上创建?NFT 时,NFT 会被困在该层,因此导致了?NFT 孤岛问题,其中?Layer 2 上的?NFT 资产无法提取到?Layer 1 公链。要想将?NFT 应用引入?Layer 2,非常重要的前提是拥有横跨多层创建和桥接NFT 的方法。

解决方案

在?Layer 2 上铸造?NFT,创建一种轻松跨层桥接?NFT 并减少?gas 需求的方法。用户可以决定何时将自己的?NFT 提取到?Layer 1。

概览图

发起NFT合约

1.?NFT 所有者使用已部署的?L2_NFT_Collection 配置?L1_NFT_Collection,具体指定:

L2_NFT_Collection 的地址

L2_NFT_Collection 的链?ID

NFT 的位置,通过?NFT ID 映射链?ID,所分配?NFT 的?Range,例如?#1-100、60-61 等

Range 是代表?1000 个?NFT 的单位… rangeid 0 意味着?NFT #0 到?NFT #999。

数据结构

mapping(chainid => address) addresses;

mapping(rangeid => chainid) range_loc;

Layer 2认领NFT

2. 用户将认领?NFT,并指定?NFT ID。?Layer 2 上的?L2_NFT_Collection 合约将验证?ID 分配(例如,这一?Layer 2 拥有?NFT),并相应地在这一?rollup 上铸造?NFT。?用户可以像往常一样在?rollup 中自由转移?NFT。

提取NFT

3. 用户向?L2_NFT_Collection 智能合约发送交易,向?Layer 1 的目标接收者发起提款。

4. NFT 被存入?L2_Deposit 合约,它会锁定?NFT 以供之后必要时进行检索。

5. 锁定的?NFT 会触发发送至?L1_NFT_Collection 的跨链信息,使指定接收者可以在?Layer 1 上铸造/提取?NFT。

将在?L1_NFT_Collection 中添加一条新记录,来更新这一特定?NFT 的链上所有权信息,数据结构为:mapping(id=>chainid) nft_loc; ?nft_loc 总是覆盖?range_loc。为了确定?NFT 的实际链上所有权,如果?nft_loc[id] 返回值为?0,逻辑应该首先检查?nft_loc 然后是?range_loc。

如果之前已经在?Layer 1 上创建了?NFT,即该?NFT 不是第一次提取到?Layer 1 层,则用户将获得具有更新元数据的?NFT,其?nft_loc 已更新。

收件人将认领?NFT,并指定?NFT ID。

(重新)Layer 2存入NFT

7. 用户向?L1_NFT_Collection 智能合约发送交易,启动向目标?Layer 2 rollup上目标接收者的转移。

8. NFT 被存入?L1_Deposit 合约,它会锁定?NFT 以供以后必要时进行检索。

9. 锁定的?NFT 会触发到?L2_NFT_Collection 的跨链信息,使用户可以通过?NFT ID 在?Layer 2 上铸造/认领现有的?NFT。

如果?NFT 已经创建并存入目标?rollup,用户将收到具有更新元数据的?NFT。

L1_NFT_Collection 将更新?nft_loc,以反映更新后的?NFT 链上所有权。

序列图

供给

Layer 1 => Layer 2

Layer 2 => Layer 1

利与弊

益处

允许任何用户在另一个?Layer 2 上认领?NFT。

用户可以在?Layer 2 提取?NFT,并在?Layer 1 创建等效的?NFT,而不会导致被复制。

用户可以随时选择将他们创建的?NFT 从?Layer 1 传输到?Layer 2,反之亦然。

允许一个?NFT 项目扩展到多个?rollup 链。

发起设置简单且成本低廉。

缺点

NFT 所有者必须在所支持的层上创建等效的?NFT 合约。

NFT 只能从?Layer 2 移动到协调器链(在这种情况下是?Layer 1 层)及收回,不能直接从?Layer 2 移动到?Layer 2。

在?rollup 之间移动?NFT 时成本更高,因为涉及两次?Layer 1 交易(取款和存款)

连接两个层的技术复杂性

发散想法

使用rollup跟踪NFT的链上所有权以降低交易成本

Rollup 可用于管理链上所有权,这样可以大大降低交易成本。在这种情况下,Layer 1 在某种程度上可以被与其他?rollup 同等对待。

查看更多

—-

编译者/作者:sky110

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...