链资讯 链资讯
Ctrl+D收藏链资讯
首页 > XRP > 正文

NFTI:OpenSea未上链的NFT,为何会出现在链上钱包?_tps币圈

作者:

时间:

内容概要

粉丝反馈,他在opensea无gas免费创建的NFT资产,竟能出现在小狐狸钱包里,而opensea官方声明的此NFT在正式交易前是未上链铸造的,这就很奇怪,中心化应用的资产出现在为去中心化应用服务的钱包里,到底是官方代付gas上链还是乌龙,随我一文揭晓!

目录大纲

1.背景简述

2.破案历程

2.1小狐狸网络抓包

2.2链上的交易统计

2.3合约反编译分析

3.破案总结

面向对象

Web3新手,有无技术背景均可理解此文解密过程

背景简述

1.1opensea是什么?

全球最大的公链NFT交易平台,也是目前除以太坊链底层外营收最大的web3平台,下文简述为os

1.2NFT是什么?

可见前文:你买的NFT到底是什么?

1.3NFT铸造是什么?

可见前文:当奈飞的NFT忘记了web2的业务安全

大意是,只有在链上Mint后的才能认为是资产,且一般用户需要付gas

Open Campus ID将于9月14日向EDU与创世NFT持有者开放第一阶段白名单:9月8日消息,Open Campus发文称,Open Campus ID将于北京时间9月14日18:00向EDU与创世NFT持有者开放第一阶段白名单,总量共1000个。Open Campus ID是SBT,可访问Open Campus提供的教育内容,并拥有与OC ID相关的所有信息。Open Campus ID以.edu为后缀,域名可由用户选择,代表链上教育身份。[2023/9/8 13:26:50]

1.4os的免费创造NFT服务是什么?

NFT上链成本高,标准ERC721的mint需要8W的gas,约5刀

NFT定制合约难,虽有标准但顶级NFT项目会定制且部分强化功能,例如azuki

因此,易用性一直就是市场的痛点,毕竟艺术家不是合约工程师,需更低成本的试错来探索有价值的艺术品,官方也特别说明过

在opensea.io上create的NFT,符合ERC1155标准,即使是它们存在于链上之前,这些NFT也可以在任何平台上出售,在交易时才上链铸造

破案历程

2.1案例来源

Sam Altman:OpenAI会继续在欧洲运营,没有离开的计划:5月26日消息,OpenAI 首席执行官 Sam Altman 在社交媒体发文表示,欧洲关于如何更好地监管 AI 的对话富有成效,我们很高兴能继续在这里运营,当然也没有离开的计划。

此前,英国现任首相苏纳克在会见 Sam Altman 讨论英国如何在人工智能领域提供国际领导力时曾表示,在安全可靠的前提下,人工智能有潜力帮助实现转型和经济增长。[2023/5/26 9:44:22]

某粉丝很惊奇发现,自己确实可以在os上按流程进行create,但按官方说法此时是未上链的,但是他尝试在小狐狸钱包里导入资产时发现,竟然已经可见,甚至尝试导入一个自己未create的NFTID时也能导入成功,因此反馈我寻找技术维度的全貌解读

2.2还原方式

1:os上createNFT得到合约地址与ID

2:小狐狸上开启NFT检测后,再手动添加收藏品,即出现SharedStorefront

2.3调查不易

其实查询资产是否上链是个非常容易的过程,用区块链浏览器即可

见前文:当我们在看Etherscan的时候,到底在看什么?

OpenSea Pro发布平台升级,将提升ERC-1155 NFT交易体验:5月2日消息,OpenSea Pro近日在社交媒体宣布其平台已完成新一轮升级,旨在改善和增强用户交易ERC-1155 NFT的体验,并提供更全面的ERC-1155收藏视图,允许用户在收藏页面上查看任何项目的列出数量,从而更好地了解NFT供应量情况。

此外OpenSea Pro还细分了头部ERC-1155 NFT项目的所有者和活动源,使在收藏和个人资料页面上更容易跟踪列表、销售、转移NFT等。[2023/5/2 14:38:38]

但是由于此os的NFT共享商店的合约并没有做验证。所以无法直接看源码查数据

但使用未经开源以及安全审计的合约,着实让我这从事多年安全行业的职业强迫症有些难受

如果真存在风险,其危害是巨大的

如果真未上链,小狐狸钱包去读取中心化平台数据?放在我的资产里?

如果真上了链,用户无需gas,则可能官方付费上链,雷同羊毛有被攻击风险

未上链的资产,如产生冲突风险,那此NFT属于谁的?

2.4小狐狸app抓包

首先咱们通过对照实验做手机抓包,发现整体小狐狸会做的事情很多

Skyweaver限量版金卡在OpenSea两分钟内售罄:2月16日消息,区块链卡牌交易游戏 Skyweaver 官方在 OpenSea 举行社区金卡投放活动。此次活动推出了三种限量版金卡,每种卡各 20 份,共 60 张卡在 2 分钟内售罄。团队表示未来将继续组织此类投放活动,让更多玩家参与进来。

此前报道,Skyweaver 是一款由 Horizon 开发的卡牌交易游戏,现已进入公测阶段,其中金卡为最稀有物品。玩家拥有的卡存储在加密货币钱包中,可以在 OpenSea 上交易这些卡。[2022/2/16 9:55:31]

拉取地址余额,交易,最新块内容,指定地址合约字节码等等

对数百个网络包逐个分析后,发现其小狐狸会使用infura的eth-call方法,功能是查询指定NFT合约中标准的balanceof方法

为何我如此肯定?此请求包里没有balanceof呀?

咱们用实验说话双向校验,标准的1155协议的标准函数名及参数为:

functionbalanceOf(address,uint256)

由于data构建指定函数调用,其生成Mothod-ID的原理是名字参数类型组合,因此他构建的call方法,data字段的开头必然为00fdd58e

以太坊客户端OpenEthereum即将推出支持Berlin硬分叉的新版本:以太坊客户端OpenEthereum官方刚刚发推称,现在离Berlin硬分叉已经越来越近了。OpenEthereum下一个版本将基于2.5.13稳定版,该版本将对所有bug进行修复,以及包含对2.7和3.0之后版本的硬分叉支持。

注:OpenEthereum前身为以太坊客户端Parity。[2020/8/14]

我输入的要添加资产是123号,其data参数末尾对应是7b=(7*1611=123)也对应上。

同时发现其缺乏防重放的措施,所以我可以直接编辑参数

重发请求查询其他NFT合约所有权来对比:

azuki:721标准,无得到0,有则非0

爱死机:1155标准,无得到0,有则得1

查os共享商店,修改参数尾数确实会得到值但意义不明

所以这里我得出的一大惊奇猜想是:

链上可查得NFT所有权的值,难道真的上链了吗?

2.5链上交易统计

如果真上链其实也可以不由用户支付gas,有种“元交易”的技术手法,就是交易发起方和gas支付者不同的形式,并且openzepplin里特地有个content合约就是用于额外支持元交易产生的msg.sender可能特殊化的问题

但是,我通过对此合约的链上交易数据统计,抽取23号一天出现的交易频率可见下图,都证明了好像并没有固定由官方发起的元交易类型交易

2.6破局得靠合约反编译

由于官方没有验证合约,导致分析起来费劲多了,但可通过合约反编译来大致摸清逻辑

如果只是openzepplin的标准1155库进行反编译的话,行数是170行

但是此1155则反编译后是1000行,因此必然有较多自定义实现

反编译后整体是吻合1155的数据标准

但是也显著有不是标准数据部分

由于链上数据读取返回了结果,所以重点分析balanceOf函数,他整体实现用了30多行,这是很明显重写了原先的标准函数

由于os他依旧是沿用标准,所以他的两个参数是固定的可以理解为:

Varg0=待查询NFTid所有权的用户地址

varg1=待查询的NFTID数字

从反编译程序里看逻辑,他会读取待查地址的_balanceOf总余额数,以及此NFTID是否被_creator等等

最关键的一句address(varg1>>96)!=varg0

由于反编译不会完全按照solidity的语法,所以原本不支持的位移运算符就出现了

不讲复杂的,总之这里将varg1的其中一部分,和varg0做比较

这也意味着,原来此NFT的ID包含了用户的地址

我顿然醒悟,写个进制转换,将我在os上create得到的NFTid传入,解密得出

这个数值也和我在小狐狸抓包看到的data后半段内容是一致

这里还可以继续研读代码来挖掘细节

比如balanceOf返回结果为2个值,会审计编号是否会超出_totalSupply限定发行量

比如safeTransferFrom专门设置_mint防重放攻击,在其中若未mint则进行首次铸造

在解读出NFTID的组成后,我也顿时明白此合约的核心逻辑了

此ID由3部分构成,用户地址系列编号指定ID,这也意味着无论我铸造多少次,前xx位都是固定的,即我的钱包地址转为10进制而已,而他查询的balanceof函数也因为我前缀统一,从而判别我是未铸造前的所有者,因此理论上我的铸造空间极其大。

因此小狐狸确实能导入,因为前缀一致,balanceof在没有所有者的情况下,会默认依据此NFTID对应的空间的所有者返回结果,如果发生铸造转移,也有合约中配套的owner_a和_creator来证明这个创作者和当前所有者的关系。

至于为何小狐狸能出现NFT图,这点是他官方声明过的设置,出于读取更多维度的描述说明、稀有度、原图uri等信息,且用户可关闭这个钱包去查询os中心化数据库的功能。

破案总结

小狐狸是无辜的,他只是用标准方法走infura读取链上数据而已,并没有特别加工并修改返回数据

os不去验证合约,有一定自我市场竞争保护的目的,但是不能阻挡妙手玩家对合约分析,却给不少用户带来无法证明资产所有的困境

最终,确实其NFT资产在交易转移前未被铸造上链,但由NFTID定义的空间已经被特殊设计可查得余额结果,所以理论上其他交易平台也可买卖此NFT

附录:

gas价格图:https://etherscan.io/gastracker

反编译平台:https://library.dedaub.com/decompile

metamask的NFT检测功能说明:https://metamask.zendesk.com/hc/en-us/articles/360058238591-NFT-tokens-in-your-MetaMask-wallet

os共享商店合约地址:0x495f947276749ce646f68ac8c248420045cb7b5e

OS官方声明:

https://support.opensea.io/hc/en-us/articles/1500003082561-Will-ERC-1155-NFTs-appear-in-my-wallet-

https://opensea.io/blog/announcements/introducing-the-collection-manager/

标签:NFTIEATTPSDynamicNFTifyEATERtps币圈Dynamic Supply Tracker

XRP热门资讯
DYDX:dYdX从以太坊转向Cosmos的真正原因_Haodestar Token

本文来自Bankless,原文作者:DonovanChoy,由Odaily星球日报译者Katie辜编译.

DYDX:盘中宝——比特币上攻受阻,加密市场仍有两大雷区_OSMO

FTX创始人兼CEOSBF警告称,一些三级交易平台已经资不抵债,只不过尚未曝光,这些交易平台很快就会面临失败.

DYN:Web3身份验证公司Dynamic完成a16z领投的750万美元种子轮融资_Dynamic Supply Tracker

6月29日消息,Web3身份验证初创公司Dynamic完成750万美元种子轮融资,a16z领投.

IKA:BIKA6月平台安全系统升级公告_HTT

尊敬的BIKA用户: 平台针对今日出现的网络安全问题,将与第三方顶级安全平台Akamai进行合作升级,升级时间预计20分钟。升级期间可能会造成APP暂时性数据响应延迟,如给您带来不便十分抱歉.

CBI:伊朗央行将在2个月内推出加密里亚尔的试点_CBI币

金色财经报道,伊朗中央银行行长AliSalehabadi表示,伊朗当局正在采取必要措施,从波斯历8月23日开始的Shahrivar月开始,启动加密里亚尔的试点.

比特币:如何做投资前的项目调研、分析以及调研后的建仓和止盈?_比特币交易所下载官网app

我们投资加密项目需要面对很多不确定的因素,在不确定性中少踩坑的关键是学会有效的处理信息。我们都处在互联网时代,信息已经不再是稀缺品.