以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads
首頁 > TUSD > Info

從技術層面教你如何用科學家的方法搶購NFT_INT

Author:

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

原文作者:iamcatcher

原文來源:Mirror

本文基于自己近期的學習以及和群友討論總結,作為一個記錄,最后是自己對NFT行業現狀一點思考,剛接觸區塊鏈和以太坊編程難免有錯誤,歡迎大家指正和交流。

NFT購買過程

簡單來說購買過程就是你的錢包和NFT合約進行交互,從你的錢包轉賬0.176ETH到合約,調用合約mint方法后,生成兩個NFT代幣,代幣轉移到你的錢包,你獲得這個NFT。

NFT購買過程詳解

將你從項目方的官方網站上點擊mint按鈕,從瀏覽器到以太網網絡端到端交互過程詳細打開:

NFT購買過程

1、點擊Mint按鈕

大家登陸項目網站,Chrome上連接自己的錢包,然后點擊mint按鈕。網頁上的JavaScript代碼基于項目的mint價格,合約地址等生成rawtransaction數據,主要包含以下幾個關鍵字段

nonce:nonce,?gasLimit:'21000',?maxFeePerGas:'300',?maxPriorityFeePerGas:'10',?to:'0x198478f870d97d62d640368d111b979d7ca3c38f',?value:'176000000000000000',?data:'0xa0712d680000000000000000000000?000000000000000000000000000000000000000002'gasLimit?–交易可以消耗的Gas的最大數量。單位gweito?–接收地址nonce?–用于跟蹤賬戶已執行的交易總數value?–從轉賬ETH的金額data?–和合約交互,調度mint函數,mint數量2個Function:mint(uint256tokenQuantity)MethodID:0xa0712d68:0000000000000000000000000000000000000000000000000000000000000002maxPriorityFeePerGas?-作為礦工小費包含的最大gas數量maxFeePerGas?-愿意為交易支付的最大gas數量2、TX簽名

微軟與Aptos達成合作,將探索數字支付和代幣化:8月9日消息,Aptos Labs宣布與科技巨頭微軟建立新的合作伙伴關系。除了雙方探索與資產代幣化、數字支付和央行數字貨幣相關的“創新解決方案”外,Aptos還將利用微軟的Azure OpenAI服務。

兩家公司在一份聲明中表示,在一開始,雙方的合作似乎主要集中在利用微軟的人工智能能力來簡化用戶登錄Web3的過程,并幫助“開發人員構建智能合約和去中心化應用程序”。[2023/8/9 21:34:42]

網頁代碼與Metamask交互,會彈出窗口讓你確認本次交易。點擊確認后,Metamask會使用你的錢包私鑰進行簽名,以確保這個交易是你本身授權的,后續以太坊網絡會進行校驗。

3、發送TX到node驗證

交易TX被Metamask發送到Metamask的以太坊node,node對TX進行校驗,確保交易不被仿冒。

4、廣播TX到以太坊網絡

交易TX被發送到以太坊網絡的相鄰節點,然后再相互廣播到相鄰接點。這時你的交易就可以在etherscan.io上查看到,狀態是pending狀態。

5、礦工node接收到TX

礦工node會將同步過來的tx都放到一個叫Txpool/Mempool地方,這個地方是很多事情的關鍵,需要展開來講一下:

Txpool代碼流程

Txpool的數據來源主要來自:

本地提交,也就是第三方應用通過調用本地以太坊節點的RPC服務所提交的交易;

遠程同步,是指通過廣播同步的形式,將其他以太坊節點的交易數據同步至本地節點;

推特用戶發現比特幣Logo存在設計瑕疵:對比特幣運作方式無影響:2月11日消息,產品設計師Doc近日在推特上發布圖片稱,比特幣Logo中有一個小的設計細節,自2010年最初問世以來,一直在多次迭代中保持不變。

2010年11月12日,bitcointalk.org成員bitboy(與YouTuber bitboy Crypto無關)發布了標志性比特幣Logo的矢量文件,該Logo已在全球范圍內被廣泛接受。當它被放大時,可以看到一條橙色的小線從背景延伸到白色的“?”中。

這一信息最初是由推特用戶@_Bosch_披露的,他隨后分享了一個更新的比特幣Logo,刪除了此前發現的小標志,改善了風格比例。在進一步的調查中,社區成員@skyler_fs發現?標志的一個曲率也不光滑。

這一消息不會影響比特幣的運作方式,社區成員也沒有對此表示任何擔憂。即使有人在修復了缺陷后創建了新的Logo矢量文件,它也不會得到主流的接受,除非社區另有決定。(Cointelegraph)[2023/2/11 12:01:13]

Txpool中分了Queue和Pending兩個隊列,首先新收到TX會基于規則判斷后先放到Queue這個隊列,然后再添加Pending隊列等待挖礦加入新增的塊。

主要規則如下:

1)優先處理Gasprice高的TX

2)本地TX優先處理,過于遠程同步

3)每個節點會設置最低Gasprice,低于這個值的遠程TX會被丟棄

Pending中的TX,被Miner模塊獲取并驗證,用于挖礦;挖礦成功后寫進區塊并被廣播。Miner取走交易是復制,Txpool中的TX并不減少。TX被寫進鏈后才從Txpool刪除。

Binance.US收購Voyager資產的最終聽證會將于3月2日舉行,用戶回收資金價格的計算日暫未確定:1月16日消息,針對Binance.US收購Voyager資產的進程,Voyager無擔保債權人委員會在推特上表示,招標完成后,該交易的利益相關方有28天的時間提出異議,異議截止日期為2月22日,最終確認該筆交易的聽證會定于3月2日舉行,該聽證會提供一周的時間來回應聽證會前的任何異議。

此外該委員會表示,盡管Binance.US向UCC保證,轉移的加密貨幣將受到保護,但鑒于FTX的意外崩潰以及加密貨幣行業的盜竊和欺詐風險,UCC向Binance.US尋求更大的保護。即根據修訂后的購買協議,即在交易結束后,加密貨幣將從Voyager每周轉移到Binance.US,而被轉移的加密貨幣是將立即分配給債權人賬戶的加密貨幣。

此外,針對推特用戶關于“客戶資金回收是基于哪一天的價格”以及“是否有基于個人賬戶計算回收估計的電子表格”,此外該委員會回應稱,Binance.US為Voyager加密貨幣支付的價格將在接近交易截止日期的未來日期確定。加密資產的公平市場價值將決定客戶的資產回收率。客戶將獲得統一的百分比回收,無論他們持有的加密資產(包括USDC)如何。請注意,此回收估計是基于12月18日的現貨價格,因此實際回收將根據Voyager加密貨幣的價值而有所不同。

此前1月11日消息,美國法院初步批準Binance.US以10億美元收購Voyager資產。[2023/1/16 11:14:12]

Gas過低的TX,會被一直卡在Txpool得不到處理,需要可以提高Gas讓它被處理。

詳細代碼分析可以參考死磕以太坊源碼分析之txpool

Grim Finance攻擊者將1900枚ETH轉移到Tornado Cash:金色財經報道,據派盾(PeckShield)社交媒體披露,Grim Finance 攻擊者已將 1900 枚 ETH 轉移到 Tornado Cash。據悉,Grim Finance 攻擊者今日在 Uniswap 上將 300 萬枚 DAI 交易為 1830 枚 ETH。 此前報道,Grim Finance 于 2021 年 12 月遭到重入攻擊,該攻擊竊取了價值約 3000 萬美元的加密資產。今年 8 月 19 日,Grim Finance 攻擊者陸續向 Tornado Cash 轉入 1800 枚和 1200 枚 ETH。[2022/8/24 12:45:49]

GasWar:發生熱門交易時,大家為了自己的TX可以被優先處理,爭相提升Gas費的場景

6、礦工出塊TX被打包

礦工選取TX后開始挖礦,再找到一個區塊的Solution后廣播到以太坊網絡。

7、出塊被驗證

在其他礦工節點驗證后,該區塊正式上鏈,這事我們TX結果可以在etherscan.io上查看到。

8、TX狀態同步

相關狀態返回本地,可以在Metamask上查詢到。

參考文檔:

LifeCycleofanEthereumTransaction

TransactionlifecycleontheEthereumblockchain

TheInfluenceFactorsonEthereumTransactionFees

灰度對美國SEC訴訟的案件判決預計需要一到兩年時間:7月11日消息,灰度在其官網上發布關于其“對美國SEC”訴訟相關問答,其中提到,6月29日,在SEC拒絕其將GBTC轉換為ETF的申請的同一天,灰度的法律顧問向華盛頓特區巡回上訴法院提交了復審請愿以作為提前訴訟的第一步,因該申請遭到了SEC的全體委員會拒絕,該委員會由主席及其委員組成。提交復核申請后,訴訟過程將涉及簡報,法官選擇、口頭辯論和最終決定。為了縮短最終決定的時間,灰度將其案件繞過地方法院而直接轉到上訴法院。盡管如此,灰度稱不能確定時間,但根據聯邦訴訟的時間來看,這個過程通常需要十二個月到兩年,但可能更短或更長。

此外,灰度稱如果其在上訴階段敗訴,將有兩種選擇,即可以尋求“全體”聽證會,或者向美國最高法院上訴。[2022/7/11 2:04:41]

合約是如何被執行的

簡單說我們發送的交易會被轉換成一個Message對象傳入EVM,而EVM則會根據Message生成一個Contract對象以便后續執行。基于我們轉入的Data轉為合約的input調用mint函數。

詳細看EVM介紹參考如下文檔:

以太坊-深入淺出虛擬機|登鏈社區|深入淺出區塊鏈技術

NFT預售與公開銷售

預售只是針對特定用戶才能購買,公開銷售就是大家都可以搶購。

這里主要需要回答兩個技術問題:

1、如何限制特定錢包才能mint?

2、預售和公開銷售之間是如何狀態切換的?

白名單機制

白名單現在普遍使用默克爾樹來實現,簡單來說將所有白名單錢包地址作為默克爾樹的葉子節點,生成一個Roothash。在合約中只需要存儲Roothash值,在調用mint函數時網頁的JS代碼基于錢包地址生成proof,合約就可以校驗該地址是否屬于白名單。

以C01的合約為例:0x6fd053bff10512d743fa36c859e49351a4920df6

在預售和公開銷售時通過SetRoot更新hash

詳細原理和代碼參考下面文章:

UsingMerkleTreesforNFTWhitelists

銷售狀態切換

常用兩種方式: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的錢包取出資產或交互合約

使用Flashbots的有幾點好處:

1)可以批量打包TX一起提交,可以自主控制打包TX的先后順序。2)Flashbots提交的TX不會出現在Txpool,出現在鏈上之后才會被大家看到。這樣就提供了TX的隱秘性,所以很多DeFi量化交易平臺宣傳自己接入Flashbots。

3)通過Flashbotsmint失敗了不會被收Gas費

Flashbots搶購我們以冷兔XRC的公售為例:

易老板發推說公售不會科學家公售,但結果是在block=14020984?Block0解決戰斗,全部科學家包場。

項目方發送的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發售的各種問題。

Tags:INTMINMINTNFTINTOMINICATMintWaySHIBANFT

TUSD
波卡的SPREE“可信蟲洞”是什么?_PRE

“波卡知識圖譜”是我們針對波卡從零到一的入門級文章,我們嘗試從波卡最基礎的部分講起,為大家提供全方位了解波卡的內容,當然這是一項巨大的工程,也充滿了挑戰.

1900/1/1 0:00:00
Messari:詳解算法穩定幣項目 Frax Finance 運作機制與發展現狀_FRA

作者:RyanMalden,Messari原標題:《FRAX:AFractional-AlgorithmicStablecoin》編譯:Web3erLiu.

1900/1/1 0:00:00
2022模塊化公鏈能否成為公鏈新趨勢?打頭項目有哪些?_ROL

原文標題:《2022年公鏈新趨勢,你需要了解的”擴容新路線”——模塊化》最近一段時間,許多老鐵應該注意到了一個新詞:模塊化公鏈.

1900/1/1 0:00:00
Polygon與Cere合作推出Web 3媒體平臺DaVinci_區塊鏈

點擊上方“藍色字”可關注我們!暴走時評:第二層擴展解決方案Polygon和去中心化數據云平臺CereNetwork宣布推出雙方合資的Web3媒體平臺DaVinci.

1900/1/1 0:00:00
NFT估值需要考慮哪些因素?_NFT

不可替代代幣市場正在飆升,越來越多的人正在創造、購買、出售和交換NFT。這個新市場存在許多挑戰,最大的挑戰之一是NFT的估值。NFT的估值是一個很大的未知數.

1900/1/1 0:00:00
觀點:Rollup的可組合性要優于L1公鏈_ROL

作者|polynya.eth如果可組合性和互操作性是優先事項,那么rollup是要比L1更好的解決方案注:對于當前的區塊鏈而言,有很多痛點是需要去解決的,比如吞吐量和隱私就是最明顯的例子.

1900/1/1 0:00:00
ads