在密碼學貨幣領域,默克爾樹是一種很高效的方法,用于證明一大組數值中存在一個特定的數值,而且將數據存儲量降到了最低。本文介紹了默克爾樹,并且展示了如何通過存儲多個層級的默克爾樹分支而非根節點的方式來大量減少重復證明”)。哈希函數
哈希函數可以把一段任意長度的數據變成一個固定長度的值。例如,下圖中“Apple”和“Orange”的哈希值如下所示:
-哈希值-哈希函數有很多特征,其中最顯著的兩點是:即使輸入值僅有毫厘之差,得到的哈希值也會迥然不同;從數學上來說很難根據哈希值倒推出輸入值。默克爾樹
默克爾樹指的是將多個輸入值和它們的哈希值結合起來壓縮成某個固定長度的值。默克爾樹的頂端是各種輸入值,被稱為“葉節點”。每個葉節點經過哈希得到上一層分支,相鄰兩個分支拼接在一起之后哈希得到中間支。一層一層哈希之后,最后得到一個哈希值,即默克爾根節點。默克爾樹的示例圖如下:
俄羅斯經濟學家:無論央行采取什么行動,加密貨幣都不會被完全消滅:金色財經報道,俄羅斯著名的經濟學家Nikita Maslennikov認為,中央銀行最終將決定加密貨幣的命運,即使他們目前沒有“優先考慮”對該行業的監管。加密貨幣監管已成為許多國家的問題。然而,中央銀行不認為加密貨幣監管是他們的主要任務之一。俄羅斯和中國都對加密貨幣采取了“更強硬的立場”。中國已禁止大多數與加密相關的活動,包括采礦和交易加密貨幣。俄羅斯中央銀行也提議全面禁止,盡管其他政府機構采取了更先進的方法。而美國迄今為止采取了更溫和的監管方式。盡管如此,加密貨幣的未來仍與中央銀行對市場的監管有關。
Maslennikov聲稱,無論央行行長采取什么行動,加密貨幣都不會被完全消滅。他表示,人們對“風險和投機”的胃口將確保加密貨幣以某種形式存在。[2023/2/21 12:19:42]
-默克爾樹-上圖所示的默克爾樹有8個輸入值,分為4層。根節點就是位于最末端的0xd576...ffd9。正如上文所述,即使輸入值極為近似,得到的哈希值也是迥然不同的。如果輸入值發生了變化,會影響到默克爾樹的各個層次,最后得出完全不同的根節點。例如,將輸入值中的“Peach”改為“Pear”之后,這個默克爾樹都會發生變化,如下圖所示:
華爾街分析師:比特幣的波動性與蘋果或亞馬遜等大盤股沒什么不同:華爾街金融分析師、比特幣支持者Max Keizer發推文表示,比特幣的波動性與蘋果(AAPL)或亞馬遜(AMZN)或任何其他大盤股沒什么不同。經濟學家顯然從未擁有過這些資產,這就是為什么沒有一個經濟學家是億萬富翁的原因。(U.today)[2020/5/11]
-一處改動對整個默克爾樹的影響-默克爾樹是可再生的:如果把完全相同的輸入值按照同樣的順序排列,默克爾樹的分支和根節點始終會得出同樣的哈希值。默克爾路徑
默克爾路徑指的是某個輸入值到默克爾根節點之間所有哈希值的集合。下圖顯示了輸入值“Peach”的默克爾路徑:
-"Peach"的默克爾路徑-默克爾證明
大咖零距離 | 牛市來了 還可以在什么點位上車:2月12日16:00,金色盤面邀請區塊鏈KOL安迪做客金色財經《大咖零距離》直播間,將分享《牛市來了,還可以在什么點位上車?》,敬請關注,欲進群觀看直播掃描海報二維碼報名即可![2020/2/12]
默克爾證明指的是不需要知道一個數據集合中的其他值就能證明某個值屬于這個集合。
-默克爾證明-默克爾證明需要三樣東西:輸入值、中間支哈希值和默克爾根節點。每個輸入值對應的中間支哈希值集合各不相同。區塊鏈系統經常會用到默克爾證明,證明某個數據集合內存在某個輸入值,這樣就不需要將整個數據集合都存儲在區塊鏈上了。假設一個以太幣合約內有一個白名單列表,只允許列表內的賬戶購買以太幣。如果將白名單內每個賬戶信息都存儲在區塊鏈上,勢必要付出很高的成本。在這種情況下,只需要創建一個默克爾樹,再將根節點存儲在區塊鏈上即可。例如,如果將根節點存儲在一個智能合約上,這個智能合約很容易就能證明某個賬戶包含在白名單內:這個賬戶需提供中間支哈希值,智能合約將這個賬戶的哈希值依次與中間支哈希值進行哈希計算。如果最后得出的結果與默克爾根節點一致的話,就證明這個賬戶確實在白名單里。請注意最后兩張圖中默克爾路徑和默克爾證明的哈希值之間的關系。在同一棵樹的同一個層級中,默克爾證明的哈希值與默克爾路徑的哈希值是相互關聯的。由此可見,默克爾證明能夠重塑輸入值的默克爾路徑,這就是為什么最終結果是默克爾根節點的原因。至此,可以看出默克爾證明具有以下特征:在鏈上存儲默克爾證明所需的空間遠遠小于直接存儲輸入值所需的空間在鏈上公開存儲默克爾證明也不會暴露整個輸入值集合要證明某個輸入值集合內是否存在某個值,驗證默克爾證明的成本低于核對整個輸入值集合的成本重復證明
閻焱回應為太空鏈站臺:我和太空鏈沒有任何關系,我連它是什么都不知道:太空鏈SPC(Space Chain)ICO項目以一天時間完成10億人民幣私募,依靠薛蠻子、閻焱、帥初等一票大佬站臺,用“量子”、“太空”、“衛星”等一堆高科技關鍵詞包裝,卻在一個月內隨即跌破發行價,市值接近為零,眾多投資者要求退避維權一事的調查。針對為太空鏈站臺一事,閻焱對媒體回應:“我和太空鏈沒有任何關系,我連太空鏈是什么都不知道,我已委托律師聯系他們。”[2018/3/16]
在上文的例子中,每個賬戶只需要發送一個默克爾證明,就能夠驗證自己是否在白名單上。此外,默克爾樹還可以用作概率性知識證明,每一次知識證明都能使我們更加確信:默克爾樹的創建者知道所有的構成值。在這種情況下,證明者通常會根據包含幾十個乃至成百上千個輸入值的默克爾樹生成上百個證明。這些證明會連同默克爾根節點一起發送給驗證者,來驗證它們的有效性。讓我們緊接著上面的例子來探究重復證明,下面三幅圖分別是由同一個默克爾樹生成的三個不同的證明:
-同一個默克爾根的重復證明-可以看出總共發送了一個默克爾根節點和三個證明,加起來共有10個哈希值:根節點有1個,其余三個證明各有3個。有沒有效率更高的做法?可以看出默克爾樹的第一個層次只有兩個值c0b7...da30和6ff9...8e3d,但三個證明總共發送了3個哈希值。那么,如果一開始提供的部分不僅包括最低層次的哈希值,還提供更上一層次的哈希值,效率會不會更高?
-擴展式默克爾根節點的重復證明-默克爾樹截頂
擴展默克爾根也可以說是給默克爾樹截頂,也就是只保留默克爾根節點和少數幾層中間支。默克爾樹截頂的順序是按照根節點上方的中間支層數決定的。1階默克爾截頂包含一層中間支,如下圖所示:
-1階默克爾截頂-2階默克爾截頂包含兩層中間支,如下圖所示:
-2階默克爾截頂-如果同一個默克爾樹存在多個重復證明,采用默克爾樹截頂會減少證明的大小以及驗證證明所需的時間。要求得默克爾截頂的最佳階數,只需對證明數量取2的對數,再向下取整。下圖是一個低階默克爾樹截頂表,顯示了包含4096個輸入值的默克爾樹可節省的空間和時間,如下所示:
-不同階數的默克爾樹截頂所帶來的優勢-使用默克爾樹截頂能夠節省大量存儲空間。例如,一個STARK測試證明如果使用的是默克爾根節點,需要564KB的存儲空間,如果使用的是默克爾樹截頂,只需要346KB的存儲空間,減少了40%。傳輸并驗證證明所需的時間也會減少。實現樣例
https://github.com/wealdtech/go-merkletree/提供了采用Go語言實現的默克爾樹截頂。
本周大事記 1、本周EOS市值仍不敵LTC,排名滑落第5位;另外本周EOS價格周內微漲2.15%;2、Block.one風投部門EOSVC負責人透露已經投資項目包括中國大陸的項目;首個基于EOS.
1900/1/1 0:00:00海外重磅播報 比特幣閃電火炬即將“熄滅”,僅剩余約10次的傳遞次數比特幣閃電火炬似乎很快就要“熄滅了”。到目前為止,閃電火炬已經覆蓋到了全球54個國家.
1900/1/1 0:00:00文|昕楠、Dave出品|Odaily星球日報花旗銀行最終還是放棄醞釀了4年的發幣計劃。一個多月前,摩根大通集團迅速入場區塊鏈,攜近200家銀行的聯盟生態推出JPMcoin穩定幣計劃,其目的是將J.
1900/1/1 0:00:00編者按:本文來自谷燕西,星球日報經授權發布。海外項目在美國進行STO融資,首先是要先注冊相關的法律實體。下一個步驟就是要挑選一個合適的ST發行平臺.
1900/1/1 0:00:00從區塊鏈技術發展至今,2019年也許是人們最關心跨鏈技術的一年。新的一年,公鏈從大舉擴張進入緩沖期,可擴展性成為公鏈更深切的主題,在跨鏈技術出現之前,區塊鏈中各公鏈是一座座孤島,無法相互溝通,不.
1900/1/1 0:00:00編者按:本文來自鏈捕手,作者龔荃宇,Odaily星球日報經授權轉載。近期,交易所平臺幣再起波瀾,大批平臺幣迎來近半年最為可觀的漲勢,HT、BNB、OKB、BIX等主流平臺幣均較一個月前上漲100.
1900/1/1 0:00:00