国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

區(qū)塊鏈的數(shù)據(jù)結(jié)構(gòu)(一)——區(qū)塊、鏈

這篇具有很好參考價(jià)值的文章主要介紹了區(qū)塊鏈的數(shù)據(jù)結(jié)構(gòu)(一)——區(qū)塊、鏈。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

區(qū)塊

????????區(qū)塊(block)由區(qū)塊頭(block header)和交易列表(transaction list,tx list)組成,block之間通過(guò)block header的hash連接成了一個(gè)鏈表結(jié)構(gòu)。但這個(gè)鏈表不同于普通鏈表。

1. block header

比特幣的block header:

int32_t nVersion;
uint256 hashPrevBlock;
uint256 hashMerkleRoot;
uint32_t nTime;
uint32_t nBits;
uint32_t nNonce;

以太坊的block header:

ParentHash  common.Hash    `json:"parentHash"       gencodec:"required"`
UncleHash   common.Hash    `json:"sha3Uncles"       gencodec:"required"`
Coinbase    common.Address `json:"miner"            gencodec:"required"`
Root        common.Hash    `json:"stateRoot"        gencodec:"required"`
TxHash      common.Hash    `json:"transactionsRoot" gencodec:"required"`
ReceiptHash common.Hash    `json:"receiptsRoot"     gencodec:"required"`
Bloom       Bloom          `json:"logsBloom"        gencodec:"required"`
Difficulty  *big.Int       `json:"difficulty"       gencodec:"required"`
Number      *big.Int       `json:"number"           gencodec:"required"`
GasLimit    uint64         `json:"gasLimit"         gencodec:"required"`
GasUsed     uint64         `json:"gasUsed"          gencodec:"required"`
Time        uint64         `json:"timestamp"        gencodec:"required"`
Extra       []byte         `json:"extraData"        gencodec:"required"`
MixDigest   common.Hash    `json:"mixHash"`
Nonce       BlockNonce     `json:"nonce"`


// BaseFee was added by EIP-1559 and is ignored in legacy headers.
BaseFee *big.Int `json:"baseFeePerGas" rlp:"optional"`
  • hashPrevBlock /ParentHash,上一個(gè)block header的hash
  • hashMerkleRoot/TxHash,交易list的hash

TxHash和ParentHash相結(jié)合,賦予了區(qū)塊鏈不可篡改的特性。

2. block body

區(qū)塊鏈 鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),區(qū)塊鏈技術(shù),區(qū)塊鏈

  • block body就是交易list,block header通過(guò)TxHash指向唯一的交易list
  • 從tx hash list得到TxHash的hash算法叫做默克爾樹(Merkle tree),相比其他的hash算法有特殊的性質(zhì)(可以簡(jiǎn)潔地證明tx存在其中)

????????block header通過(guò)ParentHash指向唯一的上個(gè)block header,并最終形成一條鏈。

? ? ? ? 例如:一個(gè)結(jié)構(gòu)體B里面如果包括了一個(gè)指針pa,那這個(gè)結(jié)構(gòu)體就可以指向另一個(gè)結(jié)構(gòu)體A。一個(gè)結(jié)構(gòu)體C里面如果包括了一個(gè)指針pb,那這個(gè)結(jié)構(gòu)體就可以指向另一個(gè)結(jié)構(gòu)體B。以此類推,通過(guò)指針,結(jié)構(gòu)體就可以連起來(lái)。

區(qū)塊鏈 鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),區(qū)塊鏈技術(shù),區(qū)塊鏈

????????

????????而區(qū)塊鏈?zhǔn)怯?strong>哈希指針(hash pointers)代替了普通指針。哈希指針是一個(gè)可以指向數(shù)據(jù)存儲(chǔ)位置及位置的數(shù)據(jù)的哈希值的指針。??

????????哈希指針:不僅要存放地址,還要存放這個(gè)結(jié)構(gòu)體的哈希值,一般用H表示一個(gè)哈希指針。

區(qū)塊鏈 鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),區(qū)塊鏈技術(shù),區(qū)塊鏈

???????這樣做的好處是:我們不光可以找到這個(gè)結(jié)構(gòu)體的位置,同時(shí)還能夠檢測(cè)出這個(gè)結(jié)構(gòu)體的內(nèi)容有沒有被篡改,因?yàn)槲覀儽4媪怂墓V怠?/p>

區(qū)塊鏈 鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),區(qū)塊鏈技術(shù),區(qū)塊鏈

????????最前面的區(qū)塊是系統(tǒng)中產(chǎn)生的第一個(gè)區(qū)塊,叫做創(chuàng)世紀(jì)塊(genesis block),順便說(shuō)一句,比特幣的創(chuàng)世區(qū)塊里,中本聰寫了一句話“The Times 03/Jan/2009 Chancellor on brink of second bailout forbanks.”

區(qū)塊鏈 鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),區(qū)塊鏈技術(shù),區(qū)塊鏈

????????最后一個(gè)區(qū)塊是最近產(chǎn)生的區(qū)塊,每個(gè)區(qū)塊都包含指向前一個(gè)區(qū)塊的哈希指針,最后一個(gè)區(qū)塊也有一個(gè)指向它的哈希指針H()保存在系統(tǒng)里。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-648283.html

到了這里,關(guān)于區(qū)塊鏈的數(shù)據(jù)結(jié)構(gòu)(一)——區(qū)塊、鏈的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【數(shù)據(jù)結(jié)構(gòu)】二叉樹——鏈?zhǔn)浇Y(jié)構(gòu)

    【數(shù)據(jù)結(jié)構(gòu)】二叉樹——鏈?zhǔn)浇Y(jié)構(gòu)

    目錄 ?一、前置聲明 二、二叉樹的遍歷 2.1?前序、中序以及后序遍歷 2.2?層序遍歷 三、節(jié)點(diǎn)個(gè)數(shù)以及高度 3.1?節(jié)點(diǎn)個(gè)數(shù) 3.2?葉子節(jié)點(diǎn)個(gè)數(shù) 3.3?第k層節(jié)點(diǎn)個(gè)數(shù) 3.4?二叉樹的高度/深度 3.5?查找值為x的節(jié)點(diǎn) 四、二叉樹的創(chuàng)建和銷毀 4.1?構(gòu)建二叉樹 4.2?二叉樹銷毀 4.3?判斷二叉樹

    2024年02月16日
    瀏覽(28)
  • 《區(qū)塊鏈原理與技術(shù)》學(xué)習(xí)筆記(五) ——以太坊的交易、共識(shí)機(jī)制和數(shù)據(jù)結(jié)構(gòu)

    《區(qū)塊鏈原理與技術(shù)》學(xué)習(xí)筆記(五) ——以太坊的交易、共識(shí)機(jī)制和數(shù)據(jù)結(jié)構(gòu)

    《區(qū)塊鏈原理與技術(shù)》學(xué)習(xí)筆記 第五部分 5. 以太坊交易 5.1 交易內(nèi)容 5.2 交易費(fèi)用 5.3 交易的周期 5.4 交易的執(zhí)行類型 6. 以太坊的共識(shí)機(jī)制 6.1 解決以太坊分叉:Ghost協(xié)議 6.2 新的共識(shí)機(jī)制:PoS 7. 以太坊挖礦難度調(diào)整 7.1 自適應(yīng)難度調(diào)整 7.2 難度炸彈 8. 數(shù)據(jù)結(jié)構(gòu)與存儲(chǔ) 8.1 區(qū)塊和

    2024年02月12日
    瀏覽(21)
  • 【數(shù)據(jù)結(jié)構(gòu)】二叉樹鏈?zhǔn)浇Y(jié)構(gòu)

    【數(shù)據(jù)結(jié)構(gòu)】二叉樹鏈?zhǔn)浇Y(jié)構(gòu)

    ??write in front?? ??所屬專欄:初階數(shù)據(jù)結(jié)構(gòu) ???博客主頁(yè):睿睿的博客主頁(yè) ???代碼倉(cāng)庫(kù):??VS2022_C語(yǔ)言倉(cāng)庫(kù) ??您的點(diǎn)贊、關(guān)注、收藏、評(píng)論,是對(duì)我最大的激勵(lì)和支持!?。?關(guān)注我,關(guān)注我,關(guān)注我 , 你們將會(huì)看到更多的優(yōu)質(zhì)內(nèi)容?。???在之前的二叉樹的順序結(jié)

    2024年02月03日
    瀏覽(26)
  • 數(shù)據(jù)結(jié)構(gòu)(順序結(jié)構(gòu)、鏈?zhǔn)浇Y(jié)構(gòu)、索引結(jié)構(gòu)、散列結(jié)構(gòu))

    數(shù)據(jù)結(jié)構(gòu)(順序結(jié)構(gòu)、鏈?zhǔn)浇Y(jié)構(gòu)、索引結(jié)構(gòu)、散列結(jié)構(gòu))

    數(shù)據(jù)結(jié)構(gòu),就是一種程序設(shè)計(jì)優(yōu)化的方法論,研究數(shù)據(jù)的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)以及它們之間相互關(guān)系,并對(duì)這種結(jié)構(gòu)定義相應(yīng)的運(yùn)算, 目的是加快程序的執(zhí)行速度、減少內(nèi)存占用的空間 。 數(shù)據(jù)的邏輯結(jié)構(gòu)指反映數(shù)據(jù)元素之間的邏輯關(guān)系,而與數(shù)據(jù)的存儲(chǔ)無(wú)關(guān),是獨(dú)立于計(jì)算

    2024年02月03日
    瀏覽(21)
  • 數(shù)據(jù)結(jié)構(gòu)——二叉樹的鏈?zhǔn)浇Y(jié)構(gòu)

    數(shù)據(jù)結(jié)構(gòu)——二叉樹的鏈?zhǔn)浇Y(jié)構(gòu)

    ? 個(gè)人主頁(yè) : 日刷百題 系列專欄 : 〖C語(yǔ)言小游戲〗〖Linux〗〖數(shù)據(jù)結(jié)構(gòu)〗 ?〖C語(yǔ)言〗 ?? 歡迎各位 → 點(diǎn)贊 ??+ 收藏 ??+ 留言 ??? ? 這里我們使用先序遍歷的思想來(lái)創(chuàng)建二叉樹,這里的內(nèi)容對(duì)于剛接觸二叉樹的朋友可能有些難理解,不妨先看完下面的二叉樹各種遍歷

    2024年02月05日
    瀏覽(31)
  • 【數(shù)據(jù)結(jié)構(gòu)】二叉樹之鏈?zhǔn)浇Y(jié)構(gòu)

    【數(shù)據(jù)結(jié)構(gòu)】二叉樹之鏈?zhǔn)浇Y(jié)構(gòu)

    ?? 博客主頁(yè) : 小羊失眠啦. ?? 系列專欄 : 《C語(yǔ)言》 《數(shù)據(jù)結(jié)構(gòu)》 《Linux》 《Cpolar》 ?? 感謝大家點(diǎn)贊??收藏?評(píng)論?? 在學(xué)習(xí)二叉樹各種各樣的操作前,我們先來(lái)回顧一下二叉樹的概念: 二叉樹是度不超過(guò)2的樹,由根結(jié)點(diǎn)和左右2個(gè)子樹組成,每個(gè)子樹也可以看作

    2024年02月04日
    瀏覽(26)
  • 【數(shù)據(jù)結(jié)構(gòu)】二叉樹的鏈?zhǔn)浇Y(jié)構(gòu)

    【數(shù)據(jù)結(jié)構(gòu)】二叉樹的鏈?zhǔn)浇Y(jié)構(gòu)

    學(xué)習(xí)鏈?zhǔn)蕉鏄湟廊N遍歷方式,便于對(duì)二叉樹的節(jié)點(diǎn)以及左子樹和右子樹進(jìn)行操作。 前序遍歷:根、左子樹、右子樹 中序遍歷:左子樹、根、右子樹 后序遍歷:左子樹、右子樹、根 以下圖為例: 得到的結(jié)果: 前序遍歷:1 2 3 4 5 6 中序遍歷:3 2 1 5 4 6 后序遍歷:3 2

    2024年02月08日
    瀏覽(29)
  • 數(shù)據(jù)結(jié)構(gòu):二叉樹的鏈?zhǔn)浇Y(jié)構(gòu)

    數(shù)據(jù)結(jié)構(gòu):二叉樹的鏈?zhǔn)浇Y(jié)構(gòu)

    朋友們、伙計(jì)們,我們又見面了,本期來(lái)給大家解讀一下鏈?zhǔn)蕉鏄涞南嚓P(guān)知識(shí)點(diǎn),如果看完之后對(duì)你有一定的啟發(fā),那么請(qǐng)留下你的三連,祝大家心想事成! 數(shù)據(jù)結(jié)構(gòu)與算法專欄 :數(shù)據(jù)結(jié)構(gòu)與算法 個(gè)? 人? 主? 頁(yè) :stackY、 C 語(yǔ) 言 專 欄 :C語(yǔ)言:從入門到精通 目錄 前言

    2024年02月07日
    瀏覽(22)
  • 十、數(shù)據(jù)結(jié)構(gòu)——鏈?zhǔn)疥?duì)列

    十、數(shù)據(jù)結(jié)構(gòu)——鏈?zhǔn)疥?duì)列

    一、鏈?zhǔn)疥?duì)列的定義 二、鏈?zhǔn)疥?duì)列的實(shí)現(xiàn) 三、鏈?zhǔn)疥?duì)列的基本操作 ①初始化 ②判空 ③入隊(duì) ④出隊(duì) ⑤獲取長(zhǎng)度 ⑥打印 四、循環(huán)隊(duì)列的應(yīng)用 五、總結(jié) 六、全部代碼 七、結(jié)果 在數(shù)據(jù)結(jié)構(gòu)中,隊(duì)列(Queue)是一種常見的線性數(shù)據(jù)結(jié)構(gòu),遵循先進(jìn)先出(First In First Out,F(xiàn)IFO)的原

    2024年02月07日
    瀏覽(17)
  • 數(shù)據(jù)結(jié)構(gòu):鏈?zhǔn)綏? decoding=

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包