日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

区块链学习(6)区块链

發布時間:2025/6/17 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 区块链学习(6)区块链 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寫了幾篇區塊鏈的學習筆記,今天來寫寫比特幣中的區塊鏈。比特幣中區塊鏈是由包含交易信息的區塊從后向前有序鏈接起來的數據結構。每個區塊從后向前有序地鏈接在這個鏈條里,每個區塊都指向前一個區塊。

區塊結構

區塊是一種數據結構,存放了多組交易,并且塊與塊之間相互連接,每個塊都指向前一個區塊。為了提高性能,一組交易確認打包成塊,下面就是區塊的結構

區塊頭中由版本,父區塊哈希值,Merkle根,時間戳,難度目標,Nonce。Nonce、難度目標和時間戳會用于挖礦過程。

每個區塊通過SHA256算法對區塊頭進行二次哈希計算而得到一個哈希值叫做區塊哈希值,不過只有區塊頭進行了哈希計算。區塊哈希值可以唯一的表示一個區塊。還可以用區塊高度表示區塊,第一個區塊高度為0,第二個區塊為1,之后的區塊依次增加。但區塊高度并不能唯一的表示一個區塊,若區塊鏈出現分叉就有可能出現兩個區塊的高度相同。而一個區塊中的區塊頭內儲存著它上一個區塊的哈希值的引用,而上一個區塊的區塊頭內又有再上一個的區塊的哈希值的引用。這樣就將各區塊組成了區塊鏈。

?

該區塊中的所有交易都是用Merkle樹表示的,在區塊頭中就儲存了Merkle樹的根。關于Merkle樹這個博客講的是相當詳細https://blog.csdn.net/wo541075754/article/details/54632929

有興趣的可以去看看。

Merkle樹,通常也被稱作Hash樹,樹中的節點儲存的都是哈希值,葉子節點儲存著交易。Merkle樹是自底向上構建的。有A,B,C,D四個交易,先將四個交易進行兩次哈希運算。

HA = SHA256(SHA256(交易A))

HB = SHA256(SHA256(交易B))

HC = SHA256(SHA256(交易C))

HD = SHA256(SHA256(交易D))

?分別得到四個哈希值HA,HB,HC.HD作為葉子節點,子節點A和子節點B的兩個32字節的哈希值將被串聯成64字節的字符串。子節點C和子節點D串聯得到一個64字節的字符串。隨后將字符串進行兩次哈希來產生父節點的哈希值,

HAB = SHA256(SHA256(HA + HB))

HCD =SHA256(SHA256(HA + HB))

接著再繼續相同的操作,將HAB和HCD串聯就可以得到Merkle樹的根

?

Merkle樹是二叉樹,所以它需要偶數個葉子節點。如果僅有奇數個交易,那最后的交易就會被復制一份以構成偶數個葉子節點。有了Merkle樹對于SPV節點只需下載區塊頭,而不需要下載每筆交易和區塊。

轉載于:https://www.cnblogs.com/mambakb/p/9688161.html

總結

以上是生活随笔為你收集整理的区块链学习(6)区块链的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。