区块链(比特币)的挖矿采矿

业余杂谈 herman 326浏览 0评论

由于区块链必须保证节点之间的同步,所以新区块的添加速度不能太快。试想一下,你刚刚同步了一个区块,准备基于它生成下一个区块,但这时别的节点又有新区块生成,你不得不放弃做了一半的计算,再次去同步。因为每个区块的后面,只能跟着一个区块,你永远只能在最新区块的后面,生成下一个区块。所以,你别无选择,一听到信号,就必须立刻同步。

所以,区块链的发明者中本聪(这是假名,真实身份至今未知)故意让添加新区块,变得很困难。他的设计是,平均每10分钟,全网才能生成一个新区块,一小时也就六个。

这种产出速度不是通过命令达成的,而是故意设置了海量的计算。也就是说,只有通过极其大量的计算,才能得到当前区块的有效 Hash,从而把新区块添加到区块链。由于计算量太大,所以快不起来。

这个过程就叫做采矿(mining),因为计算有效 Hash 的难度,好比在全世界的沙子里面,找到一粒符合条件的沙子。计算 Hash 的机器就叫做矿机,操作矿机的人就叫做矿工。

挖矿

挖矿是pow(工作量认明)特有的。是为了解决共识问题。缺点是浪费大量的算力。

所以区块链又衍生了新的共识算法如:pos(权益机制)、dpos(授权机制)、pbft(投票选举)这些算法都能解决共识问题。

挖矿实际上就是这个区块链信用证明过程。

“挖矿”在于维护整个网络的信用,比特币的没有机构为其背书还被人相信,就是建立在这样的架构之上。不“挖”我是不会信。

所谓的挖矿,就是通过原代码对区块的解密和在区块链上的广播工作,所解密和广播为分布式账本的记账工作,奖励的币就是我们常说的挖矿。

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!

本文原文出处:业余草: » 区块链(比特币)的挖矿采矿