比特信用區塊與結構

每個區塊包括一些或所有近期交易、前一個區塊的引用、以及其他數據。它還包括一個挖礦難度的答案-該答案對每個區塊是唯一的。新區塊如果沒有正確答案,不能被髮送到網絡中-“挖礦”的過程本質上是在競爭中 “解決”當前區塊。每個區塊中的數學問題難以解決,但是一旦發現了一個有效解,其他網絡節點很容易驗證這個解的正確性,對於給定的區塊可能有多個有效解-但對於要解決的區塊來說只需一個解。

因為每解決一個區塊,都會得到新產生的比特信用獎勵,每個區塊包含一個記錄,記錄中的比特信用地址是有權獲得比特信用獎勵的地址。這個紀錄被稱為生產交易、或者coinbase交易,它經常是每個區塊的第一個交易。每個塊區生產的比特信用數量是50個,每產生21萬個區塊後減少一半(時間大約是4年)。

發送者在網絡中廣播比特信用交易,所有試圖解決區塊的礦工節點,收集了這些交易記錄,把它們加到礦工節點正在解決的區塊中。

挖礦難度由比特信用網絡自動調整,使之實現平均每小時解決6個區塊的目標。每2016個區塊(大約兩週)後,所有客戶端把新區塊的實際數目與目標數量相比較,並且按照差異的百分比調整目標HASH值,來增加(或降低)產生區塊的難度。

因為所有區塊包含前一個區塊的引用,現存的所有區塊的集合可以說是形成了一條鏈,然而,塊鏈有可能產生暫時分叉-舉個例子,如果兩個礦工同時為一個區塊產生不同的有效解,兩者相互不知。P2P網絡會在一段短時間內消除這些分叉,該鏈僅有一個分支存活。

客戶端接受“最長”塊鏈作為有效鏈,整條塊鏈的“長度”是指具有最大難度的鏈,而不是指具有最多區塊數量的塊鏈,可防止某些人創建大量低難度區塊,故意使塊鏈分叉,並且讓網絡接受它成為“最長”的塊鏈。

非標準區塊:是指包括非標準交易的區塊,交易的標準與否,要參考比特信用客戶端源代碼中的IsStandard()函數。客戶端不會傳播非標準交易,但是某些礦池的礦工會把合法的非標準交易加入到區塊中,形成非標準區塊,客戶端在計算難度最長的塊鏈時,會考慮非標準區塊。


分享到:


相關文章: