找回密码
 立即注册

扫一扫,登录网站

首页 百科 查看内容
  • 7003
  • 0
  • 分享到

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

2018-12-5 11:49

来源: 链门户

据了解,任何一个下载并安装运行的完整节点都会从比特币网络中获取区块,并验证区块,以此更新节点的账本。当一个节点通过p2p网络获得一个新区块时,都会执行验证程序,以识别这个区块是不是有效的区块。比特币区块的验证标准如下:

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

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

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

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

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

以上就是比特币节点(BTC、BCH、BSV都一样)标准的验证区块程序,这部分代码叫CheckBlock函数。
版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。
相关新闻
发表评论

请先 注册/登录 后参与评论

    回顶部