Vitalik:将NFT向Layer 2迁移,如何让它们友好地跨Rollup?_ROLL:UPA

作者:VitalikButerin

编译:凯尔,巴比特

NFT生态系统正在迅速发展,已经成为以太坊链gas消耗的重要组成部分。NFT生态系统的年轻化和相对缺乏根基,以及由于NFT的很大一部分的非金融性质而更需要避免高额费用,这也使得NFT成为转移到第2层网络的主要目标。然而,这就提出了如何将NFT迁移到Layer2的问题。

一个简单的提案是:在社区内协调将NFT迁移到单个Rollup平台,但这存在一些重要的缺点:

所有现有的支持EVM的主要rollup平台都有后门、中心化排序或其他实验性功能,将整个生态系统交给单个rollup是有风险的,而rollup将如何发展超越这些功能存在不确定性。

OKX建立行业BRC-20解析新标准:5月16日消息,据OKX官方公告,OKX正式建立行业BRC-20解析新标准,该标准已通过安全审计机构慢雾的安全审计,旨在逐步完善和增强BRC-20生态的完整性和稳健性。

据悉,OKX持续关注并投入BRC-20基础设施建设,OKX Web3钱包即将上线Ordinals交易市场,是首个支持Ordinals代币及NFT交易的多链钱包。OKX此前已与UniSat达成官方合作支持双重验证,并上线首个BRC-20浏览器。[2023/5/16 15:06:48]

NFT生态系统可能会变得太大,以至于单个Rollup无法安全处理所有交易

NFT生态系统的任何部分,甚至整个NFT生态系统,都不是封闭的世界;他们将需要与以太坊生态系统的其他部分进行互操作

1inch Network:已向解析器激励计划发放超150万枚INCH:2月12日消息,DEX聚合器1inch Network在社交媒体发布项目数据更新,截止目前已向解析器激励计划发放1,507,992 INCH代币,按照当前价格计算超过80万美元。1inch Network于1月底启动解析器激励计划代币发放,总计为1000万枚INCH。

此外,1inch Network还公布了当前主流链上数据,按交易额排名:以太坊(2406亿美元)、BNB(326亿美元)、Polygon(181亿美元)、Avalanche(33亿美元)、Arbitrum(32亿美元)、Optimism(16亿美元)、Fantom(7.291亿美元)、Gnosis(1.92亿美元)。[2023/2/12 12:02:19]

这篇文章提出了一种关于如何使NFT跨Rollup友好的提案,允许NFT移动到整个Layer2生态系统。

安全团队:Reaper Farm项目遭到攻击事件解析,项目方损失约170万美元:据成都链安“链必应-区块链安全态势感知平台”安全舆情监控数据显示,Reaper Farm项目遭到黑客攻击,成都链安安全团队发现由于_withdraw中owner地址可控且未作任何访问控制,导致调用withdraw或redeem函数可提取任意用户资产。攻击者(0x5636e55e4a72299a0f194c001841e2ce75bb527a)利用攻击合约(0x8162a5e187128565ace634e76fdd083cb04d0145)通过漏洞合约(0xcda5dea176f2df95082f4dadb96255bdb2bc7c7d)提取用户资金,累计获利62ETH,160万 DAI,约价值170万美元,目前攻击者(0x2c177d20B1b1d68Cc85D3215904A7BB6629Ca954)已通过跨链将所有获利资金转入Tornado.Cash,成都链安链必追平台将对被盗资金进行实时监控和追踪。[2022/8/2 2:54:19]

提议的解决方案1

Beosin解析Reaper Farm遭攻击事件:_withdraw中owner地址可控且未作任何访问控制:8月2日消息,据 Beosin EagleEye 安全舆情监控数据显示,Reaper Farm 项目遭到黑客攻击,Beosin 安全团队发现由于_withdraw 中 owner 地址可控且未作任何访问控制,导致调用 withdraw 或 redeem 函数可提取任意用户资产。攻击者(0x5636 开头)利用攻击合约(0x8162 开头)通过漏洞合约(0xcda5 开头)提取用户资金,累计获利 62 ETH 和 160 万 DAI,约价值 170 万美元,目前攻击者(0x2c17 开头)已通过跨链将所有获利资金转入 Tornado.Cash。[2022/8/2 2:54:18]

NFT将首先在一个Rollup中注册。通过创建一个封装NFT,NFT可以在其他Rollup之间跳转。

封装NFT的过程如下:

1、在RollupA上,将NFT发送到封装管理器合约,指定(i)目的地Rollup和(ii)初始所有者。密码箱合约在存储中保存一条记录,为X分配一个新的序列号R,并保存目标Rollup和目标Rollup的初始所有者

2、在RollupB上,任何人都可以使用RollupB上的封装管理器合约创建封装NFT。创建一个封装NFT需要指定源Rollup和序列号。创建X的一个“有效”封装NFT只能由指定的所有者并通过声明(R,A)作为序列号和源Rollup来完成。请注意,可能会创建一个无指向内容的无效封装NFT;RollupB不知道什么是有效和无效。封装管理器合约存储元组并防止使用同一个元组创建多个NFT。

3、要从密码箱中提取NFT,RollupB上的封装-X的当前所有者必须将其发送回封装管理器,后者会发出收据,说明“序列号为R、源RollupA和初始所有者O1的NFT刚刚接触封装,带有想要的新所有者O2”。

4、密码箱合约可以在收到RollupB上的收据的证明时将X交给O2,并根据自己存储的信息检查序列号、源Rollup和初始所有者,并验证它是否通过。

请注意,提款会有一个时间延迟,因为OptimisticRollup状态根需要大约1周的时间延迟才能最终确定以便验证收据。到目前为止,更快地进行多跳的唯一方法是进行多层封装。

为了让用户验证封装-X是否合法,他们需要自己验证RollupB上的状态和RollupA上的收据。

扩展:添加跨Rollup传输

在RollupB上,wrapped-X的所有者可以将其发送给包装管理器,并附上发出不同收据的指令:“序列号为R、源RollupA和初始所有者O1的NFT刚刚移至RollupC,与想要的新所有者O2”。

在RollupC上,任何人都可以通过指定原始源Rollup、序列号和初始所有者来制作封装-X对象,并且RollupC上的此封装-X可以自由交易。但是,为了能够撤回封装-X,需要将RollupB的收据发送到RollupA。

实际发生的事情是,当NFT从一个Rollup移动到另一个Rollup时,转移链留下了一个收据链,该收据链中的每一个收据都被镜像到RollupA并在某个时间点按顺序处理。未来,当其他Rollup的状态最终确定时。

为了让用户验证封装的X是合法的,他们需要验证反映跨Rollup转移的所有Rollup上的整个收据链。

此外请注意,该协议可以简化:“提款”只是一个跨Rollup转移RollupA,如果认识到RollupA发布的特定序列号现在在RollupA上,那么该封装的合约可以直接兑换。

扩展2:基础链上的gas优化发行

所有NFT都可以以这样的方式发行,即它们由以太坊基础链上的密码箱合约“拥有”。为了使这种gas高效,密码箱合约将获得生成一整套序列号并将它们传输到Rollup的功能。实际上,所有NFT都是预先创建的,但尚未分配给其中任何一个“意义”,并且它们被批量转移到Rollup。

“发行”的过程现在变成了赋予意义的过程。这可以通过在收据中传递“含义哈希”来完成,就像传递所有者的方式一样:如果NFT没有意义,所有者可以为其分配一个含义,转动它变成了一个“差异化”的NFT。基础链只有在验证收据链后才知道NFT的含义,直到分配含义为止。

这允许所有NFT都在基础链中“扎根”,而不是Rollup。这对于处理Rollup中断或以其他方式变得不可行以及应用需要永久迁移到其他域的情况很有用。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:0ms0-3:917ms