挖矿从入门到精通(三)POW挖矿逻辑过程

论坛 期权论坛 期权     
星际云通Filecoin   2019-10-27 06:22   1177   0
POW挖矿本质就是构造符合要求的区块并进行验证的过程。本期教程将通过介绍比特币区块的结构与其打包,验证过程来解释POW挖矿的逻辑过程。


    1
    区块结构

2019-10-18 10:41:37爆出的比特币区块 来自:BTC.com


比特币区块分为四部分,区块头Blockheader,区块大小Size,区块交易数Tx counter,以及交易列表。



区块头内包含六个字段,Version,PrevBlock,MerkleRoot,Time,Bits,Nonce。



    2
    区块打包过程
具体过程如下:
  • 从未确定交易池中选择交易,通常尽可能多的优先选择手续费高的交易。
  • 构造coinbase交易,计算打包交易中的挖矿手续费,与coinbase奖励(目前为12.5BTC)一起发送到打包矿工的地址。
  • 由打包交易与coinbase交易得到区块结构中的区块大小,区块交易数与交易列表。
  • 对所有交易(包含coinbase交易)进行hash运算,得到MerkleRoot。
  • 自行填写Nouce,由当前环境填写Version,PrevBlock,Time,Bits,与得到的hashMerkleRoot一同构成区块头。
区块头与区块大小,区块交易数与交易列表就构成了一个比特币区块。



打包一个比特币区块,矿机一瞬间就可以完成,但是比特币主链只会允许符合难度要求的区块进行广播,那么如何验证区块是否符合难度要求呢?


    3
    区块难度验证

2019-10-18 1比特币难度情况 来自:BTC.com
验证过程为:区块打包成功后对区块中的区块头进行hash运算,将运算结果与当前全网难度比对,若运算结果小于全网难度,则成功广播。但如果运算结果大于全网难度,则需要重新构造区块头再次循环。


由于hash算法的不可逆性质,矿工只能挨个去尝试改变区块头的构造来满足难度要求,算力越大,满足难度要求的可能性就越大,这就是POW工作量证明机制。

矿工需要不断改变区块头的信息,使得SHA256D(BlockHeader)
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:21
帖子:7
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP