本文基于自己近期的學習以及和群友討論總結,作為一個記錄,最后是自己對NFT行業現狀一點思考,剛接觸區塊鏈和以太坊編程難免有錯誤,歡迎大家指正和交流。
NFT購買過程
簡單來說購買過程就是你的錢包和NFT合約進行交互,從你的錢包轉賬0.176ETH到合約,調用合約mint方法后,生成兩個NFT代幣,代幣轉移到你的錢包,你獲得這個NFT。
關于NFT合約的內容可以參考以下文章:NFT及OpenSea交易背后的技術分享—Mirror
NFT購買過程詳解
將你從項目方的官方網站上點擊mint按鈕,從瀏覽器到以太網網絡端到端交互過程詳細打開:
NFT購買過程
1、點擊Mint按鈕
大家登陸項目網站,Chrome上連接自己的錢包,然后點擊mint按鈕。網頁上的JavaScript代碼基于項目的mint價格,合約地址等生成rawtransaction數據,主要包含以下幾個關鍵字段
2、TX簽名
網頁代碼與Metamask交互,會彈出窗口讓你確認本次交易。點擊確認后,Metamask會使用你的錢包私鑰進行簽名,以確保這個交易是你本身授權的,后續以太坊網絡會進行校驗。
3、發送TX到node驗證
交易TX被Metamask發送到Metamask的以太坊node,node對TX進行校驗,確保交易不被仿冒。
4、廣播TX到以太坊網絡
德意志銀行申請監管許可,以提供加密貨幣托管服務:6月20日消息,德意志銀行(Deutsche Bank AG)已申請監管許可,以為加密貨幣等數字資產提供托管服務。該銀行商業銀行部門負責人David Lynne周二在一次會議上表示,我們正在打造自己的數字資產和托管業務,我們剛剛向德國證券監管機構Bafin提交了數字資產許可證的申請。
Lynne表示,此舉是德意志銀行增加企業銀行業務手續費收入的更廣泛戰略的一部分。這也反映了德意志銀行旗下投資部門DWS Group擴大數字資產相關產品收入的努力。[2023/6/20 21:50:03]
交易TX被發送到以太坊網絡的相鄰節點,然后再相互廣播到相鄰接點。這時你的交易就可以在etherscan.io上查看到,狀態是pending狀態。
5、礦工node接收到TX
礦工node會將同步過來的tx都放到一個叫Txpool/Mempool地方,這個地方是很多事情的關鍵,需要展開來講一下:
Txpool代碼流程
Txpool的數據來源主要來自:
本地提交,也就是第三方應用通過調用本地以太坊節點的RPC服務所提交的交易;
遠程同步,是指通過廣播同步的形式,將其他以太坊節點的交易數據同步至本地節點;
Txpool中分了Queue和Pending兩個隊列,首先新收到TX會基于規則判斷后先放到Queue這個隊列,然后再添加Pending隊列等待挖礦加入新增的塊。
Starknet生態衍生品協議ZKX新測試網Polaris:4月25日消息,基于 Starknet 的去中心化衍生品交易協議 ZKX 宣布發布新版測試網 Polaris,該版本添加了一個做市機器人來加快訂單執行,并添加資金費率功能來維護平臺穩定性。[2023/4/25 14:25:45]
主要規則如下:
1)優先處理Gasprice高的TX
2)本地TX優先處理,過于遠程同步
3)每個節點會設置最低Gasprice,低于這個值的遠程TX會被丟棄
Pending中的TX,被Miner模塊獲取并驗證,用于挖礦;挖礦成功后寫進區塊并被廣播。Miner取走交易是復制,Txpool中的TX并不減少。TX被寫進鏈后才從Txpool刪除。
Gas過低的TX,會被一直卡在Txpool得不到處理,需要可以提高Gas讓它被處理。
詳細代碼分析可以參考死磕以太坊源碼分析之txpool
GasWar:發生熱門交易時,大家為了自己的TX可以被優先處理,爭相提升Gas費的場景
6、礦工出塊TX被打包
礦工選取TX后開始挖礦,再找到一個區塊的Solution后廣播到以太坊網絡。
7、出塊被驗證
在其他礦工節點驗證后,該區塊正式上鏈,這事我們TX結果可以在etherscan.io上查看到。
8、TX狀態同步
Chainalysis:在OFAC制裁生效后30天內,Tornado Cash總流入量下降68%:金色財經報道,據Chainalysis 1月9日發布的一份報告中顯示,在美國財政部海外資產控制辦公室(OFAC)制裁生效后的30天內,Tornado Cash總流入量下降了68%。
Chainalysis表示,雖然對Tornado Cash的制裁導致其“前端網站被關閉,但其智能合約可以無限期運行,這意味著任何人仍然可以在技術上隨時使用它”。[2023/1/10 11:03:52]
相關狀態返回本地,可以在Metamask上查詢到。
參考文檔:
LifeCycleofanEthereumTransaction
TransactionlifecycleontheEthereumblockchain
TheInfluenceFactorsonEthereumTransactionFees
合約是如何被執行的
簡單說我們發送的交易會被轉換成一個Message對象傳入EVM,而EVM則會根據Message生成一個Contract對象以便后續執行。基于我們轉入的Data轉為合約的input調用mint函數。
詳細看EVM介紹參考如下文檔:
easy-evm
learnblockchain.cn
NFT預售與公開銷售
預售只是針對特定用戶才能購買,公開銷售就是大家都可以搶購。
土耳其中央銀行進行首次CBDC測試:金色財經報道,土耳其中央銀行(CBRT)對其土耳其數字里拉進行了首次測試。作為初始測試階段的一部分,CBRT成功地在其中央銀行數字貨幣(CBDC)網絡上進行了第一筆支付交易。CBRT表示,到2023年,土耳其數字里拉將進入高級階段,中央銀行將在包括銀行和金融科技公司在內的廣泛參與下進行試點測試。該銀行稱:“對數字土耳其里拉法律層面的研究表明,數字驗證對該項目至關重要。因此,在整個2023年,將優先研究數字土耳其里拉的技術要求以及經濟和法律框架”。[2022/12/30 22:15:38]
這里主要需要回答兩個技術問題:
1、如何限制特定錢包才能mint?
2、預售和公開銷售之間是如何狀態切換的?
白名單機制
白名單現在普遍使用默克爾樹來實現,簡單來說將所有白名單錢包地址作為默克爾樹的葉子節點,生成一個Roothash。在合約中只需要存儲Roothash值,在調用mint函數時網頁的JS代碼基于錢包地址生成proof,合約就可以校驗該地址是否屬于白名單。
以C01的合約為例:
0x6fd053bff10512d743fa36c859e49351a4920df6
在預售和公開銷售時通過SetRoot更新hash
詳細原理和代碼參考下面文章:UsingMerkleTreesforNFTWhitelists
銷售狀態切換
外媒:傳統投資組合的低回報推動亞洲家族辦公室投資數字資產:10月26日消息,盡管加密市場經歷數月的市場動蕩,亞洲的家族辦公室仍在購買加密貨幣,因為其傳統投資組合的低回報使數字資產具有吸引力。
畢馬威中國和加密貨幣集團Aspen Digital發布了一份對香港和新加坡30家家族辦公室和富有投資者的調查報告顯示,92%的受訪者對數字資產感興趣,其中58%已經投資,34%計劃投資。本次調研的受訪者中,60%的資產規模在1000萬至5億美元之間。香港家族辦公室Winland Wealth Management首席執行官Keith Wong表示,我們從未對加密貨幣失去興趣并將其視為多元化和單獨的資產類別。(金融時報)[2022/10/26 16:39:29]
常用兩種方式:
1)通過在合約判斷時間點,比如2022-01-0118:00UTC開始公開銷售?
2)通過狀態判斷,及在合約設置狀態變量,比如以XRC的合約為例,判斷Status.PublicSale狀態,這個是調用合約中SetStatus進行設置。
科學家如何搶夠NFT
科學家使用程序搶購NFT,就是使用各種手段使自己的交易TX可以先于別人被礦工打包,在售罄前完成NFTmint。同時科學家都是追求完美的,最完美的結果當然是自己的TX出現在第一個滿足公開銷售狀態的區塊里,也就是搶Block0。
兩種場景的Block0如下圖,同時做到Block0還可以避免后續大家搶購發生的Gaswar,減少搶購成本。但現在越來越卷,Block0也會發生Gaswar,比如XRC公開銷售不到200個,進入Block0的科學家TX數>200,也有不少因為Gas給低了執行靠后沒有搶到。
兩種場景下的Block0科學家用的手段總結大概以下三點:
1、信息獲取時延更低
類似金融量化交易,基金都是期望自己的服務器和交易所通信的時延更低。區塊鏈也是類似,比如CEX大家都會就近接入中心化交易所的服務器。NFTmint和DeFi的交易發生在以太坊網絡中,大家追求的更快的以太坊Node或者接入大礦池的網絡,更快監控到Txpool的pendingTX,獲取需要的信息讓程序及時執行。
2、交易走的路徑更短
1)、直接看了上面的TX交互過程,科學家的選擇肯定直接通過程序和NFT的合約進行交互。
2)、通過在鏈上部署自己的合約,通過私有合約和NFT合約交互。雖然私有合約需要外部TX觸發,但合約可以批量化購買,特別適合不限制mint數量的NFT。
3、批量提交交易
除了上面提到通過私有合約mint之外,如果項目限制了每個地址的mint個數,可以通過Flashbots打包多個TX一起提交。
合約mint
一個合約搶購的例子,YOKAI公開發售后。科學家利用私有合約,一共搶購了mint750個。詳細見TX。
YOKAI合約代碼,沒有限制一個地址可以mint多少個,只限制一次tx只能mint2個。所以被科學家包場了。
神器Flashbots
Flashbots詳解見偉總這篇精彩介紹和官方文檔:Flashbots:如何從沒有ETH的錢包取出資產或交互合約—Mirror
使用Flashbots的有幾點好處:
1)可以批量打包TX一起提交,可以自主控制打包TX的先后順序。
2)Flashbots提交的TX不會出現在Txpool,出現在鏈上之后才會被大家看到。這樣就提供了TX的隱秘性,所以很多DeFi量化交易平臺宣傳自己接入Flashbots。
3)通過Flashbotsmint失敗了不會被收Gas費
Flashbots搶購我們以冷兔XRC的公售為例:
易老板發推說公售不會科學家公售,但結果是在block=14020984Block0解決戰斗,全部科學家包場。
項目方發送的setStatusTX在14020982時在TXpool被監聽到
然后有科學家把setStatusTX和自己的minttx一起用flashbots打包了,發送給礦工。這里科學家把setStatusTX放到了第一,雖然它Gas低,將自己的minttx排在后面,最終tx在984塊入鏈。
Flashbots打包查詢鏈接
燒區塊
簡單說就是一直不停的發tx,發得多mint成功的概率就大,撞大運還可能會擠進Block0。這個方案問題在于會很消耗Gas費,屬于有錢任性的玩法。燒區塊一般考慮開始時間,每次Tx間隔,發送次數,gas費用等,這個一般都是大家根據項目時間,監控pendingtx,鏈上出塊速度等考慮。
冷兔公售搶購時就有大量科學家使用燒區塊的方式搶購成功,可考察這個錢包
如何防科學家
隨著科學家搶購的出現,越來越多的項目開始用各種辦法防科學家搶購,這些方法的本質都是限制科學家直接調用合約mint,讓項目方選定的人才能mint
1、只通過白名單方式發售
項目發售全部使用白名單機制,這樣項目方通過規則篩選出認為是真正欣賞項目的人。
但有規則就有對策,等級+邀請人數,就出現了聊天機器人和工作室養號賣邀請人頭;創作藝術就出現淘寶找人代畫;現在發展到限時邀請進Discord;讓大家猜謎做任務等各種玩法。
項目方是絞盡腦汁和刷白名單的工作室斗智斗勇,普通NFT玩家也被各種規則耍得團團轉。
2、公售采用驗資抽獎方式
如NFT公售時,提前驗證錢包需要一定金額的ETH,然后通過系統抽獎給出中獎名單。但很多項目方為了省事不愿意做一個1:1的抽獎系統,最后公售名單大幅超售,最后還是大家搶購。
3、在服務端簽名驗證mint
類似最近火熱的HAPE的做法,公開的NFT合約限制只能一個私有的閉源的合約才能mint。閉源合約后項目方后臺服務器交互,這個方案從技術上來說還是走web2中心化思路和web3去中心化的理念好像有點沖突。
NFT未來如何發展
肝過白名單人都覺得現在NFT行業很不健康,但NFT行業還在早期,有問題就有市場肯定會有人出來解決問題。
NFT發售需要公開公證透明,個人覺得解決的思路還是可以借鑒現實生活的大家熟悉的兩個場景:
1、新股發售,交易所進行賬戶交易時長、驗資等門檻,然后搖號抽獎發售。
2、京東茅臺搶購,京東平臺進行賬戶認證、搶購公平性保證等
這兩個場景都是通過平臺的權威性來保證公平,但在web3應該會有基于區塊鏈合約的新方案來實現類似的功能,就像現在DeFi市場的各種交易協議,不久將來可能會出現NFT發售協議,提供一種公平公證透明的發售模式。具體怎么做我還在學習思考中,也歡迎大家指導討論。
未來應該是NFT項目方接入一個NFT發射平臺,項目方更專注于藝術創作和路線圖的演進,投資者更專注于項目的內容和前景,而發射平臺通過技術解決現在NFT發售的各種問題。
原文作者:KevinZhou原文翻譯:Blockunicorn 概述 2020年和2021年的最后一個雙牛周期的特點是“敘事”占主導地位,一個新的優秀項目代幣在于他們的營銷和模因質量上決定.
1900/1/1 0:00:00談及足球界的“巨星Token”,那必然會想起世界上第一個發幣的足球明星J羅,在當時可以說是風靡一時.
1900/1/1 0:00:00文章作者:做實驗的W 很慚愧的,雖然就讀于所謂兩財一貿,身邊一堆人在金融卷死卷死,但我對一級二級市場實在沒有很深的接觸和了解,頂多是能對一些business的東西泛泛而談.
1900/1/1 0:00:00作者:胡韜,鏈捕手 USDT發行方Tether今日公布2021年第四季度綜合儲備報告,顯示該公司總資產為786.7億美元,而與數字Token相關的負債約為785.3億美元.
1900/1/1 0:00:00作者|楊鄭君 2月16日,迅雷鏈企業數字藏品服務平臺正式上線,繼阿里、騰訊、京東、百度、網易等之后,又一家互聯網企業正式加入到火熱的數字藏品平臺的競爭中.
1900/1/1 0:00:00今天互聯網的便捷程度讓我們感覺這早已是一個非常精細的領域。然而,實際上在發展和演變的過程中,互聯網經歷了多個進化階段,才達到了今天的水平.
1900/1/1 0:00:00