比特币挖矿是怎么回事?

挖矿是跟比特币分不开的一个概念。那什么是挖矿,挖矿的意义何在,挖矿真的能保证系统的绝对安全吗?本节让我们来一起揭晓。

什么是挖矿?

有人把比特币比作数字黄金,这不是没有道理的,因为比特币的总量就是2100万个,而且这个数量不是一下子就释放出来的,而是要通过矿工挖矿逐渐挖出来的。挖矿是人们获取比特币的唯一方式,也可以说最初的比特币都是首先到达矿工手里的,其他人需要跟矿工去交易才能获得比特币。种种特征,让比特币的生产过程看上去跟挖金矿很类似,于是才有了挖矿这个概念,进而也就有了矿工。

那谁是矿工呢?矿工就是一台安装了比特币软件的电脑,它构成了比特币网络上的一个节点,拥有这台电脑的人也会自称矿工。矿工每天的任务就是不停的挖矿。比特币系统每隔十分钟就会产生一定数量的比特币,挖矿的过程其实是一个赛跑的过程,谁挖的最快,谁就能获得这十分钟产生的比特币。所以每个矿工都有动力去买更贵的硬件,花费更多的电能去挖矿。目前全球每年要消耗几十亿美金在挖矿上。

但是挖矿真的就只是一帮有钱人拼命买机器,贪婪抢夺比特币的过程么?

挖矿就是记账

挖矿的作用除了生产比特币,其实还有另外一个,也应该说是更本质更重要的作用,那就是挖矿过程本质就是记账过程。

比特币是一个大账本,同时比特币是个无主系统,也就是说比特币背后是没有主人的,那么矿工参与挖矿的动力来自于哪里呢?比特币通过单位时间内给矿工奖励一定数量比特币的形式,来形成经济激励,让矿工自发的进入到游戏中来。同时,比特币系统是通过大家对交易达成共识来实现整个账本的安全的。那么有意思的问题来了,在一个没有老大的、公说公有理婆说婆有理的网络上,大家如何才能达成共识呢?嗯,你可能已经想到了,很简单,大家一人一票,最终少数服从多数就可以达成共识。

那进一步的问题又来了,互联网上,如何代表一个人呢?有些系统中的做法是这样,一个 IP 地址对应一个人,但是这个方法在比特币系统上不太可行,因为比特币是一个有真金白银奖励的系统,所以攻击者为了获得经济收益,很可能会去一个人申请很多 IP 来进行投票,由于申请 IP 本身不需要花很多钱,所以很容易造成攻击者一个人拥有大量 IP 的情况,让系统变得非常不安全。最终中本聪的思路是,一个 CPU 一票。虽然,这样并不能避免有钱人买很多的 CPU ,但是由于买硬件本身是要花钱的,同时运行起这些硬件来电费也很贵。这就造成了攻击者一个人想要获得很多票是很困难的。因为攻击者和诚实的矿工都会去购买很多 CPU ,这样实际上形成了一个结果:就是攻击者要想破坏整个比特币系统的安全,需要他自己的钱,比全网其他所有矿工的钱加起来还要多,显然这种可能性是极低的。

挖矿安全性讨论

挖矿的底层原理涉及到工作量证明机制,也就是所谓的 POW 机制。要解释清楚 POW 的具体原理需要涉及到非常多的技术概念,所以我这里就不展开了。大家可以去参考比特币的创世论文,做进一步的了解。

这里我们来讨论一下挖矿的安全性问题。首先一个情况是中本聪最初设想的一个 CPU 一票的机制,伴随着专业矿机硬件的发明,在实际中发生了变化。普通人的电脑即使非常的贵,也比不上一个很便宜的专业矿机的挖矿效率,这就使得可能成为矿工的人数骤减。而让情况进一步恶化的就是,即使是那些专门买了矿机的人,也发现加入矿池之后收益会更高。而每一个大矿池,其实是被一个特定公司所管理的,这样造成了挖矿的中心化程度变得更高了。即便是这样,目前业界主流的声音依然认为 POW 机制,是全球达成共识的最佳方式。因为矿池所在的公司没有动机去攻击比特币系统,这样只能让系统崩溃,币价瞬间归零,那么攻击即使获得再多的币,自己的投资也一样是血本无归。另外随着比特币网络的增大,新的大矿池公司也会不断产生,形成制衡。而网络越大,攻击者要形成51%攻击,所需要花费的钱也就越多。

对于 POW 需要耗费电力和硬件而造成资源浪费这个问题,Peter 赞同的一派观点认为,共识本身就是有成本的,而全球共识当然会更昂贵。比特币系统挖矿需要的这部分资源,其实要比金融系统运行的成本低不知道多少倍。而另外一种不需要耗费资源的共识方式,也就是 POS ,股权证明方式,其本质上就是一种自己证明自己诚实的方式,是不可信的,这里我们就不展开了。

总结

好,这节的内容就是这些。我们聊了什么是比特币挖矿,介绍了挖矿是比特币生产的唯一方式,同时也介绍了挖矿的过程本身其实是记账过程。最后论述了虽然 POW 挖矿的方式进行记账消耗了不少资源,但是也是目前人们广泛认可的唯一能安全的去中心化的达成全球共识的方法。