1.2.2區(qū)塊鏈關(guān)鍵技術(shù)

2.Merkle樹

前面介紹了區(qū)塊頭哈希值缘挑、區(qū)塊高度和區(qū)塊頭的結(jié)構(gòu)败去,接著來看看區(qū)塊體。區(qū)塊體存儲著交易信息跪呈,在區(qū)塊中它們是以一棵Merkle樹的數(shù)據(jù)結(jié)構(gòu)進行存儲的,而Merkle樹是一種用來有效地總結(jié)區(qū)塊中所有交易的數(shù)據(jù)結(jié)構(gòu)取逾。Merkle樹是一棵哈希二叉樹耗绿,樹的每個葉子節(jié)點都是一筆交易的哈希值。同樣以比特幣為例砾隅,在比特幣網(wǎng)絡(luò)中误阻,Merkle樹被用來歸納一個區(qū)塊中的所有交易,同時生成整個交易集合的數(shù)字指紋即Merkle樹根晴埂,且提供了一種校驗區(qū)塊是否存在某交易的高效途徑究反。生成一棵Merkle樹需要遞歸地對每兩個哈希節(jié)點進行哈希得到一個新的哈希值,并將新的哈希值存入Merkle樹中儒洛,知道兩兩結(jié)合最終只有一個哈希值時精耐,這個哈希值就是這一區(qū)塊所有交易的Merkle根,存儲到上面介紹的區(qū)塊頭結(jié)構(gòu)中琅锻。
下面通過一個實例來對Merkle樹進一步的介紹卦停。圖1.5是一棵只有4筆交易的Merkle樹,即交易A恼蓬、B惊完、C和D

第一步,需要使用兩次SHA256算法對每筆交易數(shù)據(jù)進行哈希運算处硬,得到每筆交易的哈希值小槐,這里可以得到Ha、Hb郁油、Hc本股、Hd這4個哈希值,也就是這棵Merkle樹的葉子節(jié)點桐腌,例如拄显,
Ha=SHA256(SHA265(交易A)

第二步,對兩個葉子節(jié)點Ha案站、Hb 的哈希值同樣使用兩次SHA256進行組合哈希運算躬审,將會得到一個新的哈希值Hab,對Hc、Hd進行同樣的操作將獲得另一個哈希值Hcd承边,例如
Hab=SHA256(SHA256(Ha+Hb))

第三步遭殉,對現(xiàn)有的兩個哈希值Hab、Hcd進行第二步中的組合運算博助,最后將得到一個新的哈希值Habcd险污,此時我們已經(jīng)沒有了其他同高度節(jié)點,所以最后的Habcd就是這一棵Merkle樹的Merkle根富岳。之后將這個節(jié)點的32字節(jié)哈希值寫入到區(qū)塊頭部Merkle根字段中蛔糯。Merkle樹的整個形成過程結(jié)束。
Habcd=SHA256(SHA256(Hab+Hcd))

因為Merkle樹是一棵二叉樹窖式,所以它需要偶數(shù)個葉子節(jié)點蚁飒,也就是偶數(shù)筆交易。但是在很多情況下萝喘,某個區(qū)塊的交易數(shù)目會出現(xiàn)奇數(shù)筆淮逻。對于這種情況,Merkle樹的解決方案是將最后一筆交易進行一次復(fù)制阁簸,以此構(gòu)造成偶數(shù)個葉子節(jié)點爬早,這種偶數(shù)個葉子節(jié)點的二叉樹葉稱為平衡樹。

圖1.6展示的是一棵更大的Merkle樹强窖,由16個交易構(gòu)成凸椿。通過圖示,可以發(fā)現(xiàn)翅溺,不管一個區(qū)塊中有一筆交易還是十萬筆交易脑漫,最終都能歸納成一個32字節(jié)的哈希值作為Merkle樹的根節(jié)點。

當(dāng)需要證明交易列表中的某筆交易存在時咙崎,一個節(jié)點只需計算log2N個32字節(jié)的哈希值优幸,就可以形成一條從Merkle樹根到特定交易的路徑,Merkle樹的效率如表1.2所示

3.非對稱加密與數(shù)字簽名

非對稱加密是區(qū)塊鏈技術(shù)中用于安全性需求和所有權(quán)認證是采用的加密技術(shù)褪猛,常見的非對稱加密算法有RSA网杆、Elgamal、背包算法伊滋、Rabin碳却、D-H、ECC(橢圓曲線加密算法)和ECDSA(橢圓曲線數(shù)字簽名算法)笑旺,等等昼浦。與對稱加密算法不同的是,非對稱加密算法需要兩個密鑰:公開密鑰和私有密鑰筒主」卦耄基于非對稱加密算法可以使通信雙方在不安全的媒體上交換信息鸟蟹,安全地達成信息的一致。公開密鑰是對外公開的使兔,而私有密鑰是保密的建钥,其他人不能通過公開密鑰推算出對應(yīng)的私鑰。每一個公開密鑰都有其相對應(yīng)的私有密鑰虐沥,如果我們使用公開密鑰對信息進行 加密熊经,那么則必須有對應(yīng)的私有密鑰才能對加密后的信息進行解密;而如果是用私有密鑰加密信息欲险,則只有對應(yīng)的公開密鑰才可以進行解密奈搜。在區(qū)塊鏈中,非對稱加密主要用與信息加密盯荤,數(shù)字簽名等場景。

在信息加密場景中焕盟,如圖1.7所示秋秤,信息發(fā)送者A需要發(fā)送一個信息給信息接收者B,需要先使用B的公鑰對信息進行加密脚翘,B收到后灼卢,使用自己的私鑰就可以對這一信息進行解密,而其他人沒有私鑰来农,是沒辦法對這個加密信息進行解密的鞋真。

而在數(shù)字簽名場景中,如圖1.8所示沃于,發(fā)送者A先用哈希函數(shù)對原文生成一個摘要然后使用私鑰對摘要進行加密涩咖,生成數(shù)字簽名,之后將數(shù)字簽名與原文一起發(fā)送給接收者B繁莹;B收到信息后使用A的公鑰對數(shù)字簽名進行解密得到摘要檩互,由此確保信息是A發(fā)出的,然后再對收到的原文使用哈希函數(shù)產(chǎn)生摘要咨演,并與解密得到的摘要進行對比闸昨,如果相同,則說明收到的信息在傳輸過程中沒有被修改過薄风。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末饵较,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子遭赂,更是在濱河造成了極大的恐慌循诉,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嵌牺,死亡現(xiàn)場離奇詭異打洼,居然都是意外死亡龄糊,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門募疮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來炫惩,“玉大人,你說我怎么就攤上這事阿浓∷拢” “怎么了?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵芭毙,是天一觀的道長筋蓖。 經(jīng)常有香客問我,道長退敦,這世上最難降的妖魔是什么粘咖? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮侈百,結(jié)果婚禮上瓮下,老公的妹妹穿的比我還像新娘。我一直安慰自己钝域,他們只是感情好讽坏,可當(dāng)我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著例证,像睡著了一般路呜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上织咧,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天胀葱,我揣著相機與錄音,去河邊找鬼笙蒙。 笑死巡社,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的手趣。 我是一名探鬼主播晌该,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼绿渣!你這毒婦竟也來了朝群?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤中符,失蹤者是張志新(化名)和其女友劉穎姜胖,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體淀散,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡右莱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年蚜锨,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片慢蜓。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡亚再,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出晨抡,到底是詐尸還是另有隱情氛悬,我是刑警寧澤,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布耘柱,位于F島的核電站如捅,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏调煎。R本人自食惡果不足惜镜遣,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望士袄。 院中可真熱鬧烈涮,春花似錦、人聲如沸窖剑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽西土。三九已至,卻和暖如春鞍盗,著一層夾襖步出監(jiān)牢的瞬間需了,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工般甲, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留肋乍,地道東北人。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓敷存,卻偏偏與公主長得像墓造,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子锚烦,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內(nèi)容