主页 > 合法imtoken钱包下载 > 比特币是如何开采的(挖矿原理)——工作量证明

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

合法imtoken钱包下载 2023-01-17 08:17:58

在区块链记账的原理中,我们了解到,记账是对交易记录、交易时间、账本序号、最后一个Hash值等信息进行Hash包装计算的过程。我们知道所有的计算和存储都需要消耗计算机资源。既然有成本,节点为什么要参与记账呢?在中本聪(比特币之父)的设计中,完成记账的节点可以获得系统给予的一定数量的比特币奖励。这个奖励的过程,也是发行比特币的过程,所以大家都直观的记住了。账本被称为“挖矿”,本文将详细讨论这个过程。

簿记工作

因为记账有奖励,每次预定一本书,可以给自己加一定数量的比特币(目前12.5比特币,在写博文时每个比特币4万多元,你可以算出多少钱),所以有很多人争着记账,大家一起记账会产生问题:存在记账不一致的问题,比特币系统引入了Proof of Work来解决这个问题。规则如下:

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

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

工作证明

{% post_link whatbc区块链记账原理%}我们知道每次记账都会取上一个区块和当前区块的Hash值。帐户页面信息作为原始信息一起散列。如果只是这样,显然每个人都可以轻松完成簿记​​。为了保证10分钟左右只有一个人能记账,需要增加记账的难度,使得Hash结果必须以几个0开头。同时为了满足这个条件,在进行Hash的时候引入了一个随机数变量。

用伪代码表示:

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

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

我们知道改变Hash的原始方法对于信息的任何部分,Hash值也会不断变化,所以在计算Hash的时候,随机数的值是不断变化的,一个随机数总是可以发现导致Hash结果以几个0开头(这个过程在下面介绍)。称为猜测),最先找到随机数的节点将获得本次记账的唯一记账权。

计算分析

(这部分是可选的)我们简单分析记账有多难。 Hash值是一个由数字和大小写字母组成的字符串。该位有62种可能性(可能是26个大写字母,26个小写字母,10个数字中的任意一个),假设任何一个字符出现的概率相等,那么第一位为0的概率是1/62(它不'不管其他位出现什么字符。)理论上,尝试0的第一位需要62次Hash操作。如果前两位为0,则必须尝试62次方Hash操作,以n开头一个0,需要尝试62的n次幂运算。我们来看看当前实际区块#493050信息:

区块#493050

注意:数据来自我们可以看到Hash值以18个0开头。理论上你需要尝试 62 的 18 次方。这个数字非常非常庞大。我想不通。应该超过十亿。这么大的计算量需要大量的计算设备、电力等,目前应该没有单个矿工独立参与挖矿。基本上,矿工联合起来形成一个矿池进行挖矿(矿池中的矿工按算力百分比计算。分享收益)。

从经济学的角度来看,只有挖矿才有利润(比特币价格上涨也增加了利润),新矿工的加入,会加剧竞争比特币挖矿原理,增加算力难度,增加挖矿难度矿场需要消耗更多的算力和算力,最终成本会因交互作用而接近收益。

题外话:由于中国的电费成本较低,相对收入较高,中国算力占全网一半以上

验证

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

如果验证通过,则表示某个节点已经成功挖出该区块,不再竞争当前区块打包,而是选择接受该区块,记录在自己的账本中,然后进行下一步。一个块竞争猜测难题。只有网络中最快的区块才会加入账本,其他节点会复制,从而保证了整个账本的唯一性。

如果节点有作弊行为,将导致网络的节点验证失败,打包的区块将被直接丢弃。该区块无法记录在总账中,作弊节点的成本将付诸东流,因此在巨大的挖矿成本下比特币挖矿原理,矿工自愿遵守比特币系统的共识协议,保证了整个系统的安全。

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

解释

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

有兴趣的同学可以看一下图中方块所包含的信息。红色箭头表示本文所涉及的信息。

本文提到了共识协议。比特币共识协议主要由工作量证明和最长链机制两部分组成。请阅读比特币如何达成共识——最长链的选择。

我们专门为区块链技术学习者提供了几门课程:

区块链通俗——系统学习区块链,打造最好的区块链技术博客我的知识星球为你解答区块链技术问题,欢迎加入讨论。