比特币节点接收到一个区块以后,都会进行校验和确认,如下参考网络图:
关键看看对区块中的交易进行进一步的校验代码:
1.// First transaction must be coinbase, the rest must not be
2.if (vtx.empty() || !vtx[0].IsCoinBase())
8.// Check transactions 循环检查所有的交易,这一步骤很关键,所以交易不能随便改,大家都在检查
9.foreach(const CTransaction& tx, vtx)
13.// Check proof of work matches claimed amount
14.if (CBigNum().SetCompact(nBits) > bnProofOfWorkLimit)
19.// Check merkleroot
20.if (hashMerkleRoot != BuildMerkleTree())
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。