主页 > imtoken是什么平台 > BTCC Global:比特币的工作量证明机制到底是什么

BTCC Global:比特币的工作量证明机制到底是什么

imtoken是什么平台 2023-01-18 13:22:51

很多人都听说比特币共识模型是POW(Proof Of Work),即工作量证明机制,但它证明了什么?纠结了好久。

区块头

一个块包含一个块头和一个块体。区块体包含了打包在这个区块中的所有比特币转账记录,区块头包含了一些元数据,比如版本号、前一个区块的哈希值、默克​​尔树根、时间戳、难度值、Nonce。

与挖矿相关的两条信息是难度值和 Nonce。难度值由系统自动调整,根据过去一段时间内产生新区块的时间进行平衡。目的是维护比特币,十分钟左右挖一个区块。

Nonce值,即一个随机数,即谁能找到一个满足难度值设定的范围的随机数,那么这个Nonce就是方程的正确解,挖矿成功将获得奖励.

比特币是什么东西

现在,你大概知道所谓的挖矿了:所有矿工都去寻找一个随机数,并把它做成方程解。

听起来很简单,但事实是,要找到这样一个随机数需要数百亿次尝试......

思考:如果你深入思考,你会问:如果多个矿工几乎同时找到解决方案怎么办?

答案是:比特币主链会暂时分叉,然后看哪条链增长更快,矿工会在下一个区块出现时,切换到最长的链作为主链。这又是一个非常有趣的话题。

SHA256 函数

比特币是什么东西

这是一个神奇的Hash函数,我们可以把这个函数当成一个黑盒比特币是什么东西,或者一个神奇的盒子,随便你,只要记住它有一个Function即可:

“任意长度的输入数据,经过SHA256处理后,都会生成一个256位长度的字符串,输入的数据不同,结果也会不同”

这是Hash函数,用途非常广泛。区块中的很多内容都是经过Hash处理的。

例如:“我是中本聪”,经过SHA256处理,得到一个结果:

5d7c7ba21cbbcd75d14800b100252d5b428e5b1213d27c385bc141ca6b47989e

比特币是什么东西

这个结果没有规律,只要输入稍有变化,结果就会相差很大。更令人惊奇的是,您无法从结果中倒推得出输入数据是什么。

难度值

上面的HASH值,如果我说要满足一个条件,第一位必须是0,那么概率是十六分之一,也就是每16个产生一个结果,就会有一个0开头的, 因为每个数字都在 0-9a-f 16 个数字之间。

如果前两位一定是0,那么概率是256中的1,难度增加。三位数、四位数和十位数呢?想要出现在前面的0越多,实现的难度就越大,难度会成倍增加。当然,这仍然是由 256 位二进制细分的。

例如:难度值为1024,2的10次方为1024,即前10位为0,(共256位)。

比特币是什么东西

比特币会每隔 2016 个区块(约 2 周)调整一次难度,以确保每个区块之间的时间间隔为 10 分钟左右。因为计算能力时时增减,所以难度值也应该相应地自动调整,也有相应的难度计算算法来平衡这一切。

方程

一个POW挖矿方程基本上可以简单概括如下:

SHA256(区块头 + Nonce )<目标值

将块头信息加到一个Nonce中比特币是什么东西,然后计算SHA256得到一个256位的字符串,这个字符串的第几位必须为0才能满足上式。

比特币是什么东西

这里唯一需要尝试的是 Nonce 值。从0开始暴力计算,0失败,改成1。1失败,改成2。2失败,改成3……或许经过百亿次尝试,结果会是正确的。

如果发现 999 正确,则将 999 写入本地创建的新区块头的 Nonce 字段。然后将区块广播给其他矿工,矿工会检查收到的区块是否正确,然后同步你的区块并广播给其他矿工,开始竞争下一个区块。

这 999 是您工作量的证明,证明您尝试了 1000 次。为此,您还将获得 25 BTC 的奖励,以及包含所有交易的当前转账费用。

一旦新区块产生,所有矿工从0开始计算下一个区块的Nonce...

思考:为什么不从 999 继续计算呢?

答案是:因为区块头变了,我们要从头开始。

比特币的POW挖矿机制允许所有矿工通过贡献算力参与比特币的发行,公平加入网络,并自动调整奖励和难度系数。所有矿工都有一个独立的验证区域区块合法性,拒绝欺诈矿工,所有这些机制都构建了一个完全去中心化的操作系统。