导语:比特币的挖矿对于不同的矿工而言是一种竞争记账权的合作记账行为,在合作的大框架下有序的竞争。
比特币最迷人的地方就是挖矿了。为什么挖矿这么迷人?因为挖矿能获得比特币呗。我写这篇文章的时候比特币的价格是3900美元,如果能挖到一个区块,就能获得48750美元的挖矿收入和约6000美元的交易手续费收入,这不是非常迷人吗?
那么到底什么是挖矿呢?矿工又如何通过挖矿获得比特币的呢?这就需要从比特币区块链系统采用的PoW(工作量证明)共识机制说起了。
PoW(工作量证明)共识机制
先讲一个故事:
有一个村子,这个村子里很多事情都需要大家一起决策。比如某天,村长需要全体村民一起决策今天中午村里的大食堂是包饺子还是擀面条。通常,我们能想到的方法就是投票----每个村民一票,少数服从多数。但是有些村民并不想在食堂吃饭,所以他可能就会把票送给别人,这样就有可能会导致不公平,在食堂吃饭的大多数人可能没有实现他们的愿望。
于是村长换了一种办法,他在10点50的时候,用大喇叭给全体村民广播:“大家来选择食堂中午是做饺子还是做面条,想来食堂吃饭的人,就去食堂门口推那个巨大的石头,到了11点整,石头被推到了大门东边,中午就吃饺子;推到了大门西边,中午就吃面条。”
于是想去食堂吃饭的人,就跑去推石头了。出力多的人群最终实现了自己的愿望,出力少的人群也心甘情愿,因为村里一直都是这样的规矩。
这个故事讲了一种实现人群共识的方式,我们可以叫它“工作量证明机制”。利用出力的多少,来证明自己的选择意愿。
在这个系列的第一篇文章里,我们讲到了区块链系统能够让所有人的账本保持一致。这种让所有节点数据保持一致的机制,我们称之为共识机制。采用不同的共识算法,能够实现不同性能的共识效果,其最终目的都是保持数据的一致性。
记录工作量证明,不可篡改
我们已经知道,在比特币系统中,记录交易是系统工作的基础方式。在比特币区块链系统中,区块是记录交易的最基本容器。在比特币(BTC)中目前区块大小限制为1MB,(前几天刚刚诞生了一种新的虚拟货币,叫做比特币现金——BCC,这个区块大小限制目前是8MB)。由于区块的大小有限制,因此每个区块所能容纳的交易数量也是有一定限制的。目前比特币系统规定平均每10分钟产生一个区块,因此,矿工工作的方式实质上就是在10分钟内收集网上产生的所有交易,然后将交易填到一个区块里。这个区块大约如下表所示:
注意第一条,在任何区块里,第一条都是没有转出地址的,就是所谓的CoinBase(挖矿交易)。没有任何人付给矿工这笔钱,矿工只是理所应当的写上自己获得了12.5比特币。所有节点都认可矿工这样写,因此矿工就得到了挖矿收入。
不同的矿工在填写区块的时候,数据一定是不一样的,因为每个矿工的第一条肯定不一样,矿工只会把挖矿收入转入自己的地址。所以矿工Michael的CoinBase是“Michael获得了12.5比特币”,矿工Nancy的CoinBase是“Nancy获得了12.5比特币”。
每一个矿工都把自己收集到的交易和自己该获得的收入填好了,那么,到底谁的记录才会被大家认可呢?比特币就采用工作量证明机制,让矿工互相间竞争求解一个数学题,谁先解出来了,谁的区块就会被所有人认可。就好像开篇的故事讲的那个村子一样,每个矿工都在努力地推那个巨石,一旦石头把自己记录的那一页账目压住了,他就大喊一声,“我的工作量证明成功了,你们快来看!”全体矿工就都过来把那一页账目抄写一份,贴在自己账本的最后面,然后又开始新的记账过程。周而复始,生生不息,账本一页一页的增加,账本越来越厚。
文章评论 本文章有个评论