據了解,任何一個下載并安裝運行的完整節點都會從
比特幣網絡中獲取區塊,并驗證區塊,以此更新節點的賬本。當一個節點通過p2p網絡獲得一個新區塊時,都會執行驗證程序,以識別這個區塊是不是有效的區塊。比特幣區塊的驗證標準如下:
1、驗證工作量證明,即驗證區塊頭的哈希值小于當前目標值。
2、驗證MerkleRoot是否是由區塊體中的交易得到的,即重構區塊Merkle樹得到的樹根,看是否和區塊頭中的hashMerkleRoot值相等。
3、驗證區塊大,即看區塊大小是否在設定范圍之內。(
btc是數據區塊體不能大于1M,隔離驗證區塊不能大于3M;BCH是區塊不能大于32M;BSV現在是不能大于128M)
4、驗證是否只有一個Coinbase交易,即一個區塊,礦工只能給自己獎勵一次。
5、驗證所有的交易,即遍歷區塊內所有的交易,檢查是否是合法的交易。
以上就是比特幣節點(BTC、BCH、BSV都一樣)標準的驗證區塊程序,這部分代碼叫CheckBlock函數。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。