現在,我們已經瞭解了單個交易是如何建立的,但是在第2章裡提到,所有交易都是被打包放入區塊的,為什麼要這麼做呢?其實這是為了效能最佳化,如果每一個交易都要礦工單獨去達成共識,那整個系統的交易處理速度將會變得非常慢。而如果我們把大量交易組織起來放入一個區塊,得到的雜湊鏈就更短,大大提高了驗證區塊鏈資料結構的效率。
區塊鏈(塊鏈)非常聰明地把兩個基於雜湊值的資料結構結合起來:第一個資料結構是區塊的雜湊鏈,每一個區塊都有一個區塊頭部,裡面有一個雜湊指標指向上一個區塊。第二個資料結構是一個樹狀資料結構,也就是以樹狀結構把區塊內所有交易的雜湊值進行排列儲存。也叫梅克爾樹(請參考第1章),它以一種非常高效的形式把所有交易組織起來。為了證明某個交易在某個區塊內,可以透過樹內路徑來進行搜尋,而樹的長度就是區塊內所包含的交易數目的對數(見圖3.7)。
我們在第2章中提到過(在第5章還將繼續涉及),區塊頭部還包含了挖礦謎題[1]相關的資訊。還記得,區塊頭部的雜湊函式必須以一大堆零開頭才有效,此外,區塊頭部還要包含一個礦工可以修改的“臨時隨機數”、一個時間戳和一個點數(點數用來表示找到這個區塊的難度)。區塊頭部是挖礦過程中唯一雜湊值化的,所以要驗證一個區塊的鏈,只要檢查區塊頭部即可。在區塊頭部唯一的交易資料是交易樹的樹根——“mrkl_root”。
Loading...
未載入完,嘗試【重新整理】or【關閉小說模式】or【關閉廣告遮蔽】。
嘗試更換【Firefox瀏覽器】or【Chrome谷歌瀏覽器】開啟多多收藏!
移動流量偶爾打不開,可以切換電信、聯通、Wifi。
收藏網址:www.peakbooks.cc
(>人<;)