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

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

[比特币]比特币中的数据结构

發(fā)布時(shí)間:2023/12/13 综合教程 28 生活家
生活随笔 收集整理的這篇文章主要介紹了 [比特币]比特币中的数据结构 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

哈希指針(Hash Pointers)

對(duì)于一個(gè)結(jié)構(gòu)體而言,指向它的指針存儲(chǔ)的是它在內(nèi)存中的首地址;而指向它的哈希指針,不僅保存這它的首地址,還保存著該結(jié)構(gòu)體內(nèi)容的哈希值。通過(guò)哈希指針,不僅可以找到該結(jié)構(gòu)體,還能查驗(yàn)該結(jié)構(gòu)內(nèi)容是否被篡改過(guò)。

區(qū)塊鏈

比特幣中存儲(chǔ)數(shù)據(jù)用的是區(qū)塊鏈。所謂區(qū)塊鏈,可以理解為鏈表。不過(guò)與鏈表不同的是,區(qū)塊鏈?zhǔn)褂霉V羔槾媪似胀ㄖ羔槨O聢D為區(qū)塊鏈簡(jiǎn)單結(jié)構(gòu):

哈希指針包含在該區(qū)塊的區(qū)塊頭中,它是對(duì)前一個(gè)區(qū)塊的整體進(jìn)行哈希運(yùn)算得到的。

Merkle tree

如上圖所示,與Binary tree不同,Merkle tree中各節(jié)點(diǎn)保存的都是子節(jié)點(diǎn)的Hash值。

在Merkle Tree中,每個(gè)葉子存儲(chǔ)的都是一筆交易的Hash,父節(jié)點(diǎn)存儲(chǔ)的是對(duì)子節(jié)點(diǎn)取Hash后的值。所以如果有交易內(nèi)容內(nèi)容被修改,那么最終都會(huì)輻射到Merkle Tree的根節(jié)點(diǎn)。

比特幣中的應(yīng)用

在比特幣網(wǎng)絡(luò)中,所有的交易信息都是存儲(chǔ)在區(qū)塊中,通過(guò)Hash指針組織成區(qū)塊鏈;每個(gè)區(qū)塊都可以分為兩部分:block header和block body。block body中存儲(chǔ)該區(qū)塊包含的所有交易,block header中包含有前一個(gè)區(qū)塊的Hash(只是對(duì)前一個(gè)區(qū)塊的Block header進(jìn)行Hash,并非對(duì)整個(gè)區(qū)塊進(jìn)行Hash),本區(qū)塊中所有交易組成的Merkle tree的根Hash以及其它信息(包括區(qū)塊版本、挖礦難度、時(shí)間戳、Nonce)。

在比特幣網(wǎng)絡(luò)中,存在兩種類(lèi)型的節(jié)點(diǎn):

全節(jié)點(diǎn),存儲(chǔ)有整個(gè)比特幣網(wǎng)絡(luò)中的所有block。
輕節(jié)點(diǎn),只存儲(chǔ)block header。比特幣錢(qián)包就是輕節(jié)點(diǎn)的一種。輕節(jié)點(diǎn)并不參與比特幣網(wǎng)絡(luò)的構(gòu)建,只能算是比特幣網(wǎng)絡(luò)的一個(gè)應(yīng)用。

在使用比特幣錢(qián)包交易時(shí),需要向收款方證明該交易已經(jīng)被寫(xiě)入?yún)^(qū)塊。此時(shí),可以使用 Merkle Proof來(lái)證明該交易已被寫(xiě)入?yún)^(qū)塊。

提供Merkle Proof時(shí),錢(qián)包會(huì)向附近的全節(jié)點(diǎn)發(fā)出請(qǐng)求,全節(jié)點(diǎn)會(huì)將Merkle tree中與該交易相關(guān)路徑上的節(jié)點(diǎn)返回給請(qǐng)求方,之后錢(qián)包再將收到的信息發(fā)送給收款方進(jìn)行驗(yàn)證。如下圖所示,全節(jié)點(diǎn)只需將紅框選中的Hash返回給錢(qián)包即可,其它節(jié)點(diǎn)的Hash因?yàn)椴粎⑴c計(jì)算,所以無(wú)需返回。


聲明:本作品采用署名-非商業(yè)性使用-相同方式共享 4.0 國(guó)際 (CC BY-NC-SA 4.0)進(jìn)行許可,使用時(shí)請(qǐng)注明出處。


總結(jié)

以上是生活随笔為你收集整理的[比特币]比特币中的数据结构的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。