时间:2023-07-09|浏览:169
我们知道,在比特币网络中,有很多挖矿节点和矿工参与创建比特币新区块。如果多个挖矿节点都创建了同一个高度的区块,该判定谁的区块更合法呢?比特币引入了PoW(ProofofWork)共识机制,通过挖矿的方式,来竞争新区块的记账权。挖矿的目的就是赢取记账权,确认新区块和交易。
矿工破解挖矿任务:挖矿节点创建好预备区块后,将预备区块的区块头数据发送给矿工。矿工收到挖矿任务后,会递增区块头中的随机数,直到区块头的哈希值小于或者等于目标哈希为止。如果发现其他节点已经挖到新区块,矿工就会放弃原来的挖矿任务,构造新的预备区块,当矿工找到符合要求的随机数后,会向挖矿节点上报挖矿结果。挖矿节点会接收并验证这个区块是否合法,并将新区块保存到节点本地数据库,添加到节点本地区块链上。
向全网广播新区块:挖矿节点将新区块广播给其他节点。其他节点在接收到新区块后,先验证区块头信息,验证通过后,节点会在本地区块索引库中创建新区块的索引。接收到全部信息后,节点验证交易信息和区块头的MerkleRoot哈希,验证通过后,节点将这些交易信息录入新区块,并延长本地区块链。至此,新区块的广播和验证完毕,挖矿节点开始下一个区块的挖矿工作。
挖矿特点集群挖矿-矿池:比特币的挖矿难度很高,普通矿工单独挖矿的经济效益太低。因此,大量矿工将自己的矿机接入矿池,从矿池的挖矿节点获取挖矿任务,集体挖矿。矿池根据矿工的贡献情况,分配挖矿收益,矿工可以实时获取挖矿收益。矿池给矿机下发的挖矿任务中,设定了一个初始挖矿难度,让矿机能在较短时间内找到符合要求的随机数。
矿机实际收到的挖矿任务中,TargetHash远大于比特币网络要求的TargetHash:矿池给矿机下发的挖矿任务中,设定了一个远低于全网挖矿难