转身改变角度4星评价
2020-09-18 10:41:24
1、验证工作量证明,即验证区块头的哈希值小于当前目标值。
2、验证MerkleRoot是否是由区块体中的交易得到的,即重构区块Merkle树得到的树根,看是否和区块头中的hashMerkleRoot值相等。
3、验证区块大,即看区块大小是否在设定范围之内。(btc是数据区块体不能大于1M,隔离验证区块不能大于3M;BCH是区块不能大于32M;BSV现在是不能大于128M)
4、验证是否只有一个Coinbase交易,即一个区块,矿工只能给自己奖励一次。
5、验证所有的交易,即遍历区块内所有的交易,检查是否是合法的交易。
以上就是比特币节点(BTC、BCH、BSV都一样)标准的验证区块程序,这部分代码叫CheckBlock函数。