加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads
首頁 > XMR > Info

OpenSea未上鏈的NFT,為何會出現在鏈上錢包?_NFT:PEN

Author:

Time:1900/1/1 0:00:00

內容概要

粉絲反饋,他在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

Elon Musk:xAI將與微軟、谷歌、OpenAI競爭;將使用公共數據進行AI模型訓練:金色財經報道,Elon Musk表示,他的新公司肯定會與OpenAI競爭,在AGI領域提供比微軟、谷歌、OpenAI產品更有競爭力的替代方案。xAI仍處于萌芽階段(embryonic),要趕上OpenAI和谷歌還需要時間。同時,在AI模型訓練方面,他們會使用公共數據而非私人數據。

xAI計劃構建一個超級智能人工智能,幫助解決復雜的科學和數學問題,并“理解”宇宙。OpenAI最初的目標是開源和非營利,但因為“命運喜歡諷刺”,OpenAI是閉源的,“對利潤很貪婪”。就AI算力方面,他們同樣需要算力支持,但或許會略少于其他公司。[2023/7/17 10:58:55]

1.4os的免費創造NFT服務是什么?

NFT上鏈成本高,標準ERC721的mint需要8W的gas,約5刀

NFT定制合約難,雖有標準但頂級NFT項目會定制且部分強化功能,例如azuki

因此,易用性一直就是市場的痛點,畢竟藝術家不是合約工程師,需更低成本的試錯來探索有價值的藝術品,官方也特別說明過

在opensea.io上create的NFT,符合ERC1155標準,即使是它們存在于鏈上之前,這些NFT也可以在任何平臺上出售,在交易時才上鏈鑄造

OpenSea Pro集成數據可視化工具Bubblemaps:金色財經報道,OpenSea Pro宣布已集成數據可視化工具Bubblemaps,允許用戶查看某一系列的前150名巨鯨持有者之間的可視化關系,繼而更輕松地跟蹤持有者的行為并提高項目的整體透明度。[2023/5/5 14:43:37]

破案歷程

2.1案例來源

某粉絲很驚奇發現,自己確實可以在os上按流程進行create,但按官方說法此時是未上鏈的,但是他嘗試在小狐貍錢包里導入資產時發現,竟然已經可見,甚至嘗試導入一個自己未create的NFTID時也能導入成功,因此反饋我尋找技術維度的全貌解讀

2.2還原方式

1:os上createNFT得到合約地址與ID

2:小狐貍上開啟NFT檢測后,再手動添加收藏品,即出現SharedStorefront

2.3調查不易

其實查詢資產是否上鏈是個非常容易的過程,用區塊鏈瀏覽器即可

見前文:當我們在看Etherscan的時候,到底在看什么?

但是由于此os的NFT共享商店的合約并沒有做驗證。所以無法直接看源碼查數據

Developer DAO已開放治理代幣CODE空投查詢頁面:8月4日消息,開發者社區Developer DAO已開放治理代幣CODE空投查詢頁面,或即將開放空投申領。快照已于北京時間2021年11月14日15:41:06完成。

CODE總量共計1000萬枚,其中25%(250萬枚)將分發給滿足以下要求的DAO成員:在區塊高度13612670之前持有指定NFT,在Season 0之前參與早期Snapshot提案投票以及擁有指定POAP的成員。總量的10%(100萬枚)分發給早期貢獻者,即幫助建立DAO并做出卓越貢獻的活躍社區成員。[2022/8/4 5:23:28]

但使用未經開源以及安全審計的合約,著實讓我這從事多年安全行業的職業強迫癥有些難受

如果真存在風險,其危害是巨大的

如果真未上鏈,小狐貍錢包去讀取中心化平臺數據?放在我的資產里?

如果真上了鏈,用戶無需gas,則可能官方付費上鏈,雷同羊毛有被攻擊風險

未上鏈的資產,如產生沖突風險,那此NFT屬于誰的?

2.4小狐貍app抓包

首先咱們通過對照實驗做手機抓包,發現整體小狐貍會做的事情很多

穩定幣Gyroscope Protocol新提案提議添加DAI-GYD PSM以降低交易對手風險:6月20日消息,去中心化穩定幣Gyroscope Protocol發起新提案,提議添加DAI-GYD PSM,這將帶來與USDC類似的價值主張,但降低交易對手風險。據其介紹,DAI在市場波動期間價格變得更加穩定,實際上是由于錨定穩定機制(PSM)如期運作。當ETH開始崩潰時,PSM就開始購買穩定幣(本例中指的是26.4億USDC)。總之,PSM正常運作,DAI便更穩定;PSM對USDC有很強的依賴性。

Gyro承諾的是提供極其相似的保證,但以一種更加去中心化的方式達成。Gyro Dollar(GYD)是對一籃子抵押資產的主張,旨在區分不同協議、資產類型和資產的風險。本次設計圍繞兩種市場類型展開:一級市場(PAMM)維持價格區間內的錨定;二級市場(SAMMs)在價格區間內集中流動性。SAMMs是冗余的。如果一個資產交易對失效,其他的將繼續運作。[2021/6/21 23:51:46]

拉取地址余額,交易,最新塊內容,指定地址合約字節碼等等

對數百個網絡包逐個分析后,發現其小狐貍會使用infura的eth-call方法,功能是查詢指定NFT合約中標準的balanceof方法

動態 | OpenBazaar開發人員推出加密移動應用程序Haven:在線去中心化市場和貨幣交易平臺OpenBazaar開發人員宣布推出加密移動應用程序Haven,允許用戶使用加密貨幣直接相互購買和銷售商品或服務,而不依賴中間商。據悉,該應用程序分為四個部分:購物、社交、聊天和非托管聚合錢包(multi-wallet)。[2019/7/30]

為何我如此肯定?此請求包里沒有balanceof呀?

咱們用實驗說話雙向校驗,標準的1155協議的標準函數名及參數為:

functionbalanceOf(address,uint256)

由于data構建指定函數調用,其生成Mothod-ID的原理是名字參數類型組合,因此他構建的call方法,data字段的開頭必然為00fdd58e

我輸入的要添加資產是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/

Tags:NFTOPENPEN小狐貍NFTPOPENAIERC幣APENFT幣最新銷毀metamask小狐貍錢包安卓版

XMR
全新里程碑達成,波場TRON賬戶總數突破1億_NFT:Throne

TRONSCAN最新數據顯示,截至6月25日,波場TRON賬戶總數正式突破1億,迎來新的里程碑。波場TRON各項數據穩中前進,波場生態逐漸強大的同時,也將迎來更多交易量.

1900/1/1 0:00:00
CoinW幣贏X昆侖決聯名限量款NFT正式發售,掀起搶購熱潮_NFT:COIN

昆侖決&蟬FC世界格斗冠軍賽迪拜站于6月25日晚完美落幕,這場比賽由全球領先的加密貨幣交易所CoinW幣贏冠名贊助,匯聚了國際知名拳手,為格斗愛好者獻上了一場令人血脈噴張的感官盛宴.

1900/1/1 0:00:00
Brand-New Event: Trade KOI to Share 30,000 USDT Prize Pool!

Period:13:00(UTC)onJune30-13:00(UTC)onJuly7,2022How?to?Participate: JOINNOW? Clickthe?buttonatthe.

1900/1/1 0:00:00
Pearcoin雪梨:給當下幣圈抄底人的15條忠告_PEA:PEACEDOGEX幣

1.流動性充裕的時代已經一去不復返,沒錢入場,極少人跟進,是當下最大的問題,也是難以有效上漲的根本原因;2.當下震蕩式回調是因為反彈過猛,需要再次試探一下底部,如果二次反彈太弱.

1900/1/1 0:00:00
BNB XRP SOL SHIB、在大盤低迷 出現起漲跡象_USD:比特幣價格今日行情usdt

比特幣和山寨幣放棄了上周救濟性反彈的收益,而6月29日跌破20,000美元表明空頭有意將市場推回年度低點.

1900/1/1 0:00:00
XT.COM關於開放VXXL充值的公告_COM:dynex幣挖礦教程

尊敬的XT.COM用戶:XT.COM現已開放VXXL充值業務。給您帶來的不便,請您諒解!感謝您對XT.COM的支持與信任!XT.COM團隊2022年6月29日Connext:已更正部分交易未納入.

1900/1/1 0:00:00
ads