以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads
首頁 > ICP > Info

科普 | 默克爾樹的基礎數據結構_CAS:PCASH幣

Author:

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

本文主要介紹了默克爾樹的基礎數據結構,以及默克爾樹相關的應用延伸的起點。

默克爾樹簡介

本文主要介紹了默克爾樹的基礎數據結構,以及默克爾樹相關的應用延伸的起點。

在Coursera平臺的比特幣和加密貨幣技術課程中,作者學習了如何使用基于哈希的數據結構來驗證P2P網絡系統中數據完整性的基礎知識。該課程中提到的核心數據結構之一是默克爾樹,它存在于比特幣區塊鏈中,以一種非常有效地節省空間和時間的方式,來幫助驗證交易的存在(本文后面會詳細介紹!)。作者深入研究了默克爾樹,意識到這個數據結構實際上是多么豐富的,所以決定寫一篇默克爾樹學習筆記。

美國說唱歌手Megan Thee Stallion與Cash App合作發布比特幣科普視頻:美國說唱歌手Megan Thee Stallion與由Square開發的移動支付服務Cash App合作發布了一段名為“Bitcoin for Hotties”的視頻。該視頻從她的角度解釋了什么是比特幣,為什么比特幣有價值等內容。Megan Thee Stallion在Instagram上擁有超過2410萬粉絲,在 Twitter上擁有640萬粉絲。(Bitcoin News)[2021/8/8 1:41:10]

默克爾樹解說

默克爾樹構建完成后,看起來是這樣:

人大附中物理老師李永樂科普拜占庭將軍問題和區塊鏈:5月14日,人大附中物理老師、科普視頻網紅李永樂在其公眾號發布視頻《拜占庭將軍問題是什么?區塊鏈如何防范惡意節點?》。李永樂老師在視頻中對拜占庭將軍問題和區塊鏈進行了講解,他表示,拜占庭將軍問題本質上指的是,在分布式計算機網絡中,如果存在故障和惡意節點,是否能夠保持正常節點的網絡一致性問題。在近40年的時間里,人們提出了許多方案解決這一問題,稱為拜占庭容錯法。例如蘭波特自己提出了口頭協議、書面協議法,后來有人提出了實用拜占庭容錯PBFT算法,在2008年,中本聰發明比特幣后,人們又設想了通過區塊鏈的方法解決這一問題。區塊鏈通過算力證明來保持賬本的一致性,也就是必須計算數學題,才能得到記賬的權力,其他人對這個記賬結果進行驗證,如果是對的,就認可你的結果。與拜占庭問題比起來,就增加了叛徒的成本。[2020/5/14]

和H,如果沒有縮寫的話,根哈希也可以為H+H)+H+H)))

動態 | 新浪財經:官媒針對區塊鏈的報道從科普宣傳轉向打假監管:據新浪財經今日消息,“1025新政”滿月,一個月間,官媒對區塊鏈的態度風向已轉。據11月初的一項統計,七家黨媒在新政一周內發布了65篇直接相關報道,當時文章中的關鍵詞是數據、產業、安全、創新等,大量文章偏向于科普區塊鏈的概念以及應用介紹,提醒警惕虛擬貨幣炒作的僅有3篇。近期,官媒的批評焦點則紛紛指向借區塊鏈之名進行的虛擬貨幣發行和炒作行為。據統計,新華網、人民網收錄轉載的,以打擊虛擬貨幣或揭露假借區塊鏈行騙為主題的文章,自10月25日到11月25日午間,共28篇;其中,11月19日至11月25日的一周內就高達15篇。這些文章主要圍繞三個觀點展開:厘清區塊鏈和虛擬貨幣的關系,說明二者概念不等;打擊偽“區塊鏈”騙局,或是虛擬貨幣騙局揭露;提醒民眾,區塊鏈不能成為炒作的噱頭,更不是行騙的招牌,需警惕此類活動,理性投資。[2019/11/26]

a、b、c、d是一些數據元素,H是哈希函數。如果你不是很了解哈希函數,可以把它理解為數據塊的“數據指紋”,Hash是一個把任意長度的數據映射成固定長度數據的函數,而根據Hash值反推原始輸入數據的特征是幾乎不可能的。每個節點都是通過哈希運算父節點得到的,默克爾樹的常見結構是二叉樹,但也有非二叉樹結構的,比如以太坊平上默克爾樹。本文只討論這種最常見的二叉樹結構。

動態 | 央行官微舊文重發“再科普”:范一飛詳解數字貨幣:據中國經濟網消息,今日,央行官微公眾號頭條重新發布央行副行長范一飛在2018年1月25日題為《關于央行數字貨幣的幾點考慮》的文章,對央行數字貨幣再次進行科普。同時,微信公眾號第二條發布支付司副司長穆長春8月10日在第三屆中國金融四十人伊春論壇上的演講。近年來,各主要國家和地區央行及貨幣當局均在對發行央行數字貨幣開展研究,新加坡央行和瑞典央行等已經開始進行相關試驗,人民銀行也在組織進行積極探索和研究。[2019/8/21]

自下而上通過哈希運算相同高度的節點,直至生成默克爾樹根節點。在生成默克爾樹的時候,如果存在單個葉子節點無法匹配成對,就需要特殊處理這個情況,除此之外,樹的構造非常簡單。

默克爾樹構建完成后,就可以在O(logn)時間內使用根哈希對葉子進行驗證,驗證工作是通過重新創建包含從根到被驗證的數據段進行的。在上面的例子中,如果想要驗證c,那么就需要得到H和H+H)。數據c哈希后得到H,再將H與H進行哈希運算,然后將H與H在進行哈希運算,得到一個最后的哈希值,如果這個哈希值與根哈希相同,則說明c確實是默克爾樹中數據的一部分。

中科院自動化研究所將面向大中小學生開展區塊鏈等主題的科普講座:5月21日,新華網訊,今年,中國科學院自動化研究所將舉辦第十四屆“自動化之光”公眾科學開放日活動。屆時,自動化所將面向大中小學生分別開展《腦與智能》、《區塊鏈技術與平行智能》、《大數據時代的視覺智能》、《動畫真奇妙》等4個主題報告,用實例和生動的演示深入淺出地為大家揭示智能技術的原理和奧妙。[2018/5/21]

在BT下載等情況下,是由另一方提供數據c,H和H+H)的,如果你擔心這種方法的安全性,請記住在一個哈希函數上不可能找到e值使得H=H。這意味著只要根哈希是正確的,其他人很難作假他們提供的數據。

輸出某些數據的驗證路徑和重新創建通向默克爾樹根的分支一樣簡單。在數字簽名方案中使用默克爾樹時,驗證整個默克爾樹及其各個葉子節點自身的數據就很重要,并且這實際上是可以在O(logn)時間內完成。有一些更高級的算法是可以完成這一輸出過程的。

默克爾樹的執行方法

下圖是完整版本的代碼,作者將會在這里解釋創建和驗證默克爾樹的方法。注意build_tree和_audit方法都是來自較大類的實例方法。

構建樹的方法是將葉子添加到堆棧中,并檢查堆棧中的前兩個節點是否具有相同的高度。當高度相同時,節點有一個“子值”(兩個節點哈希值相連后的再次哈希值),當高度不同時,一個新節點會追加到堆棧中。當最后兩個節點高度不同時,需要處理這種邊緣情況。

上面的方法在單節點情況下會失敗,因為不滿足任何條件,所以有一個小方法來處理完整性。

上圖是本文要解釋的驗證過程。公開驗證方法會檢查一些先決條件,這就是為什么大部分邏輯放在這個私人版本中的原因。

默克爾樹的應用

默克爾樹在區塊鏈中應用,近年來引起了人們的廣泛關注。在許多P2P網絡系統中(不僅僅是區塊鏈),個人需要能夠從不受信任的一方獲取數據,并證明對方發送給他們的內容是他們想要的真實內容。BT文件(種子文件)就是一個例子:當你下載一個BT文件時,你會收到別人在網上“播種”的BT文件,但是你怎么能確定這些文件真的,是你要下載的內容,而不是垃圾或惡意軟件呢?默克爾樹可以對從對方接收到的數據進行身份驗證,以解決這個信任問題。

類似的問題也適用于像比特幣和以太坊這樣的加密貨幣:如果有人聲稱另一個同行在交易中向他們支付了費用,那么網絡上的一個節點如何驗證交易是否真的發生了呢?一種方法是,節點可以存儲曾經發生過的完整交易歷史記錄,但是,就節點的時間和空間成本而言,這是不現實的。默克爾樹提供了一種解決方案,可以為網絡上的節點節省時間和空間。通過每個區塊中的交易數據創建默克爾樹,可以在O(logn)時間內審計交易。此外,它為一些比特幣客戶端提供了新的解決方案,可以節省空間,只存儲默克爾樹根,不需要存儲歷史每一筆交易,這創造了巨大的價值!

除了區塊鏈和BT下載,默克爾樹還能在任何需要有效檢測不一致性的系統中被應用:

證書頒發機構(CAs)使用默克爾樹作為證書透明性的一種方法。在這里,公鑰私鑰對被視為默克爾樹的葉子。這是CAs用來防止某個CA可能耍無賴并試圖在某個領域的所有者不知道證書的情況下對該領域的證書進行認證的一種機制。

高度可伸縮的數據庫,如ApacheCassandra和DynamoDB,處理網絡上復制數據庫的故障。這個過程被稱為“反熵”,ApacheCassandra博客和AmazonDynamoDB論文對其進行了較為深入的描述。

RSA的數字簽名替代品,在這種情況下,默克爾樹的根充當公鑰,單個節點用作一次性簽名。最近,人們做了更多的工作來推進這種技術,因為理論上它可以抵抗量子計算攻擊(和RSA不一樣,默克爾樹為當今大多數公鑰密碼術提供了支持)。

默克爾樹的應用確實很多,在任何特定領域的默克爾樹應用都是需要長篇大論來論述的,在這里我們只做簡單的介紹。

原文:https://hackernoon.com/merkle-tree-introduction-4c44250e2da7

稿源:https://first.vip/shareNews?id=2130&uid=1

Tags:區塊鏈比特幣CAS數字貨幣區塊鏈是什么工作比特幣糖果PCASH幣麥卡幣數字貨幣

ICP
比特幣:極簡主義經濟學_BTC:比特幣

根據奧地利經濟學家的評估商品的可銷售性標準,BTC有兩處達不到常規商品的標準。 BTC極簡主義并不是個完美的學說,甚至BTC極簡主義在很多方面都存在錯誤.

1900/1/1 0:00:00
基于隱私計算技術,新?代聯盟區塊鏈平臺PlatONE正式上線_PlatON:LAT

9月25日,基于隱私計算的新?代聯盟區塊鏈平臺PlatONE官網正式上線,并同時發布PlatONE白皮書.

1900/1/1 0:00:00
一個發起比特幣100倍賭約的“耶穌”和一個無償宣傳比特幣的布道者的故事_ROG:比特幣

根據9月6日的CoinMarketCap數據顯示,比特幣市值占比全部加密貨幣總市值已經突破71%,再創今年新高,市值總額超過1900億美元,幣王寶座名副其實.

1900/1/1 0:00:00
瑞士證交所SIX推出數字資產交易測試平臺,打造基于DLT的可信數字基礎設施_SIX:ETP

據Coindesk9月23日報道,瑞士證券交易所SIX推出了其為數字資產量身打造的交易所和中央證券托管的測試版平臺.

1900/1/1 0:00:00
Vitalik是如何評價以太坊生態隱私、DeFi 和以太坊 2.0 的?_以太坊:saitama幣分析

在以色列特拉維夫舉行的以太坊會議上,以太坊聯合創始人VitalikButerin在今天Q&A環節中討論了整個以太坊生態系統的發展.

1900/1/1 0:00:00
行情分析:BTC市場多空情緒逐步展開,壓力再現局勢膠著_GMT:SDT

今日BTC走勢繼續保持向下調整的姿態,四小時走勢已經6連陰跌,量能持續流出,市場情緒萎靡,離場效應增強,走勢仍有進一步向下深入的姿態,小時布林帶呈收口收口的姿態,短期走勢進入震蕩的節奏中.

1900/1/1 0:00:00
ads