Loading

到底什么是比特币挖矿?

2019-09-26 17:56:17 118

        很长一段历史里作为基本货币的黄金,需要人工进行采矿获取,因此将比特币记账者们之间争抢激励的方式比作“挖矿”工作。当然比特币系统中的挖矿只是一个形象的概念。比特币系统是一个参与节点相互验证的公开记账系统,而比特币挖矿的本质则是争夺某一个区块链的记账权。


       “挖矿”成功即是该节点成功获得当前区块记账权,也就是说其他节点就是“照抄”该挖矿成功的节点的当前区块。获得记账权的节点会获取一定数量的比特币奖励,一次激励比特币网络中的所有节点积极参与记账工作。该奖励包含系统奖励和交易手续费两部分,系统奖励则作为比特币发行的手段。最初每生产一个“交易记录区块”可以获得50个比特币的系统奖励,为控制比特币的发行数量,该奖励每4年就会减半,到2140年即会基本发放完毕,最终整个系统中最多只能有2100万个比特币。


图片关键词        


        比特币系统大约每10分钟会记录一个数据块,这个数据块里包含了这10分钟内全网待确认的部分或全部交易。所谓的“挖矿”,就是争夺将这些交易打包成“交易记录区块”的权利。比特币系统会随机生成一道数学难题,首先算出结果的节点将获得记账权。


        每个节点会将过去一段时间内发生的、尚未经过网络公认的交易信息进行收集、检验、确认,最后打包并加签名为一个无法被篡改的“交易记录区块”,并在获得记账权后将该区块进行广播,从而让这个区块被全部节点认可,让区块中的交易成为比特币网络上公认已经完成的交易记录,永久保存。


         比特币中每个区块生成时,需要把上一个区块的哈希值、本区块的交易信息的默克尔树根、一个未知的随机数,拼在一起计算一个新的哈希值。为了保证10分钟产生一个区块,该工作必须具有难度,即哈希值必须以若干个0开头。哈希算法中,输入信息的任何微小改动即可引起哈希值的巨大变动,且这个变动不具有规律性。因为哈希值的位数是有限的,通过不断尝试随机数nonce,总可以计算出一个符合要求的哈希值,且该随机数无法通过寻找规律计算出来。这意味着,该随机数只能通过暴力枚举的方式获得。挖矿中计算数学难题即为寻找该随机数的过程。