在成功宣布空投之后,现已审查的 Blur NFT 市场智能合约描绘了一幅阴暗的画面。 由 Twitter 用户 @0xQuit 评论的 Blur NFT 合约是他之前关于 Blur 空投的帖子的后续。 继续阅读以了解有关合同审查所揭示内容的更多信息。
合同审查结果显示什么?
在最初的空投线程上,@0xQuit 提到了收集空投的分步过程。 其中一个步骤是列出 NFT。 Blur NFT 市场要求用户签署(当时)未经验证的合同。 @0xQuit 建议用户为此步骤上传低层、低价值的 NFT。 经过进一步审查,Blur 批准请求是针对合同 0x00000000000111AbE46ff893f3B2fdF1F759a8A8 的。 本合约严格处理交易所的代币转账。 OpenSea 和 LooksRare 等其他市场之间也存在类似的代码。 这些合约本质上是非常相似的“模块化组件,具有非常特殊的转移代币的目的”。
例如,在 LooksRare 上,代码声明在批准合同时,只有 LooksRare 可以在交易所/市场之间转移不同的代币。 在 OpenSea 上,发生了类似的过程,但控制权交给了“管道控制器”,这些控制器添加了通道以允许移动/传输移动。
这基本上意味着,用户需要对 OpenSea 或 LooksRare 高度信任才能批准合同。 在 Blur 上,@0xQuit 指出了两个关键问题。 第一个是在他们的代码上,相同的管道只检查调用者是否被允许移动令牌。
这意味着智能合约的所有者仍然可以将其他地址添加到映射中,并提取代币。 Blur 作为一个新的市场还没有赢得那种程度的信任。 另一个问题指向“交换合同”,它本身是可以转让的。 这意味着用户永远不会真正知道他们正在批准什么。
潜在的解决方案
鉴于这两个问题,市场所有者@Pacman_Blur 向用户保证了安全。 这些合约是多重签名合约,也由@0xQuit 验证。 @0xQuit 还指出了几个解决方案,第一个是最终确定 BlurExchange 合约,使其不可升级。 另一个是放弃 ExecutionDelegate 的所有权,这样就不会添加或删除新的合约。
作为回应,@Pacman_Blur 也在推特上表示,这些担忧类似于 OpenSea 和 X2Y2 的合同。 这两个平台都可以让任何人随时向合约添加额外的调用者。 他还表示,市场已通过 dedbaub 和 code4rena 完成了安全审计。 他还表示:“我认为你的建议是合理的,我们未来一定会考虑敲定交易所合约。 话虽如此,永远无法实现 100% 的安全性。 从硬件到数字再到物理,总是存在威胁向量。”