比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

剖析Gh0stlyGh0sts:可以跨7條鏈的NFT是如何實現的?_MINT

Author:

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

原標題:《那個可以跨鏈的Gh0stlyGh0sts會成為下一個Azuki嗎?》

作者:陳劍

這篇文章涉及代碼相對較多,可能會略有枯燥,請耐心看完從而理解其中原理。

這幾天各個群都在傳一個叫Gh0stlyGh0sts的項目,作為一個freemint的項目已經實現了單日百倍漲幅,這背后最主要的原因是大家都在熱議它可以實現跨鏈的技術創新。???

還記得上一次技術創新后的藍籌股是誰嗎?Azuki,它帶火了ERC721A,具體各位可以看之前的文章web3的世界一片蠻荒-詳解ERC721A。

之前的文章中也多次提到過web3是一個極其依賴技術創新的領域,一方面可以釋放出更多上層應用潛力,另一方面因為土狗項目太多的緣故,使得有技術創新的項目方會直接被視為愿意長期做事的,從而產生fomo情緒,所以從技術創新這一點來看,Gh0stlyGh0sts是有可能具備Azuki基因的。

但是經過研究后,我認為它的這些操作可復制性不高,相比于ERC721A非常重,帶來的收益有限,所以我認為它不會成為下一個Azuki,或者這套解決方案難以像ERC721A一樣大規模使用,具體的原因請耐心往下看,文末最后會講到,但請注意本文不提供任何投資建議。

美聯儲報告:金融市場存在大量流動性風險,穩定幣等仍然容易受到擠兌沖擊:5月9日消息,美聯儲周一警告稱,銀行業對經濟增長放緩的擔憂可能導致貸款發放減少,進而引發經濟加速下滑。這是自四家地區性銀行倒閉以來,美聯儲發布的第一份金融穩定報告。

該報告稱,銀行融資總體上保持相對穩定,但金融市場其他角落存在大量流動性風險。總體而言,國內銀行流動性充裕,對短期批發融資的依賴有限,報告稱。短期融資市場仍然存在結構性脆弱。優質和免稅的貨幣市場基金,以及其他現金投資工具和穩定幣,仍然容易受到擠兌沖擊。壽險公司面臨較高的流動性風險,因為風險性和非流動性資產所占比例仍然處于高位。[2023/5/9 14:51:04]

在大家都在喊這個項目牛逼能跨鏈黑科技的時候,我們公眾號致力于幫助大家更深刻的理解原理本質,所以本文為大家拋析Gh0stlyGh0sts的跨鏈到底誰怎么回事。

我們從它的twitter中可以看到自稱是全球首個omnichain全鏈式NFT項目。

我們先按照時間線看一下他們最開始也是最重要的四條twitter。

它說自己說第一個原生的全鏈NFT,它可以在任何一條鏈上mint和轉移,所在的原始鏈和當前鏈這兩個因素會分別影響NFT的背景顏色與邊框顏色,故你可以一眼看出這個NFT的前世今生,而我們常見的跨鏈橋如Wormhole實現的方式是先在一條鏈上mint后,將其鎖定在跨鏈橋的合約中,再在另外一條鏈上mint出來一個新的去流動,所以強調了自己與傳統跨鏈橋的區別。

Opera推出默認啟用AI服務的新瀏覽器Opera One搶先體驗版本:4月25日消息,Web3 瀏覽器 Opera 推出新瀏覽器 Opera One 搶先體驗版本,計劃在今年晚些時候取代適用于 Windows、MacOS 和 Linux 的旗艦 Opera 瀏覽器。Opera One 中的第一個新功能是 Tab Islands,這是一種新的、更直觀的與多個 Tab 交互和管理的方式。Opera One 還默認啟用 AI 服務,例如包括 AI Prompts,以及在側邊欄中訪問 ChatGPT 和 ChatSonic。[2023/4/25 14:25:50]

所以他相比于傳統跨鏈橋的區別在于三點:

·可以在任何一個鏈上mint而非先在一個鏈mint

·可以實現真正的“轉移”的而非先鎖定一個再復制一個

·原始鏈和當前鏈會影響NFT樣式

可以看到確實因為其前世今生不同使得背景和邊框都是不一樣的。???

再向前翻,說到當一個NFT轉移時,會先將這條鏈上的NFTburn掉再在另外一條鏈mint一個新的出來,那這就是它的原理了,單純從這里看,好像就是相比于傳統跨鏈橋把鎖定動作改成了burn,我們繼續研究看到底有沒有點東西。

澳大利亞參議員提出私人法案以加快加密貨幣監管:金色財經報道,澳大利亞參議員 Andrew Bragg 提交了一份名為《2023 年數字資產法案》的私人參議員法案,以保護消費者和促進投資者,其中包括針對穩定幣的監管建議、交易所許可和托管要求。該法案旨在為加密貨幣交易所、托管服務和穩定幣發行人提供監管框架,既保護消費者又促進投資。它還希望為授權存款機構 (ADI) 報告有關CBDC發行和控制的信息提供指南。

如果通過,該法案將要求個人或企業持有澳大利亞證券和投資委員會 (ASIC) 授予的許可證或外國許可證才能經營加密貨幣交易所。[2023/3/29 13:33:19]

這里他說使用了LayerZero協議從而實現了跨鏈,嗯..那說明關鍵點在這個LayerZero。

上下文了解清楚了,我們開始解析,那首先從這個LayerZero開始研究。

首先跨鏈為什么重要不言而喻,每個鏈你可以將它當作銀行,如果銀行無法跨行轉賬,你的資產流動性和效益將會大大減弱,LayerZero剛完成了A16Z、紅杉資本等投資的1.35億美金融資,可見跨鏈這個操作至少非常受資本喜歡。

這是他們的論文,感興趣的可以親自啃一遍:??https://layerzero.network/pdf/LayerZero_Whitepaper_Release.pdf

日本金融巨頭SBI子公司Clear Markets獲準在美提供加密衍生品交易:8月11日消息,日本金融巨頭SBI Holdings子公司Clear Markets已獲得美國商品期貨交易委員會 (CFTC) 的批準,可提供加密資產衍生品交易。在獲得CFTC的批準后,Clear Markets計劃在美國推出以實物結算為前提的以美元計價的比特幣交易對,并計劃在未來擴展其產品。(Coinpost)[2022/8/11 12:18:08]

LayerZero之所以叫Zero,從名字上就說明它和以太坊、Solana這些Layer1不是一個緯度的,建立在這些Layer1上的跨鏈橋原理基本都如上所說,在一個鏈上鎖定資產后再在另外一條鏈產生資產,鎖定資產的過程即這些跨鏈橋托管資產,這也就是為什么經常爆出跨鏈橋被黑客攻擊的事,從而大家對于將資產托管給跨鏈橋也愈發不信任,除去安全性,跨鏈橋在操作上也非常繁瑣需要多次進行轉移并繳納多次gas費,而LayerZero并不鎖定托管資產,LayerZero是更底層的一個通信協議,直接在兩條鏈之間進行信息傳遞,其實簡單粗暴的理解就是LayerZero在多個鏈之間部署了自己節點,這些節點幫助你在兩條鏈之間通信,比如你在A鏈的合約中調用B鏈的節點,告訴它你要轉移一個NFT,于是該節點幫助你在B之間創建一個新的NFT出來,這兩個節點就承擔了通信的任務,所以原理還是很簡單的。

中非共和國推出名為“Sango Coin”的國家加密貨幣:金色財經消息,中非共和國推出名為“Sango Coin”的國家加密貨幣。

“Sango Coin 將成為中非共和國的下一代貨幣,”中非共和國總統在講話中說。

此前報道,中非共和國總統支持比特幣。[2022/7/4 1:48:32]

我們看一下Gh0stlyGh0sts合約代碼,其中traverseChains這個函數執行的就是跨鏈操作,需要輸入兩個參數chainId鏈id和tokenId。

先進行持有人驗證,再將chainId傳入了一個trustedRemoteLookup數組驗證它的長度是否大于0,這個操作是干嘛的呢?

我們上LayerZero的文檔看到該協議每一條鏈都會對應一個id,所以傳入的chainId代表著你要將NFT轉移到哪個鏈上去,所以這個trustedRemoteLookup應該是存儲不同鏈的合約地址的,才需要在這里校驗你要轉移的目標鏈是否存在對應合約。

我們輸入幣安鏈的id2試一下,果真返回了對應的合約地址。

接著執行了burn操作將你的NFT銷毀,burn先獲取到了這個NFT的持有人,然后執行了_beforeTokenTransfer,這個函數需要傳入的參數有三個,from、to和tokenid,當from為0時代表著鑄造,當from和to都不為0時代表轉移,當from不為0但是to為0代表著銷毀,所以在這里將to傳入0進行銷毀,同時執行approve取消該tokenid的一切授權,然后將原本持有人的余額減1,并在mapping持有關系中刪除持有人和tokenid的關聯。

endpoint即調用了LayerZero接口分別傳入了要轉移的目標鏈chainId、目標鏈的合約地址trustedRemoteLookup等信息,其中payload參數代表著你要傳輸給目標鏈的信息,可以在代碼中看到它傳輸過去了兩個參數當前用戶合約地址msg.sender和tokenId,那我們可以猜想到目標鏈一定會有個mint函數用到這兩個參數來mint出一個新的NFT。

LayerZero的send消息被目標鏈接捕獲后會執行lzReceive函數,我們一層層向上順藤摸瓜,可以看到lzReceive首先對傳過來的payload信息進行了解碼,然后又執行了_safeMint函數新鑄造了對應的NFT。

怎么在各個鏈之間轉移我們明白了,接下來讓我們看看它是怎么實現可以在不同的鏈mint的,我剛開始看到這個能力的時候,第一時間想到的是怎么做去重,因為mint都是按照tokenid遞增的,比如我在以太坊mint了#1,那接下來polygon必須要從#2開始mint,這么多鏈來回mint那不亂套了,當我看到他們的解決方案時有點樂了..

下圖左右兩邊是兩個不同鏈上的合約代碼,分別設定了兩個參數為開始和截止的tokenid,即我在以太坊只能mint第0~3084個,我在arbitrum則只能mint第6476~7092個,所以你在哪些鏈能mint都是事先寫死的,外面的人不知道還以為很智能,實際上用的方式很粗暴。

別忘了它還有一個特點,就是不同的的鏈背景色不一樣,跨鏈后的邊框顏色也不一樣,如下圖我打開了一個跨到以太坊的NFT,顯示它的誕生鏈是Polygon,確實是追溯到了,很神奇對不對。

等我研究完后真雷到我了,且聽慢慢分析。

我聽到這個特性后,第一時間想的是如何能夠“動態”識別跨鏈后的token并自動變更baseURI?大家都知道每一個token對應的是一個存儲在ipfs上的鏈接,這個鏈接存儲了它的屬性和圖片,那比如我的NFT原本在A鏈,這時候我把它跨到了B鏈,那就首先要有一段代碼來自動的生成一個存儲跨鏈前后屬性的json文件,并自動生成圖片,然后再把它傳到ipfs,替換掉舊的鏈接,再映射到token,可是ipfs是不允許改的呀,這是行不通的,在我百思不得其解的時候,我打開了他們的ipfs文件。

可以看到它是用一個大文件夾包了7條鏈子文件夾,子文件夾又是對應的json文件,然后每個子文件夾大小都是一樣的4.2M。

然后我花了近半個小時不斷的理解這里面的原因,這代表著什么呢?最終終于明白了,它事先把所有的可能性全部窮舉出來了。

還記得上文中說到事先用代碼硬編碼寫好了每個鏈可以mint的編號區間,然后它先生成了1萬個全部NFT的json文件,并按照區間設定好其誕生鏈,以及背景圖,比如設定第6000個NFT的誕生鏈為polygon,背景色為紫色,此時是沒有邊框的,所以如果#6000NFT還沒有跨鏈,那正常的就會通過上圖中的poly來索引。

接著它把這1萬個NFT的json文件復制了7遍,然后再把不屬于本鏈中的NFT加上一個本鏈邊框,比如剛才提到#6000誕生鏈是polygon,于是在eth的文件夾里#6000的圖片就會多出來一個灰色的邊框,同理在幣安鏈的#6000NFT會多出來個藍色的邊框。

這個操作是我怎么樣都沒想到的,我一開始以為用了很高級的手法所以不斷的看代碼想找出變更baseURI的業務邏輯,研究了整整1小時沒看出來,沒想到居然用的是這種操作方式。

以上就是Gh0stlyGh0sts是如何實現跨鏈+多鏈mint+前后鏈變更樣式的效果,綜合來看,這套方案不具有任何普適性,操作繁瑣復雜度很高,遠遠沒有ERC721A的那種簡單且收益高的效果,我很敬佩Gh0stlyGh0sts項目方認真努力的精神,但是個人認為這個項目噱頭大于實際意義,至少目前的解決方案來看是的。

Tags:NFTINTMINMINTGNFT幣cointiger官網手機版MINIONS價格MINTME幣

火幣下載
Crypto Insiders創始人撰文:為什么未來屬于NEAR?_區塊鏈

翻譯:蔣海波 4月7日,CryptoInsiders創始人ZoranKole一篇《未來屬于NEAR》的文章引起了加密社區的討論,他寫到,在4月20日.

1900/1/1 0:00:00
Compound 新提案擬縮減流動性獎勵,流動性挖礦過時了嗎?_COM

原文標題:《Compound擬縮減流動性獎勵驅逐投機者》 撰文:凱爾 在2020年掀起流動性「挖礦」浪潮的Compound正在逐步棄用這套激勵措施.

1900/1/1 0:00:00
零知識證明指南:為什么 ZK 如此重要?_ROL

關于ZK 用一句話形容零知識證明:ZKproof是證明者說服驗證者某些陳述是真實的,但除了陳述是真實的之外不透露其他信息的一種方式。ZK是為匿名而設計的.

1900/1/1 0:00:00
AMC Theatres的移動應用程序接受DOGE、SHIB支付_WEN

支持加密貨幣的美國連鎖影院AMCTheatres更新了其移動應用服務,在美國各地接受狗狗幣(DOGE)、柴犬幣(SHIB)和其他加密貨幣作為支付方式.

1900/1/1 0:00:00
Glassnode:盡管市場下滑,但仍有四分之三的BTC地址盈利_比特幣

比特幣的價格最近再次下跌,但區塊鏈分析公司Glassnode的最新分析顯示,高達75%的比特幣地址處于盈利狀態.

1900/1/1 0:00:00
俄羅斯能源部長稱將接受比特幣支付石油和天然氣費用_比特幣

俄羅斯聯邦能源部長PavelZavalny提出了接受中國和土耳其等“友好國家”使用比特幣作為其石油和天然氣支付方式的可能性.

1900/1/1 0:00:00
ads