主页 > imtoken国际版下载 > 比特币是如何开采的(挖矿原理)——工作量证明

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

imtoken国际版下载 2023-06-08 07:22:26

主站最新内容更新,深度讲解区块链社区

原文链接:如何挖比特币(挖矿原理)-工作量证明python

在区块链记账原理中,我们了解到记账是对交易记录、交易时间、账本序号、最后一个Hash值等信息进行Hash包装计算的过程。

我们知道所有的计算和存储都需要消耗计算机资源。既然有成本,为什么节点要参与记账?在中本聪(比特币之父)的设计中,完成记账的节点可以获得系统给予的一定数量的比特币奖励。这个奖励的过程也是比特币发行的过程,所以你可以直观的记录下来。账本被称为“挖矿”,本文将详细讨论这个过程。网络

会计工作

因为记账有奖励,每个记账可以凭空给自己增加一定数量的比特币(目前12.5个比特币,写博文时每个比特币4万多人民币,如何多少钱你能算),所以你们争着记账,你们一起记账会出现问题:会有记账不一致的问题,比特币系统引入了工作量验证来解决这个问题,规则如下:安全性

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

国内怎样炒比特币

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

工作量确认

从区块链记账的原理可知,每次记账都会返回上一个区块的Hash值和当前的记账页面信息。散列在一起作为原始信息。

如果是这样国内怎样炒比特币,显然每个人都可以轻松完成会计。

为了保证我的10分钟左右只有一个可以计费,需要增加计费的难度,使得Hash结果必须以几个0开头。为了满足这个条件,在进行Hash的时候引入了一个随机数变量。学习

国内怎样炒比特币

用伪代码表示:区块链

# 没有难度时为:Hash(上一个Hash值,交易记录集) = 456635BCD
Hash(上一个Hash值,交易记录集,随机数) = 0000aFD635BCD

我们知道原始信息中任何部分改变了Hash,Hash值也是会不断变化的,所以在计算Hash的时候,随机数的值是不断变化的,一个随机数总是可以找到使得Hash结果以几个0开头(以下这个过程称为猜测),第一个找到随机数的节点获得该记账的唯一记账权。温泉

计算分析

(这部分是可选的阅读)我们来简单分析一下会计有多难,

国内怎样炒比特币

哈希值是由数字和大小写字母组成的字符串,每一位有62种可能(可能是26个大写字母,26个小写字母,10个数字中的任意一个),假设任何一个字符出现的概率相等,那么first 为 0 的概率是 1/62(其余数字中出现的任何字符),理论上,需要 62 次 Hash 操作才能将第一个 0 放在首位。如果前两位为 0,则要尝试 62 的平方 Hash 运算,从 n 个零开始,需要尝试 62 的 n 次方运算。我们来看看当前的实际区块#493050信息:设计

区块#493050

注意:数据来自

我们可以看到 Hash 值以 18 个 0 开头。理论上,您需要尝试 62 的 18 次方。这个数字非常非常庞大。我想不通。应该超过十亿。这么大的计算量,需要在计算设备、电力等方面进行大量投资。

目前不应该有单个矿工独立参与挖矿。矿工按算力百分比划分)。代码

国内怎样炒比特币

从经济学的角度来看,只有挖矿才有利润(比特币价格上涨也增加了利润),新矿工的加入,会增加竞争,增加算力难度。挖矿需要更多的计算和电力国内怎样炒比特币,最终的交互成本将接近收益。

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

验证

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

如果验证通过,说明某个节点成功解谜,不再竞争当前区块打包,而是选择接受这个区块,记入自己的账本,然后继续到下一步。块竞争猜谜游戏。

国内怎样炒比特币

只有网络中最快的区块才会加入账本,其余节点会被复制,从而保证了整个账本的唯一性。

如果节点有作弊行为,会导致全网节点验证失败,直接丢弃打包的区块。这个区块不能记入总账,作弊节点的成本是白费的,所以在巨大的挖矿成本下,矿工自愿遵循比特币系统的共识协议,保证了整个系统的安全。

解释

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

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

本文提到了共识协议。比特币共识协议主要由工作量验证和最长链机制两部分组成。以后会有博文详细讲解。

区块链深入浅出——系统学习区块链,打造最好的区块链技术博客