国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【解密】OpenSea免費(fèi)創(chuàng)造的NFT都沒上鏈竟能出現(xiàn)在我的錢包里?

這篇具有很好參考價(jià)值的文章主要介紹了【解密】OpenSea免費(fèi)創(chuàng)造的NFT都沒上鏈竟能出現(xiàn)在我的錢包里?。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

內(nèi)容概要

粉絲反饋,他在opensea無gas免費(fèi)創(chuàng)建的NFT資產(chǎn),竟能出現(xiàn)在小狐貍錢包里,而opensea官方聲明的此NFT在正式交易前是未上鏈鑄造的,這就很奇怪,中心化應(yīng)用的資產(chǎn)出現(xiàn)在為去中心化應(yīng)用服務(wù)的錢包里,到底是官方代付gas上鏈還是烏龍,隨我一文揭曉!

目錄大綱

1. 背景簡(jiǎn)述

2. 破案歷程

????????2.1 小狐貍網(wǎng)絡(luò)抓包

?????????2.2 鏈上的交易統(tǒng)計(jì)

????????2.3 合約反編譯分

3. 破案總結(jié)

面向?qū)ο?/strong>

  • Web3新手,有無技術(shù)背景均可理解此文解密過程


背景簡(jiǎn)述

1.1 opensea 是什么?

全球最大的公鏈NFT交易平臺(tái),也是目前除以太坊鏈底層外營(yíng)收最大的web3平臺(tái),下文簡(jiǎn)述為os

【解密】OpenSea免費(fèi)創(chuàng)造的NFT都沒上鏈竟能出現(xiàn)在我的錢包里?

?

1.2 NFT是什么?

????可見前文:【源碼解讀】你買的NFT到底是什么?

1.3 NFT鑄造是什么?

??????可見前文:當(dāng)奈飛的NFT忘記了web2的業(yè)務(wù)安全

????大意是,只有在鏈上Mint后的才能認(rèn)為是資產(chǎn),且一般用戶需要付gas

1.4?os的免費(fèi)創(chuàng)造NFT服務(wù)是什么?

NFT上鏈成本高,標(biāo)準(zhǔn)ERC721mint需要8W的gas,約5刀

NFT定制合約難,雖有標(biāo)準(zhǔn)但頂級(jí)NFT項(xiàng)目會(huì)定制且部分強(qiáng)化功能,例如azuki(出品721A,降低批量mint成本)

【解密】OpenSea免費(fèi)創(chuàng)造的NFT都沒上鏈竟能出現(xiàn)在我的錢包里?

因此,易用性一直就是市場(chǎng)的痛點(diǎn),畢竟藝術(shù)家不是合約工程師,需更低成本的試錯(cuò)來探索有價(jià)值的藝術(shù)品,官方也特別說明過(原文見附錄)

在opensea.io上create的NFT,符合ERC1155標(biāo)準(zhǔn),即使是它們存在于鏈上之前,這些 NFT 也可以在任何平臺(tái)上出售,在交易時(shí)才上鏈鑄造

破案歷程

2.1 案例來源

某粉絲很驚奇發(fā)現(xiàn),自己確實(shí)可以在os上按流程進(jìn)行create,但按官方說法此時(shí)是未上鏈的,但是他嘗試在小狐貍錢包里導(dǎo)入資產(chǎn)時(shí)發(fā)現(xiàn), 竟然已經(jīng)可見,甚至嘗試導(dǎo)入一個(gè)自己未create的NFTID時(shí)也能導(dǎo)入成功,因此反饋我尋找技術(shù)維度的全貌解讀

2.2 還原方式

1:os上 createNFT(附錄有官方教程)得到合約地址與ID

2:小狐貍上開啟NFT檢測(cè)后,再手動(dòng)添加收藏品,即出現(xiàn)Shared Storefront

【解密】OpenSea免費(fèi)創(chuàng)造的NFT都沒上鏈竟能出現(xiàn)在我的錢包里??

2.3 調(diào)查不易

其實(shí)查詢資產(chǎn)是否上鏈?zhǔn)莻€(gè)非常容易的過程,用區(qū)塊鏈瀏覽器即可

見前文:當(dāng)我們?cè)诳碋therscan的時(shí)候,到底在看什么?

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

但使用未經(jīng)開源以及安全審計(jì)的合約,著實(shí)讓我這從事多年安全行業(yè)的職業(yè)強(qiáng)迫癥有些難受

如果真存在風(fēng)險(xiǎn),其危害是巨大的

    • 如果真未上鏈,小狐貍錢包去讀取中心化平臺(tái)數(shù)據(jù)?放在我的資產(chǎn)里?

    • 如果真上了鏈,用戶無需gas,則可能官方付費(fèi)上鏈,雷同羊毛有被攻擊風(fēng)險(xiǎn)

    • 未上鏈的資產(chǎn),如產(chǎn)生沖突風(fēng)險(xiǎn),那此NFT屬于誰的?

2.4 小狐貍app抓包

首先咱們通過對(duì)照實(shí)驗(yàn)做手機(jī)抓包,發(fā)現(xiàn)整體小狐貍會(huì)做的事情很多

拉取地址余額,交易,最新塊內(nèi)容,指定地址合約字節(jié)碼等等

【解密】OpenSea免費(fèi)創(chuàng)造的NFT都沒上鏈竟能出現(xiàn)在我的錢包里??

對(duì)數(shù)百個(gè)網(wǎng)絡(luò)包逐個(gè)分析后,發(fā)現(xiàn)其小狐貍會(huì)使用infura(提供api接口同以太坊節(jié)點(diǎn)做交互的平臺(tái))的eth-call方法,功能是查詢指定NFT合約中標(biāo)準(zhǔn)的balanceof方法

為何我如此肯定?此請(qǐng)求包里沒有balanceof呀?

咱們用實(shí)驗(yàn)說話雙向校驗(yàn),標(biāo)準(zhǔn)的1155協(xié)議的標(biāo)準(zhǔn)函數(shù)名及參數(shù)為:


function balanceOf(address,uint256)

由于data構(gòu)建指定函數(shù)調(diào)用,其生成Mothod-ID的原理是名字+參數(shù)類型組合,因此他構(gòu)建的call方法,data字段的開頭必然為00fdd58e?

我輸 入的要添加資產(chǎn)是123號(hào),其data參數(shù)末尾對(duì)應(yīng)是7b=(7*16+11=123) 也對(duì)應(yīng)上。

同時(shí)發(fā)現(xiàn)其缺乏防重放的措施,所以我可以直接編輯參數(shù)

重發(fā)請(qǐng)求查詢其他NFT合約所有權(quán)來對(duì)比

  • azuki:721標(biāo)準(zhǔn),無得到0,有則非0

  • 愛死機(jī):1155標(biāo)準(zhǔn),無得到0,有則得1

  • 查os共享商店,修改參數(shù)尾數(shù)(剛才的123)確實(shí)會(huì)得到值但意義不明

所以這里我得出的一大驚奇猜想是(是錯(cuò)誤的):

鏈上可查得NFT所有權(quán)的值,難道真的上鏈了嗎?

2.5 鏈上交易統(tǒng)計(jì)

如果真上鏈其實(shí)也可以不由用戶支付gas,有種“元交易”的技術(shù)手法,就是交易發(fā)起方和gas支付者不同的形式,并且openzepplin里特地有個(gè)content?合約就是用于額外支持元交易產(chǎn)生的msg.sender?可能特殊化的問題

但是,我通過對(duì)此合約的鏈上交易數(shù)據(jù)統(tǒng)計(jì)(etherscan+dune),抽取23號(hào)一天出現(xiàn)的交易頻率可見下圖,都證明了好像并沒有固定由官方發(fā)起的元交易類型交易

【解密】OpenSea免費(fèi)創(chuàng)造的NFT都沒上鏈竟能出現(xiàn)在我的錢包里?

?

2.6 破局得靠合約反編譯

由于官方?jīng)]有驗(yàn)證合約,導(dǎo)致分析起來費(fèi)勁多了,但可通過合約反編譯來大致摸清邏輯

如果只是openzepplin的標(biāo)準(zhǔn)1155庫(kù)進(jìn)行反編譯的話,行數(shù)是170行

但是此1155則反編譯后是1000行,因此必然有較多自定義實(shí)現(xiàn)

反編譯后整體是吻合1155的數(shù)據(jù)標(biāo)準(zhǔn)


mapping (uint256 => [uint256]) _balanceOf;
mapping (uint256 => [uint256]) _setApprovalForAll; 
uint256[] _name; 
uint256[] _symbol;
mapping (uint256 => [uint256]) _totalSupply;

但是也顯著有不是標(biāo)準(zhǔn)數(shù)據(jù)部分


mapping (uint256 => [uint256]) owner_a; 
mapping (uint256 => [uint256]) _creator;

由于鏈上數(shù)據(jù)讀取返回了結(jié)果,所以重點(diǎn)分析balanceOf?函數(shù),他整體實(shí)現(xiàn)用了30多行,這是很明顯重寫了原先的標(biāo)準(zhǔn)函數(shù)


//此為標(biāo)準(zhǔn)1155協(xié)議的balanceOf 函數(shù)實(shí)現(xiàn),只是讀取指定id和地址的數(shù)值而已
function balanceOf(address account, uint256 id) public view virtual override returns (uint256) {
        require(account != address(0), "ERC1155: balance query for the zero address");
        return _balances[id][account];}

由于os他依舊是沿用標(biāo)準(zhǔn),所以他的兩個(gè)參數(shù)是固定的可以理解為:

  • Varg0 = 待查詢NFTid所有權(quán)的用戶地址
  • varg1 = 待查詢的NFTID 數(shù)字

從反編譯程序里看邏輯,他會(huì)讀取待查地址的_balanceOf總余額數(shù),以及此NFTID是否被_creator等等


//此為反編譯os合約的片段(太長(zhǎng)不粘來,反編譯網(wǎng)址在附錄)
function balanceOf(address varg0, uint256 varg1) public payable { 
    require(msg.data.length - 4 >= 64);
    v0 = v1 = _balanceOf[varg0];
    if (address(_creator[varg1]) == 0) {
        v2 = v3 = address(varg1 >> 96) == varg0;
        if (address(varg1 >> 96) != varg0) {
            if (!(0xff & owner_a[varg0])) { 。。。

最關(guān)鍵的一句address(varg1 >> 96) != varg0

由于反編譯不會(huì)完全按照solidity的語(yǔ)法,所以原本不支持的位移運(yùn)算符就出現(xiàn)了

不講復(fù)雜的,總之這里將varg1?(NFTID)的其中一部分,和varg0(用戶地址)做比較

這也意味著,原來此NFT的ID包含了用戶的地址

我頓然醒悟,寫個(gè)進(jìn)制轉(zhuǎn)換,將我在os上create得到的NFTid傳入,解密得出

【解密】OpenSea免費(fèi)創(chuàng)造的NFT都沒上鏈竟能出現(xiàn)在我的錢包里?

這個(gè)數(shù)值也和我在小狐貍抓包看到的data后半段內(nèi)容是一致

這里還可以繼續(xù)研讀代碼來挖掘細(xì)節(jié)

  • 比如balanceOf?返回結(jié)果為2個(gè)值,會(huì)審計(jì)編號(hào)是否會(huì)超出_totalSupply?限定發(fā)行量

  • 比如safeTransferFrom?專門設(shè)置_mint?防重放攻擊,在其中若未mint則進(jìn)行首次鑄造

在解讀出NFTID的組成后,我也頓時(shí)明白此合約的核心邏輯了

此ID由3部分構(gòu)成,用戶地址+系列編號(hào)+指定ID?,這也意味著無論我鑄造多少次,前xx位都是固定的,即我的錢包地址轉(zhuǎn)為10進(jìn)制而已,而他查詢的balanceof函數(shù)也因?yàn)槲仪熬Y統(tǒng)一,從而判別我是未鑄造前的所有者,因此理論上我的鑄造空間極其大。

因此小狐貍確實(shí)能導(dǎo)入,因?yàn)榍熬Y一致,balanceof?在沒有所有者的情況下,會(huì)默認(rèn)依據(jù)此NFTID對(duì)應(yīng)的空間的所有者返回結(jié)果,如果發(fā)生鑄造轉(zhuǎn)移,也有合約中配套的owner_a?和_creator?來證明這個(gè)創(chuàng)作者和當(dāng)前所有者的關(guān)系。

至于為何小狐貍能出現(xiàn)NFT圖,這點(diǎn)是他官方聲明過的設(shè)置,出于讀取更多維度的描述說明、稀有度、原圖uri等信息,且用戶可關(guān)閉這個(gè)錢包去查詢os中心化數(shù)據(jù)庫(kù)的功能。

【解密】OpenSea免費(fèi)創(chuàng)造的NFT都沒上鏈竟能出現(xiàn)在我的錢包里?

破案總結(jié)

  • 小狐貍是無辜的,他只是用標(biāo)準(zhǔn)方法走infura讀取鏈上數(shù)據(jù)而已,并沒有特別加工并修改返回?cái)?shù)據(jù)

  • os不去驗(yàn)證合約,有一定自我市場(chǎng)競(jìng)爭(zhēng)保護(hù)的目的,但是不能阻擋妙手玩家對(duì)合約分析,卻給不少用戶帶來無法證明資產(chǎn)所有的困境

  • 最終,確實(shí)其NFT資產(chǎn)在交易轉(zhuǎn)移前未被鑄造上鏈,但由NFTID定義的空間已經(jīng)被特殊設(shè)計(jì)可查得余額結(jié)果,所以理論上其他交易平臺(tái)也可買賣此NFT

附錄:

gas價(jià)格圖:https://etherscan.io/gastracker

反編譯平臺(tái):https://library.dedaub.com/decompile

metamask的NFT檢測(cè)功能說明:

https://metamask.zendesk.com/hc/en-us/articles/360058238591-NFT-tokens-in-your-MetaMask-wallet

os共享商店合約地址:

0x495f947276749ce646f68ac8c248420045cb7b5e

OS官方聲明:

【ERC-1155 NFT 會(huì)出現(xiàn)在我的錢包中嗎?】

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

【在 OpenSea 上免費(fèi)創(chuàng)建 NFT指南】

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

寫在最后:

前文回顧

【源碼解讀】你買的NFT到底是什么?

EIP-5058 能否防止NFT項(xiàng)目方提桶跑路?

當(dāng)我們?cè)诳碋therscan的時(shí)候,到底在看什么?

當(dāng)奈飛的NFT忘記了web2的業(yè)務(wù)安全

歡迎各位同學(xué)從后臺(tái)提交有趣的合約或交易哈希。

關(guān)注十四,用技術(shù)的眼光發(fā)現(xiàn)價(jià)值。

看到這里,帥氣的你不點(diǎn)個(gè)贊嗎?文章來源地址http://www.zghlxwxcb.cn/news/detail-445934.html

到了這里,關(guān)于【解密】OpenSea免費(fèi)創(chuàng)造的NFT都沒上鏈竟能出現(xiàn)在我的錢包里?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【JTeam Champion NFT】NFTMarket與OpenSea孰勝孰劣?

    【JTeam Champion NFT】NFTMarket與OpenSea孰勝孰劣?

    當(dāng)今DeFi和NFT兩大市場(chǎng)獲得了區(qū)塊鏈行業(yè)的熱捧,前者近期有降溫趨勢(shì),后者則還處于蓄勢(shì)待發(fā)的階段。 這主要受限于NFT較窄的應(yīng)用場(chǎng)景和受眾范圍,如果NFT能夠像FT一樣有相對(duì)豐富的應(yīng)用場(chǎng)景和玩法,且其交易可以簡(jiǎn)單、易操作、易收益,那么NFT市場(chǎng)將很快走向大眾化,從而

    2023年04月08日
    瀏覽(24)
  • 區(qū)塊鏈 | OpenSea 相關(guān)論文:Toward Achieving Anonymous NFT Trading(二)

    區(qū)塊鏈 | OpenSea 相關(guān)論文:Toward Achieving Anonymous NFT Trading(二)

    ?? 原文: Toward Achieving Anonymous NFT Trading ?? 吐槽: 這論文怎么老有描述不清、前后不一致的地方?? 在本節(jié)中,我們將具體展示我們方案的構(gòu)建。我們將基于一個(gè)示例來描述我們方案的工作流程,該示例中的 Alice 是 NFT 的所有者,而 Bob 想要購(gòu)買它。交易是通過采用我們提出

    2024年04月25日
    瀏覽(26)
  • 區(qū)塊鏈 | OpenSea 相關(guān)論文:Toward Achieving Anonymous NFT Trading(一)

    區(qū)塊鏈 | OpenSea 相關(guān)論文:Toward Achieving Anonymous NFT Trading(一)

    ? ?? 原文: Toward Achieving Anonymous NFT Trading ?? 寫在前面: 本文對(duì)實(shí)體的介紹基于論文提出的方案,而非基于 OpenSea 實(shí)際采用的方案。 其實(shí)右圖中的 Alice 也是用了代理的,不過作者沒有畫出來。 我們首先概述各方在所提方案中所扮演的角色,具體的構(gòu)造細(xì)節(jié)將在后續(xù)進(jìn)行詳

    2024年04月27日
    瀏覽(16)
  • 【NFT開發(fā)】設(shè)計(jì)師無技術(shù)基礎(chǔ)保姆級(jí)開發(fā)NFT教程在Opensea上全套開發(fā)一個(gè)NFT項(xiàng)目+構(gòu)建Web3網(wǎng)站

    【NFT開發(fā)】設(shè)計(jì)師無技術(shù)基礎(chǔ)保姆級(jí)開發(fā)NFT教程在Opensea上全套開發(fā)一個(gè)NFT項(xiàng)目+構(gòu)建Web3網(wǎng)站

    提示:本文全套教程為去中心化NFT項(xiàng)目與國(guó)內(nèi)山寨數(shù)字藏品完全不同 提示:本教程僅供學(xué)習(xí)使用 很多網(wǎng)友私信無技術(shù)基礎(chǔ)如何開發(fā)一個(gè)完整的NFT項(xiàng)目,今天給大家?guī)硪粋€(gè)保姆級(jí)教程僅需復(fù)制代碼即可不需要任何技術(shù)基礎(chǔ)。 提示:以下是本篇文章正文內(nèi)容,下面案例可供參

    2024年01月16日
    瀏覽(23)
  • 解密NFT區(qū)塊鏈游戲和收藏品市場(chǎng)

    解密NFT區(qū)塊鏈游戲和收藏品市場(chǎng)

    近年來,基于區(qū)塊鏈技術(shù)的NFT(Non-Fungible Token, 即非同質(zhì)化代幣)市場(chǎng)正在悄然興起。目前,全球眾多企業(yè)和資本紛紛入局NFT,激發(fā)了NFT的市場(chǎng)活力。 近期,貝恩針對(duì)NFT區(qū)塊鏈游戲和收藏品市場(chǎng)進(jìn)行了深入研究,涵蓋價(jià)值主張、發(fā)展歷程、未來演變,并且為投資者如何布局優(yōu)

    2024年02月08日
    瀏覽(20)
  • 解密區(qū)塊鏈技術(shù)的新篇章:比特幣銘文和Ordinal NFT

    解密區(qū)塊鏈技術(shù)的新篇章:比特幣銘文和Ordinal NFT

    隨著區(qū)塊鏈技術(shù)的不斷發(fā)展,比特幣作為最早的加密貨幣之一,一直處于行業(yè)的領(lǐng)先地位。 然而,隨著NFT市場(chǎng)的崛起,比特幣在這個(gè)領(lǐng)域的發(fā)展也變得越來越重要。最近, 比特幣銘文 和 Ordinal NFT 的概念引起了人們的廣泛關(guān)注。在本文中,我們將解密這些概念,探討它們?nèi)绾?/p>

    2024年02月03日
    瀏覽(16)
  • 免費(fèi)嵌入 NFT 數(shù)據(jù)到任何網(wǎng)站或平臺(tái)

    免費(fèi)嵌入 NFT 數(shù)據(jù)到任何網(wǎng)站或平臺(tái)

    Nov. 2022, Vincy Data Source: Footprint Analytics - Bingo NFT Widget Footprint Analytics 是一個(gè)用于發(fā)掘和可視化整個(gè)區(qū)塊鏈數(shù)據(jù)的工具,專注于解析 NFT 和 GameFi 等數(shù)據(jù)。它使用戶能夠拖放界面以及使用 SQL 或 Python 建立圖表和儀表盤,而無需編寫代碼。 Footprint Analytics 在 9 月 23 日推出了 Widget

    2024年01月25日
    瀏覽(13)
  • AI寫作助手:解密免費(fèi)服務(wù)真相

    AI寫作助手:解密免費(fèi)服務(wù)真相

    在目前的信息盛世,寫作已成為了人們自我表達(dá)與傳遞知識(shí)的主要途徑。然而,對(duì)許多人而言,這并非易如反掌。故此,尋求外力幫助者逐漸增多,而最受歡迎的工具之一便是AI生成文章服務(wù)平臺(tái)。然則,諸多免費(fèi)的AI生成文章服務(wù)平臺(tái)中,那些靠譜的又有多少?借由本文,我

    2024年03月12日
    瀏覽(21)
  • HodlSoftware-免費(fèi)在線PDF工具箱 加解密PDF 集成隱私保護(hù)功能

    HodlSoftware-免費(fèi)在線PDF工具箱 加解密PDF 集成隱私保護(hù)功能

    HodlSoftware是一款免費(fèi)在線PDF工具箱,集合編輯 PDF 的簡(jiǎn)單功能,可以對(duì)PDF進(jìn)行加解密、優(yōu)化壓縮PDF、PDF 合并、PDF旋轉(zhuǎn)、PDF頁(yè)面移除和分割PDF等操作,而且工具集成隱私保護(hù)功能,文件只在瀏覽器本地完成,無需上傳服務(wù)器,保障隱私。 ? 地址:PDF Tool - HodlSoftware ?

    2024年02月10日
    瀏覽(32)
  • 【免費(fèi)題庫(kù)】華為OD機(jī)試 - 密碼解密(Java & JS & Python & C & C++)

    哈嘍,本題庫(kù)完全免費(fèi),收費(fèi)是為了防止被爬,大家訂閱專欄后可以私信聯(lián)系退款。感謝支持 給定一段“密文”字符串 s,其中字符都是經(jīng)過“密碼本”映射的,現(xiàn)需要將“密文”解密并輸出。 映射的規(guī)則(‘a(chǎn)’ ~ ‘i’)分別用(‘1’ ~ ‘9’)表示;(‘j’ ~ ‘z’)分別

    2024年04月10日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包