您的位置 首页 比特币

Vitalik: 跨 rollup 封装及迁移 NFT

来源 | ethresear.…

来源 | ethresear.ch作者 | Vitalik ButerinNFT 生态在迅速增长,并且构成了以太坊链上 gas 消耗的重要部分。NFT 生态系统仍处于年轻态并相对缺乏根基,并且由于 NFT 领域很大一部分属于非金融性质,因此更需要避免高额费用,这使得转移到 layer 2 成为主要目标。然而, 这就抛出了如何转移到 layer 2 的问题。一个简单的提议是通过社会性协调转移到一个特定的 rollup 平台 (例如 Arbitrum,因为目前已经支持通用智能合约部署),但这样做也有几处劣势:
本文提出了一个使 NFT 友好跨 rollup 并使其迁移到整个 layer 2 生态中的提案。提议解决方案一NFT 可以在单个 rollup 中进行初始注册,然后通过创建 wrapper NFT (封装 NFT) 在不同的 rollups (或者是底层链) 中转移。NFT wrapping 过程如下:

Vitalik: 跨 rollup 封装及迁移 NFTVitalik: 跨 rollup 封装及迁移 NFT请注意,提取 NFT 存在时间延迟,因为 Optimistic Rollup 类解决方案的状态根需要大约一周的延迟才能最终确定,以便验证收据。到目前为止,更快地进行多跳的唯一方法是进行多层封装。用户要验证 wrapped X 是否合法,需要自己验证 Rollup B 上的状态和 Rollup A 上的收据。
拓展:增加跨 rollup 转账在 rollup B 上,wrapped-X 的所有者可以将其发送给封装管理器,并附上一条指令发布不同的收据“序列号为 R、源 Rollup A 和初始所有者为 01 的 NFT 刚刚转移到 Rollup C,以及潜在的新所有者 02”。在 Rollup C 上,任何人都可以通过指定原始源 Rollup (在目前示例中为 Rollup A)、序列号和初始所有者来制作 wrapped-X 对象,并且 Rollup C 上的此 wrapped-X 可以进行自由交易。但是一旦如此,提出 wrapped-X 需要发布跨 rollup 转移产生的所有收据 (当前实例中为 2 个)。Vitalik: 跨 rollup 封装及迁移 NFTVitalik: 跨 rollup 封装及迁移 NFT请注意为了简单起见,“提款”本身不再是跨 rollup 的操作,而是是通过跨 rollup 完成的,在 rollup A 上创建 wrapped-X (X 的同一个 rollup),然后单独进行一步 unwrapping (解除封装) 操作。实际上,当 NFT 从一个 rollup 转移到另一个 rollup 时,转移路径上的链会产生一串收据,该收据链中的每一个收据都被镜像到 rollup A,并且在未来,当其他 rollup 的状态根最终确定时,这些收据将在某个时间点按序被处理 (在短期内可以通过 Kate 承诺进行空间优化,长远来看可以通过 ZK-SNARK 证明整条收据链)。用户要验证 wrapped X 的真实性,需要验证所有路径 rollup 反映了跨 rollup 转移的整个收据链 (或者至少是继上一个收据之后已经镜像到 rollup A 的收据链)。
扩展2:在底层链上优化发行 gas所有 NFT 都可以这种方式发行:由以太坊底层链上的加密箱“拥有”。为了优化 gas 的效率,加密箱合约将具备生成一套序列号并将其传输到 rollup 的功能。实际上,所有 NFT 都是预先创建的,但尚未分配“意义”给其中任何一个 (可以想象成有 2*256 个尚未分化的“干细胞”NFT),并且它们以批量形式转移到 rollup。“发行”过程现在就变成了分配意义的过程。这可以通过在收据中传递“含义哈希”来完成,与所有者传递的形式相同:如果 NFT 没有意义 (是一个”干细胞”),所有者可以为其分配一个含义,使其成为一个具有“差异性”的 NFT。底层链只有在验证收据链后才知道 NFT 的含义,直到分配含义为止 (实际上,收据验证必须是 ZK-SNARK 的才具备可行性)。这允许所有 NFT 都在底层链中“扎根”,而不是 rollup。这对于处理 rollup 故障、因其他原因不可用或是应用需要永久迁移到其他域的情况来说很有帮助。

本文来自网络,不代表立场,转载请注明出处:http://www.bjyingke.com/bite/8701.html

作者: 小暑财经

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部