主页 > imtoken国内版 > 比特币矿工到底在计算什么?为什么要进行这些计算?

比特币矿工到底在计算什么?为什么要进行这些计算?

imtoken国内版 2023-05-03 05:49:07

比特币的挖矿计算其实就是大家一起做数学题。问题是需要记录的交易。通过做题,每个人都抢到了记账权,抢到账的矿工可以获得系统奖励和交易手续费。

1.jpg

比特币计算过程

比特币使用的SHA256算法的特点是知道了就很容易验证正确答案,但是得到答案很麻烦,需要一一尝试。最先得到答案的矿工承认,他抢到了记账权,奖励属于他。大家继续抢下一道题的会计权。

简单地说,这些计算的意义只是为了保证整个系统的稳定性和安全性,并没有更多的意义。将比特币视为计算的副产品并不全面。比特币的产生和发行,比特币链上的所有交易和流通,比特币系统的稳定性,都是以计算为目的,融为一体的。当然,除了维护这个系统,确实没有其他价值和产品。这也是比特币被指责不环保、浪费资源的黑点。

比特币计算过程

总的来说,比特币作为具有里程碑意义的区块链数字货币,源于大量的算力投入和巨大的用户信任价值。毫无疑问。

区块链本质上是一个记录交易信息的数据块链。生成新块所需的工作量证明是找一个随机数,使该随机数为该数,将前一个块的哈希值,以及这个新块的交易数据代入字符串进行哈希运算,得到的hash值满足目标难度要求。

比特币计算过程

哈希运算,简单来说就是输入一个任意长度的字符串进行哈希运算,得到一个较短的固定位数的字符串,称为这些输入信息的哈希值,和不同的输入信息,甚至是不同的标点符号,将生成完全不同的哈希值。前一个区块的哈希值是唯一将前一个区块的信息代入哈希运算得到的哈希值。

hash值的表达式由0到9的10个数字和abcdef的6个数字组成,也就是说每个位有16种可能性。任何输入产生的哈希值的表达方式都是非常随机和不可控的。具体难度要求是指限制一个hash值表示的目标范围——hash值开头的连续位数为0。我们知道,通过随机代入该值,前1个字位为0的概率为1/16比特币计算过程,前8位为0的概率为1/2^32,即约2^32个随机数可以得到前8位全为0的哈希值。因此,记账节点在用大量随机数代入哈希运算的过程中消耗大量的算力比特币计算过程,直到找到一个哈希值可以让他们参与生成所需数量的0作为开始。

比特币计算过程

并且这个难度要求是根据全网算力的变化来调整的。比特币网络共识每产生2016个区块后,全网节点重新评估算力水平,确定新的难度要求。找到目标随机数的保证时间约为 10 分钟。

简单来说,就是不断的拼凑字符串,计算SHA256哈希值,直到找到一个生成合适哈希的字符串,这个字符串就是解决方案。

比特币计算过程

为什么要进行这些计算?

这个计算本质上是为了解决分布式网络的同步问题,也就是所谓的“拜占庭将军问题”。中本聪曾经回答过这个问题。比特币使用工作量证明解决拜占庭问题,中本聪选择计算哈希作为过程中的计算问题。

比特币网络的区块链实际上是一个大账本。分布式网络中会有多个版本的账本。如何找到最新的账本?您只需要找到最困难和最长的账本,这样每个人都可以安全地同步到同一个账本。