比特币节点如何验证一个区块?

1、验证工作量证明,即验证区块头的哈希值小于当前目标值。

2、验证MerkleRoot是否是由区块体中的交易得到的,即重构区块Merkle树得到的树根,看是否和区块头中的hashMerkleRoot值相等。

3、验证区块大,即看区块大小是否在设定范围之内。(btc是数据区块体不能大于1M,隔离验证区块不能大于3M;BCH是区块不能大于32M;BSV现在是不能大于128M)

4、验证是否只有一个Coinbase交易,即一个区块,矿工只能给自己奖励一次。

5、验证所有的交易,即遍历区块内所有的交易,检查是否是合法的交易。

上面这些就是比特币节点(BTC、BCH、BSV都一样)标准的验证区块程序,这部分代码叫CheckBlock函数。

免责声明: 文章源于会员发布,不作为任何投资建议,如有侵权请联系我们删除!

© 版权声明

相关文章