主页 > imtoken支持bcc > 1.5 比特币原理——为什么要记账(挖矿)

1.5 比特币原理——为什么要记账(挖矿)

imtoken支持bcc 2023-02-14 05:39:11

之前如何验证账户,其实是对账户地址和交易信息进行哈希处理的过程。 这个过程需要消耗计算机资源。 既然消耗了资源,为什么节点还要参与记账呢? 在比特币系统中,一个完成记账的节点可以获得一定数量的比特币奖励。 这个奖励其实就是比特币的发行过程。

由于记账有奖励,所以每次记账都会先发放一定数量的比特币到记账账户。 目前记账奖励为12.5个比特币。 在这种情况下,每个人都会为之而战。 在记账方面,如果大家同时记账,就会造成一个问题,就是记账不一致。 在这种情况下,必须有一个规则来限制。

规则如下所示:

由于解决密码学问题具有一定的随机性,因此这种记账是可以得到奖励的。 所以大家可以把记账的过程想象成挖矿

之前记账本的时候,简化为将之前的哈希值和这段时间的交易信息进行哈希,作为原始信息。 如果真是这样,显然每个人都可以轻松完成记账。 如果一定时间内只有一个人可以记账挖比特币原理,记账的难度就需要增加。

比特币中规定,每次哈希运算的哈希值必须满足一定的条件,即必须以n个0开头。 为了满足这个条件,在计算hash的时候必须引入一个随机值变量(前面讲过hash函数任何一个微小的参数变化都会让结果发生很大的变化),所以在计算hash的时候,不断的改变hash的值这个随机数挖比特币原理,每次都可以得到一个新的哈希值,只要不断尝试改变这个哈希值,总能找到满足条件的结果

image.png

现在的计算机通常需要得到一个以四个0开头的哈希值,这通常需要一两分钟的时间。 由于参与挖矿的电脑非常多,算力非常大,所以目前的挖矿难度是按18个0算的。 一开始,最先满足这个条件的节点可以获得唯一的记账权

交易的记录集是这样获取的:

首先,它会收集广播中没有记录的交易,然后验证交易的有效性(验证签名,余额是否足够)并为自己的转账添加一笔交易(挖矿奖励)(将其添加到自己的账户中)自己的地址转12.5(现在)比特币,如果一个节点能比其他节点更快的找到哈希值,那么整个交易将被打包成一个区块进入区块链,打包的节点将获得这笔奖励)

image.png

以上是一个真实的区块哈希的例子。 哈希值是一个十六进制数。 每得到一个0,它的概率就是1/16。 如果得到18个0,它的概率就是1618,这个概率很小,所以实现的难度还是挺大的。

现在没有单节点(旷工)可以挖了,因为基本不可能。 一般由多个节点组成一个矿池共同挖矿,然后根据算力分配收益。

说一个跟技术无关的话题,从经济学的角度,只要挖矿还有利润,总会有新的缺席者参与,加剧竞争,增加算力难度,挖矿会消耗更多的算力和电费,最终这个成本接近于收入。 这是经济学的观点。 由于我们国家的电费成本比较低,收益比较高,所以中国的算力会占据整个节点的一半以上。

因为记账需要消耗资源,比特币系统会对参与记账的人进行奖励,同时引入工作量证明来引入记账冲突的问题