当前位置:首页 > 区块链 > 比特币 > 正文

何为比特币挖矿,工作量证明-中国国际物联网数字货币知识

2020-11-27 11:41:40
何为比特币挖矿,工作量证明,比特币作为一种虚拟货币,是由一个个的交易和对这些交易的数字签名组成的。

简单来说,你是否拥有一个比特币,并不是你保存了一个叫做比特币的数据,而是由于在整个比特币系统中,记录了从你得到这枚比特币以来的所有交易信息,如果系统中只有别人发给你比特币的交易,没有你发给别人比特币的交易,那么你就拥有这枚比特币。

比特币系统是由一个点对点的网络,维护者一个分布式记账本。当进行交易时,币的接收者可以通过查找账本中的历史交易记录,确定该比特币是属于币的发送者,且该比特币没有被发送者多次支付,从而验证该笔交易的有效性。

如何保证交易历史的可信度呢?需要对交易打上的时间戳,说明在该时刻该交易是存在的,且该交易是不能随意被更改的。而这些是由区块链完成的。

1.比特币挖矿

矿工是运行hash运算的计算机结点,挖矿即是通过运算工作量证明生成新的区块。其特点如下:

每个比特币矿工结点都在自己本地维持了一个未完成的区块。

每个比特币矿工结点都不断的尝试对未完成区块找到一个工作量证明。

当有比特币交易产生时,比特币钱包将交易广播到比特币网络。

比特币结点将收到的比特币交易加入到未完成区块中。

比特币矿工结点完成一个工作量证明的时候,它将此区块和工作量证明广播到比特币网络,说明它完成了一个比特币区块的创建。

当比特币结点收到其他结点发来的新区块时,只有当新区块里面所有的交易都验证有效时,才会接受它,并将停止自己当前的区块创建,在新区块的后面尝试创建更新的区块(使用新区块的hash值)。

矿工的付出:CPU时间,电费等

矿工的奖励:

区块的第一个交易是特殊交易,它将奖励一定数量的比特币给区块的创建者。

区块中交易的手续费,如果某笔交易想要快速被确认,可以在交易中增加手续费,而保存该交易的区块的创建者将得到该手续费。

2.工作量证明

对一个区块的hash计算是这样完成的:

在区块中存在一个随机数Nonce,运行比特币矿机的结点对区块整体数据不断的进行一个hash运算(具体算法为SHA256),得到hash值,如果hash值不是以N个0开头的,就增加Nonce的值,重新再进行hash运算,直至找到这个解为止。

由hash运算的非对称性可知,得到正确的hash是需要运气的,往往需要经过大量多次不断的尝试;但是要验证一个hash值是否正确,只需要一次运算即可。

整个工作量证明的难易程度是由hash值0的个数N来决定的,比特币系统会根据当前整体的运算速率来进行调整N,从而保证平均每10分钟生成一个新的区块。

当某个矿机结点找到了一个解,那么即可以将hash值和该区块广播到整个比特币网络,证明自己创建了一个新的区块,这个过程就是一个工作量证明(俗称挖矿)。

标签