買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > 中幣 > Info

NFT:Merkle樹的邏輯和證明_NFT幣

Author:

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

什么是Merkle樹

定義

MerkleTree,也叫默克爾樹或哈希樹,是區塊鏈的底層加密技術,被以太坊區塊鏈廣泛采用。MerkleTree是一種自下而上構建的加密樹,每個葉子是對應數據的哈希,而每個非葉子為它的2個子節點的哈希。

如何生成Merkle樹的數據

在solidity中我們通過keccak256算法計算hash值:

keccak256(abi.encodePacked(toHashValue)e.g.:hash前0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2hash后0x999bf57501565dbd2fdcea36efa2b9aef8340a8901e3459f4a4c926275d36cdb

30分鐘前Farmer X從KuCoin提取了8670枚CREAM:金色財經報道,據Lookonchain監測,30分鐘前Farmer X從KuCoin提取了8670枚CREAM (價值32.5萬美元) 。Farmer X還于6月15日從KuCoin提取了 42,767枚CREAM(價值160萬美元)。Farmer X的2個地址目前持有360,574枚CREAM (價值1350萬美元),是CREAM的最大持有者。[2023/6/25 21:57:49]

在對葉子節點的值進行hash運算之后,再把相鄰的節點再進行hash運算,直到只剩下一個根節點。假設存在兩個相鄰的節點A和B,那么在進行hash運算的時候到地址是hash(A+B)呢?還是hash(B+A)呢?其實這是由A和B的大小決定的,在openzeppelin對應的merkle代碼中我們可以找到這么一段代碼:

律師事務所Pomerantz已代表Core Scientific投資者對該礦企展開索賠調查:1月10日消息,律師事務所Pomerantz已代表比特幣礦企Core Scientific的投資者對該礦企展開索賠調查,調查涉及Core Scientific及其某些高級職員或董事是否從事證券欺詐或其他非法商業行為。

金色財經此前報道,美國最大上市比特幣礦企之一Core Scientific于2022年12月份在德克薩斯州申請第11章破產保護。該公司仍產生正現金流,并計劃在償還債務人的同??時繼續開采。此外據官方數據,Core Scientific在去年11月和12月分別生產了1356和1435個自挖比特幣,為托管客戶提供了795枚和931枚比特幣。[2023/1/10 11:03:34]

function_hashPair(bytes32a,bytes32b)privatepurereturns(bytes32){returna<b?_efficientHash(a,b):_efficientHash(b,a);}

聲音 | TD Ameritrade首席市場策略師:未來一段時間內BTC仍將維持區間波動:券商巨頭TD Ameritrade的首席市場策略師JJ Kinahan在談及BTC最近的行情走勢時表示:“今天出現了一個不錯的下行走勢,但在我看來,未來一段時間內仍將維持區間波動。我不知道有什么刺激因素可以將價格帶離此范圍。在我看來,這與我們看到的市場整體狀況相符。”(彭博社)[2019/11/9]

總結來說就是把相對小的數值放到前面去這么來排序計算hash值。這個地方在自己動手實際運算的時候可能會有些許困惑。在實際的項目中一般只需要把計算的最后結果的根hash值存儲到合約中,如果大量的地址都需要存到合約中的話會消耗大量的gas費。經過merkle樹計算之后,大大的減少了需要存儲的數據。通過一段foundry的setUp演示下如何計算和存儲roothash值:

金色獨家 Stan Larimer:“強波動性”不是加密市場“特質”:金色財經獨家專訪,日前Stan Larimer在談加密貨幣市場波動性時指出:任何一種資產形式都有價格波動,之所以人們認為加密市場的價格波動更劇烈,是由于其市場尚小且還不成熟,入局的門檻也低一些。加之這個產業有非常多的流言蜚語與眾多容易受流言影響的不成熟投資者,以上所有因素造成了如今加密市場的強波動性。

但是,我們不能因為以上這些原因就把“強波動性”定義為加密市場特質,我們知道:比特幣很長一段時間不太值錢,現在市場份額十分可觀,并且價格也相對穩定了;單個幣種有可能經歷大的波動,但并不是系統性的;有些幣種本來就是錨定美元和固定資產的,他本來就是一種“穩定幣”。以上幾點就可以看出,把加密市場一概而論為強波動市場是不對的。[2018/6/18]

bytes32publicroot;bytes32publicleafs;bytes32publicl2;functionsetUp()public{addressmemoryaddrss=newaddress(4);addrss=0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2;addrss=0x2d886570A0dA04885bfD6eb48eD8b8ff01A0eb7e;addrss=0xed857ac80A9cc7ca07a1C213e79683A1883df07B;addrss=0x690B9A9E9aa1C9dB991C7721a92d351Db4FaC990;//通過地址列表計算葉子節點的hash值leafs.push(keccak256(abi.encodePacked(addrss)));leafs.push(keccak256(abi.encodePacked(addrss)));leafs.push(keccak256(abi.encodePacked(addrss)));leafs.push(keccak256(abi.encodePacked(addrss)));//計算第二層的hash值l2.push(keccak256(abi.encodePacked(leafs,leafs)));l2.push(keccak256(abi.encodePacked(leafs,leafs)));//計算根的hash值root=keccak256(abi.encodePacked(l2,l2));}

為了演示方便我們值寫了4個地址,實際項目中可能地址數量非常大。

如何來驗證Merkle樹

在合約中存儲到roothash值之后我們如何去驗證由客戶端發過來的地址是否是有效地址或者說在白名單中的地址呢?首先我們需要將地址進行hash運算,作為第三個參數,然后將地址相鄰的hash值作為proof傳到驗證函數中。proof列表對應下面圖片中的紅色標記區域

測試的驗證方法:

functiontestVerify()public{addressproofAddress=0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2;bytes32memoryproof=newbytes32(2);proof=leafs;proof=l2;assert(MerkleProof.verify(proof,root,keccak256(abi.encodePacked(proofAddress))));}

在實際項目中的應用場景

發放空投

NFT的白名單

在合約審計中的常見漏洞

functionparentHash(bytes32a,bytes32b)publicpurereturns(bytes32){if(a<b){returnkeccak256(abi.encode(a,b));}else{returnkeccak256(abi.encode(b,a));}}

abi.encode(address,uint)將會輸出64字節。由于abi.encode(bytes32,bytes32)也是64字節,因此在葉子節點和父節點之間可能會發生哈希碰撞。

Tags:區塊鏈以太坊NFT區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術發展現狀和趨勢以太坊幣是什么幣NFT價格NFT幣

中幣
加密貨幣:這個國家對加密收益進行減稅,為Pi網絡的發展和采用鋪平了道路!_加密貨幣市場還有未來嗎知乎

斯洛伐克國家委員會投票贊成對銷售持有至少一年的加密貨幣所得利潤進行大幅減稅。目前,斯洛伐克的加密貨幣利潤需要繳納19%或25%的稅率。然而,經批準的修正案將大幅降低稅率至7%.

1900/1/1 0:00:00
人工智能:凝聚共識,團結先鋒:Pi Network在大中華地區的主網之旅!_人工智能人工智能技術應用

在我看來,在數字化時代,人們需要共同面對許多全球性的挑戰,如氣候變化、數字化轉型、人工智能等。有關“將Aave V3部署至Celo”的提案即將開啟溫度檢查投票:8月14日消息,Snapshot頁.

1900/1/1 0:00:00
ESS:多少有點氣憤!Pi網絡爐邊論壇充斥著各種騙局和推銷!_ELONONE價格

問題本質在于Pi網絡爐邊論壇現狀問題的出現。V神:MESS審查令人失望,并不能提供多少安全性:針對ETC正在實施51%的攻擊解決方案MESS,以太坊創始人V神在推特上發文表示,這是我最討厭的一點.

1900/1/1 0:00:00
數字貨幣:恭喜:尼日利亞的Pi網絡先鋒用0.00539π買了一輛摩托車!_數字貨幣交易所官方網址

這則新聞背后反映出了尼日利亞的Pi網絡先鋒對數字貨幣的信仰,以及Pi網絡在該國的普及程度。 Legend Trading在亞太區和拉丁美洲推出USDC快速交易和結算業務:9月6日消息,美國合規加.

1900/1/1 0:00:00
加密貨幣:Pi網絡用戶對開放主網啟動延遲持續表示沮喪_加密貨幣市場還有未來嗎知乎

Pi網絡一直面臨著用戶群日益增長的不滿情緒。期待已久的開放主網的延遲發布在PiNetwork用戶中造成了挫折,導致一些人完全放棄了這個項目.

1900/1/1 0:00:00
數字資產:全世界所有先驅者的好消息!Pi Network智能合約即將推出!_數字資產是未來最大的資產

PiNetwork智能合約是建立在PiNetwork區塊鏈網絡上的智能合約。智能合同是一種計算機程序,它根據預定義的術語和邏輯自動運行.

1900/1/1 0:00:00
ads