區塊鏈學習札記二 「區塊」是什麼?

2021-10-03 13:46:05 字數 2321 閱讀 4021

區塊是區塊鏈的基本結構單元,甚至「區塊鏈」的名稱也由此而來,可見其重要性。下面我們就對區塊進行分析解剖,看看裡面到底都有哪些東西?

在區塊鏈網路中,資料會以檔案的形式被永久記錄,這些檔案稱為區塊區塊是區塊鏈的基本結構單元,由包含元資料的區塊頭和包含交易資料的區塊主體構成。目前位元幣區塊鏈系統大約每10分鐘會建立乙個區塊。

乙個區塊是一些或所有最新位元幣交易的記錄集, 且未被其他先前的區塊記錄。新區塊會被加入到記錄的最後, 一旦寫上, 就再也不能改變或刪除。   

區塊的主要引數如下表所示:

其中「魔法數」是位元幣客戶端解析block資料時的識別碼,位元幣正式網路的魔法數是0xd9b4bef9。不同幣種的魔法數一般不同,比如萊特幣的魔法數是0xdcb7c1fc。(注:字首0x表示16進製制)

區塊頭的大小為80位元組,包括4位元組的版本號、32位元組(256位)的上一區塊雜湊值、32位元組的merkle根節點、4位元組的時間戳、4位元組的難度值和4位元組的隨機數。

區塊頭包含三組元資料:

上圖中的「區塊1001」就指區塊高度。區塊高度相當於區塊的編號,但由於分叉的可能,區塊高度不能確定唯一的區塊,即如果存在乙個孤塊,則這個孤塊的區塊高度,和主鏈上的另乙個區塊高度是相同的,所以不能僅僅用區塊高度來識別乙個區塊。

頭雜湊值和區塊高度都不儲存在區塊的資料結構中,但可以作為元資料儲存在索引庫中以便於快速檢索。

頭雜湊值是對區塊頭經過兩次sha256計算得到的數字指紋,長度32位元組。可以唯一地、明確地標識乙個區塊。乙個區塊的頭雜湊不包含在本區塊中,但包括在下乙個區塊中。用這種方式就可以形成乙個鏈狀結構。

位元幣的區塊設計在block.**件中,位元幣的區塊由cblock類來實現,cblock的主體欄位是cblockheader。

」區塊「cblockheader**結構如下

class cblockheader

}

參見:cblockheader英文說明

區塊頭的主要引數如下表所示:

其中bits是用指數形式表示的256位難度目標值,礦工計算的區塊hash值必須比bits值小。每個塊儲存乙個十六制的目標hash值的壓縮表示式(稱之為bits)。例如bits值:0x1b0404cb,對應的十六進製制的目標hash值就為如下形式:

時間戳從區塊生成的一刻就存在於區塊之中。對應每次交易記錄的認證。時間戳直接寫在區塊鏈中,不可篡改。每個時間戳會將前乙個時間戳納入雜湊值中,依次相連,形成完整鏈條。

區塊體包含10分鐘內選定的交易記錄,第一筆交易(coinbase交易)是用於獎勵礦工位元幣的特殊交易,由礦工自己新增進區塊。

目前區塊的大小是1m,即1048576個位元組。每個交易資訊所佔的空間大約是250位元組。那麼乙個區塊可以包含的交易總數約為41.94筆。位元幣網路中每10分鐘即600秒左右出乙個塊,那麼乙個區塊每秒能處理的交易數量為4193/600,約為7個。由此可見,位元幣網路處理交易的效率並不高,有時一筆交易需要等待很久才能被確認。2023年雙11的峰值交易量是49.1萬筆/秒,是位元幣交易效率的7萬倍。

既然相差如此懸殊,我們為什麼還要使用區塊鏈技術呢?

從前面我們對區塊鏈執行原理的分析可知,區塊鏈的目標就是打造乙個去中心化的自運轉體系,用以解決中心化機構存在的信任問題。在區塊鏈中,要想改動乙個區塊資料,必須同時改動該區塊後面的所有區塊,而將乙個區塊放入主鏈中需要消耗非常多的資源,成本非常巨大,隨著後面新增的區塊越來越多,要想改動某個區塊幾乎是不可能的。從這個角度來看,區塊鏈是在用效率換信任。在效率和信任不能兩全的時候,信任所佔的權重更大一些。

備註:學習筆記,日有所得。

--不間端地思考,實時地批判你的工作!

區塊鏈入門筆記(二) 區塊鏈是什麼?

區塊鏈 blockchain 是由多個節點組成的分布式資料庫系統。特點是不可修改,不可偽造。區塊鏈是由使用密碼學加密產生的資料塊組成的,包括上乙個區塊的雜湊值。1 任何節點都可以建立交易 再經過一段時間就可以確認是否為有效的交易。可以預防雙花問題。2 對於想要修改記錄的人來說,成本非常大,不如正常挖...

區塊鏈二十問 1 區塊鏈是什麼?

如果你是乙個區塊鏈新手,你想問的問題和答案都在這個系列裡面。這是我們的第一期,解釋一下目前大火的區塊鏈。區塊鏈到底是什麼?區塊鏈其實很簡單,比如說十一小長假,老闆給我發了200塊錢過節費,然後開了乙個發票 00010be458 將來可以報銷的,這就是我的第一筆賬。然後第二筆賬呢,我拿到這個錢呢,我去...

淺入愛上區塊鏈 二 區塊鏈為什麼這麼火

上篇文章中最後提出乙個小問題 如果,小明把100w存到銀行不動,n年以後錢丟了,那麼該怎麼辦?如果個人沒有過激行為的話,時間會撫平小明的內心。1 提出新的想法,打破傳統思維,並且提供乙個可落地的方法。在世界都會被認可 世界作為背書 支付寶是馬雲的 房子是自己的,地皮是國家的 我們拿 銅,貝殼 作為舉...