主页 > imtoken苹果端手机下载平台 > 比特币是如何被开采的(采矿原理)——工作量证明

比特币是如何被开采的(采矿原理)——工作量证明

在区块链记账原理一文中我们了解到,记账就是对交易记录、交易时间、账号、最后的哈希值等信息进行计算和打包的过程。

我们知道所有的计算和存储都需要消耗计算机资源。 既然要付出成本,为什么还要让节点参与记账呢? 在中本聪(比特币之父)的设计中,完成记账的节点可以从系统中获得一定数量的比特币奖励。 这个奖励的过程也是比特币的发行过程。 该帐户称为“挖矿”,本文将详细讨论这一过程。

簿记

因为记账是有奖励的,每次记账都可以凭空加一定数量的比特币(目前是12.5个比特币,写博文的时候每个比特币4万多块钱,可以算算多少.),所以大家竞相记账,大家一起记账,就会出现问题:存在记账不一致的问题,比特币系统引入工作量证明来解决这个问题。 规则如下:

- 一定时间内(10分钟左右,具体时间会和密码谜题的难度交互)只有一个人可以记录成功

- 通过解决密码学问题(即工作量证明)来竞争获得唯一的记账权

- 其他节点复制记账结果

但是,在工作量证明之前,记账节点会做以下准备工作:

比特币矿工费怎么算_比特币算力计算_比特币怎么算出来

- 收集广播中未记录在账本中的原始交易信息

- 检查每笔交易信息中支付地址是否有足够的余额

- 验证交易是否有正确的签名

- 打包并记录已验证的交易信息

- 添加奖励交易:添加12.5个比特币到你自己的地址

如果节点成功竞争记账权,将获得12.5个比特币的奖励。

比特币矿工费怎么算_比特币怎么算出来_比特币算力计算

工作证明

区块链记账原理 我们了解到,每次记账都会将上一个区块的Hash值和当前账户页面信息一起作为Hash的原始信息。

如果只是这样的话,显然每个人都可以轻松完成记账。

为了保证10分钟左右只有一个人记账,需要增加记账的难度,让Hash的结果必须以几个0开头。 同样为了满足这个条件,在进行Hash的时候引入了一个随机数变量。

用伪代码表示:

Hash(最后一个Hash值,交易记录集) = 456635BCD

比特币矿工费怎么算_比特币算力计算_比特币怎么算出来

Hash(最后一个Hash值,交易记录集合,随机数) = 0000aFD635BCD

我们知道,如果改变Hash的原始信息的任何一部分,那么Hash值也会随之改变。 所以在计算Hash的时候,不断的改变随机数的值比特币怎么算出来,总能找到一个随机数,这样Hash的结果就可以在几个数之间变化。 0(以下称这个过程为猜测),最先找到随机数的节点将获得本次记账的唯一记账权。

计算分析

(本部分为选读)我们简单分析一下记账到底有多难。

Hash值是由数字和大小写字母组成的字符串比特币怎么算出来,每一种都有62种可能(可能是26个大写字母,26个小写字母,10个数字中的任意一个),假设任意一个字符出现的概率都相等,则首位为0的概率是1/62(不管其他位出现什么字符),理论上要进行62次Hash运算才能试首位为0,如果前两个2位为0,就得尝试62次Hash运算的平方,如果从n个0开始,需要尝试62次运算的n次方。 我们来看看当前实际区块#493050的信息:

比特币算力计算_比特币怎么算出来_比特币矿工费怎么算

比特币算力计算_比特币怎么算出来_比特币矿工费怎么算

注:数据来自

我们可以看到Hash值是以18个0开头的。 理论上,你需要试试62的18次方。 这个数字非常非常大。 我想不通。 应该在亿级以上。 如此大的计算量需要大量的计算设备、电力等,

目前应该没有单一的矿工独立参与挖矿。 基本上,矿工联合起来组成一个矿池进行挖矿(矿池中的矿工按照算力的百分比分享收益)。

从经济学的角度来看,只要挖矿还有利润(比特币价格上涨也会增加利润),就会有新的矿工加入,这会加剧竞争,增加算力难度,挖矿成本就会增加更多的计算和能力,交互导致最终成本接近收益。

题外话:由于中国用电成本低,相对收益更高,中国算力占全网一半以上

核实

比特币怎么算出来_比特币矿工费怎么算_比特币算力计算

节点成功找到满意的哈希值后,会立即将打包好的区块广播给全网,全网节点收到广播的打包好的区块后会立即进行验证。

如果验证通过,则说明部分节点已经成功解谜,不再竞争当前区块的打包,而是选择接受这个区块,记录在自己的账本中,然后进行竞争猜测下一个区块。

只有网络中解谜速度最快的区块才会被添加到账本中,其他节点复制它,从而保证了整个账本的唯一性。

如果节点有作弊行为,将导致网络节点验证失败,打包区块将直接丢弃。 这个块不能记入总账,作弊节点的成本就白白浪费了。 因此,在巨大的挖矿成本下,也使得矿工自愿遵守比特币系统的共识协议,从而保证了整个系统的安全性。

深入阅读比特币区块结构默克尔树和简单的支付验证分析,可以深入了解区块结构如何验证交易。

阐明

事实上,矿工的收入不仅包括新发放的12.5比特币奖励,还包括交易手续费收入(为了让主体更清晰,本文省略了一些细节)。

有兴趣的同学可以看看图中blocks包含的信息,红色箭头标示了本文涉及的信息。