主页 > imtoken手机版下载 > 挖矿就是解决一道难度不断调整的数学题

挖矿就是解决一道难度不断调整的数学题

imtoken手机版下载 2023-04-08 06:45:45

为了实现历史数据的不可篡改,区块链采用让每个参与者都维护一个数据库账本的方式,也就是说整个网络中只有一条链被大家认可,然后每个人都保存一个复制。 ,所以没有人可以否认它。

就像在农业社会,在一个小村子里,谁做了好事,谁做了坏事,谁欠了谁几只鸡几头牛比特币的数学题怎么生成的,大家很快就口口相传,家家户户每个人都深有感触。 一本账本,故事在每个人的记忆中,谁也无法否认。 然而在信息时代,全网的数据量和交易量激增,每一秒都会产生大量的交易。 如何保证记账有序? 如果交易信息随时在网络中传播,没有机制来规范交易确认的过程,那么这种记账方式就行不通了。

比特币生成_比特币的数学题怎么生成的_比特币公私钥生成

如果每隔一段时间,比如十分钟,可以生成一个新的账户页面,网络中的节点将有时间验证账户页面中的交易数据。 以比特币网络为例,每笔交易发生后,都会被发送到网络中,参与记账的节点会将这些交易打包成块,并逐一检查这些交易记录是否符合要求。 当交易记录填满新区块时比特币的数学题怎么生成的,需要额外的工作来打包交易并生成新区块。 区块生成的过程就是所谓的“挖矿过程”。 贡献算力参与新区块生成的朋友称为“矿工”。

比特币生成_比特币的数学题怎么生成的_比特币公私钥生成

这个额外的工作分为两个步骤:

比特币公私钥生成_比特币生成_比特币的数学题怎么生成的

第一步:将新创建的区块所包含的内容[前一个区块的哈希值(SHA256函数值)+本新区块的基本信息+本新区块所包含的所有交易记录]组合成一个字符串。 这里的前一个块的哈希值是指将前一个块的所有内容输入SHA256函数后得到的结果值。 由于每个区块都与其对应的SHA256函数值一一对应,因此该区块的SHA256函数值就代表了这个区块。

比特币的数学题怎么生成的_比特币生成_比特币公私钥生成

第二步:找一个随机数(nounce),把这个随机数加到第一步形成的字符串的末尾,形成一个新的字符串。 将这个新字符串输入 SHA256 函数以获得 256 位二进制数。 如果找到的随机数能够使SHA256函数运算得到的256位二进制数满足特定的挖矿难度(挖矿难度会不断调整,我们这里假设前70位全为0),那么这个额外的工作就是成功完成。

比特币公私钥生成_比特币的数学题怎么生成的_比特币生成

挖矿难度(difficulty)的设置,让这个额外的工作变得非常困难,高到整个比特币网络中只有一个矿工可以在 10 分钟左右的时间内找到这个随机数。 SHA256函数的特点是虽然每个输入值对应一个输出值,每个输出值都是一个256位的二进制数,但是每次运算具体的输出值是完全随机的,无法预测。 找到满足要求的随机数的唯一方法是尽可能快地输入不同的随机数,并不断尝试。 根据我们目前假设的挖矿难度,在前70位中,第一位是0的概率是1/2,因为第一位可能是1,也可能是0。这里可以类比为抛硬币。 抛一枚硬币可能是正面也可能是反面,正面的概率是1/2。 前两位数字均为 0 的概率是 1/2 乘以 1/2。 前 70 个数字全为 0 的概率是 2 的 70 次方之一。 也就是说,需要取随机数(1180591620717411303424)的2的70次方的平均值,才能找到符合要求的随机数。 也就是说,平均需要进行2的70次方的SHA256函数运算,才能得到满足要求的随机数。

挖矿难度随着全网算力的增加而不断调整。 目的是保证每十分钟只产生一个新区块。 十分钟即可完成此工作量。 如果全网算力提升,可能会调整挖矿难度,使得得到的256位二进制数的前71位全为0。因为找到这个随机数完全靠运气,有时候运气比较好,您也许可以在三四分钟内找到这个随机数。 有时运气不好,可能要十几分钟才能找到这个随机数。 但一般要找到一个符合要求的随机数,平均需要十几分钟。 因为这完全取决于运气,所以矿工的计算设备首先找到随机数是完全随机的。

因此,大量的算力消耗在挖矿上,挖出来的不是币,而是记账权。 这也是记录全网记忆的力量。 这种力量至高无上,需要付出代价,也会得到回报。 第一个找到符合要求的随机数的矿工将从系统中获得一定数量的比特币作为奖励。 随着比特币被越来越多的人接受,比特币的价格会上涨,收益会激励矿工参与记账,维护网络的正常运行。