轉身改變角度4星評價
2020-09-18 10:41:24
1、驗證工作量證明,即驗證區(qū)塊頭的哈希值小于當前目標值。
2、驗證MerkleRoot是否是由區(qū)塊體中的交易得到的,即重構區(qū)塊Merkle樹得到的樹根,看是否和區(qū)塊頭中的hashMerkleRoot值相等。
3、驗證區(qū)塊大,即看區(qū)塊大小是否在設定范圍之內。(btc是數(shù)據(jù)區(qū)塊體不能大于1M,隔離驗證區(qū)塊不能大于3M;BCH是區(qū)塊不能大于32M;BSV現(xiàn)在是不能大于128M)
4、驗證是否只有一個Coinbase交易,即一個區(qū)塊,礦工只能給自己獎勵一次。
5、驗證所有的交易,即遍歷區(qū)塊內所有的交易,檢查是否是合法的交易。
以上就是比特幣節(jié)點(BTC、BCH、BSV都一樣)標準的驗證區(qū)塊程序,這部分代碼叫CheckBlock函數(shù)。