我發起一筆交易,即我向整個區塊鏈網絡廣播" />

国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 專題 > 區塊鏈 > 正文

比特幣區塊鏈的數據結構

2019-09-13 16:35:14
字體:
來源:轉載
供稿:網友
我們回到兩個人轉賬交易的過程中,去理解比特幣區塊鏈的數據結構。

我發起一筆交易,即我向整個區塊鏈網絡廣播,我和你兩個人想進行這筆交易:我向你的地址中轉入一筆比特幣,無須你的許可。

但只有當這筆交易被打包進最新的比特幣區塊中時,這筆交易才真正完成。通常來說,當在一筆交易所在的區塊之后又增加 5 個區塊,即包括它自己在內一共經過 6 次確認時,這筆交易可認為被完全確認。按比特幣每個區塊的確認時間 10 分鐘估算,即一筆交易最終確認要經過約 1 小時。

這里包括了兩步:一是交易被打包進候選區塊,每個節點可以按規則生成不同的候選區塊;二是節點挖礦成功,候選區塊被成功地加到區塊鏈的尾部,成為最新的正式區塊。

那么,把一筆交易打包進區塊是什么意思呢?這涉及區塊鏈最基礎的數據結構,這也是它不可篡改的基礎。

以下討論可能略顯枯燥,但卻是認識比特幣與區塊鏈的最基礎的知識,我盡量以通俗的語言來解釋。

區塊鏈之所以被稱為 blockchain,是因為它的數據塊以鏈狀的形式存儲著。從第一個區塊即所謂的創世區塊開始,新增的區塊不斷地被連到上一個區塊的后面,形成一條鏈條。

每個區塊由兩個部分組成——區塊頭部和區塊數據。其中,區塊頭部中有一個哈希指針指向上一個區塊,這個哈希指針包含前一個數據塊的哈希值。哈希值可以被看成是數據塊的指紋,即在后一個區塊的頭部中均存儲有上一個區塊數據的指紋。如果上一個區塊中的數據被篡改了,那么數據和指紋就對不上號,篡改行為就被發現了。要改變一個區塊中的數據,對其后的每個區塊都必須相應地進行修改。
比特幣區塊鏈設計有一種機制讓這種修改難以發生,我們稍后在談到“工作量證明”和“比特幣挖礦”時再詳細討論。
一個區塊中的數據是被打包進這個區塊的一系列交易。這些交易按照既定的規則被打包形成特定的二叉樹數據結構——梅克爾樹(Merkle trees)。按目前的比特幣區塊的大小,一個區塊中能容納的交易數量在 2000 個左右,比如在第 526957 個區塊中容納了 1804 個交易。
可通過如下網站查看比特幣區塊鏈的數據信息:https://blockchain.info/。
比特幣區塊鏈的數據結構中包括兩種哈希指針,它們均是不可篡改特性的數據結構基礎。一個是形成“區塊+鏈”(block+chain)的鏈狀數據結構,另一個是哈希指針形成的梅克爾樹(見圖 1)。鏈狀數據結構使得對某一區塊內的數據的修改很容易被發現;梅克爾樹的結構起類似作用,使得對其中的任何交易數據的修改很容易被發現。
 
比特幣區塊鏈的“區塊鏈”與梅克爾樹
圖1:比特幣區塊鏈的“區塊鏈”與梅克爾樹
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金湖县| 上饶市| 惠州市| 万安县| 开平市| 阿拉善右旗| 文登市| 周口市| 建瓯市| 四川省| 精河县| 黄冈市| 达日县| 永年县| 视频| 昌吉市| 化隆| 阿城市| 柏乡县| 平南县| 黄山市| 精河县| 长兴县| 白朗县| 神农架林区| 闵行区| 大荔县| 福州市| 上高县| 娄底市| 剑川县| 板桥市| 石泉县| 贵州省| 临清市| 根河市| 四会市| 雷波县| 元朗区| 碌曲县| 秦皇岛市|