LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > Metis 跨层桥接 NFT 的设计

Metis 跨层桥接 NFT 的设计

2021-09-23 区块链网络 来源:链闻

撰文:Pavel Sinelnikov
翻译:Perry Wang

问题

以太坊区块链以及第 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 合约

NFT 所有者使用已部署的 L2_NFT_Collection 配置 L1_NFT_Collection,具体指定:L2_NFT_Collection 的地址L2_NFT_Collection 的链 IDNFT 的位置,通过 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

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

提取 NFT

用户向 L2_NFT_Collection 智能合约发送交易,向 Layer 1 的目标接收者发起提款。NFT 被存入 L2_Deposit 合约,它会锁定 NFT 以供之后必要时进行检索。锁定的 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

用户向 L1_NFT_Collection 智能合约发送交易,启动向目标 Layer 2 rollup 上目标接收者的转移。NFT 被存入 L1_Deposit 合约,它会锁定 NFT 以供以后必要时进行检索。锁定的 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 同等对待。

来源链接:ethresear.ch

—-

编译者/作者:区块链网络

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

LOADING...
LOADING...