新聞中心

EEPW首頁(yè) > 業(yè)界動(dòng)態(tài) > 【E問(wèn)E答】人人都說(shuō)的比特幣挖礦,到底是在挖什么?

【E問(wèn)E答】人人都說(shuō)的比特幣挖礦,到底是在挖什么?

作者: 時(shí)間:2017-09-11 來(lái)源:網(wǎng)絡(luò) 收藏

  最迷人的地方就是挖礦了。為什么挖礦這么迷人?因?yàn)橥诘V能獲得唄。我寫這篇文章的時(shí)候的價(jià)格是3900美元,如果能挖到一個(gè)區(qū)塊,就能獲得48750美元的挖礦收入和約6000美元的交易手續(xù)費(fèi)收入,這不是非常迷人嗎?

本文引用地址:http://2s4d.com/article/201709/364129.htm

  那么到底什么是挖礦呢?礦工又如何通過(guò)挖礦獲得比特幣的呢?這就需要從比特幣區(qū)塊鏈系統(tǒng)采用的PoW(工作量證明)共識(shí)機(jī)制說(shuō)起了。

  PoW(工作量證明)共識(shí)機(jī)制

  先講一個(gè)故事:

  有一個(gè)村子,這個(gè)村子里很多事情都需要大家一起決策。比如某天,村長(zhǎng)需要全體村民一起決策今天中午村里的大食堂是包餃子還是搟面條。通常,我們能想到的方法就是投票----每個(gè)村民一票,少數(shù)服從多數(shù)。但是有些村民并不想在食堂吃飯,所以他可能就會(huì)把票送給別人,這樣就有可能會(huì)導(dǎo)致不公平,在食堂吃飯的大多數(shù)人可能沒(méi)有實(shí)現(xiàn)他們的愿望。

  于是村長(zhǎng)換了一種辦法,他在10點(diǎn)50的時(shí)候,用大喇叭給全體村民廣播:“大家來(lái)選擇食堂中午是做餃子還是做面條,想來(lái)食堂吃飯的人,就去食堂門口推那個(gè)巨大的石頭,到了11點(diǎn)整,石頭被推到了大門東邊,中午就吃餃子;推到了大門西邊,中午就吃面條?!?/p>

    

人人都說(shuō)的比特幣挖礦,到底是在挖什么?

 

  于是想去食堂吃飯的人,就跑去推石頭了。出力多的人群最終實(shí)現(xiàn)了自己的愿望,出力少的人群也心甘情愿,因?yàn)榇謇镆恢倍际沁@樣的規(guī)矩。

  這個(gè)故事講了一種實(shí)現(xiàn)人群共識(shí)的方式,我們可以叫它“工作量證明機(jī)制”。利用出力的多少,來(lái)證明自己的選擇意愿。

  在這個(gè)系列的第一篇文章里,我們講到了區(qū)塊鏈系統(tǒng)能夠讓所有人的賬本保持一致。這種讓所有節(jié)點(diǎn)數(shù)據(jù)保持一致的機(jī)制,我們稱之為共識(shí)機(jī)制。采用不同的共識(shí)算法,能夠?qū)崿F(xiàn)不同性能的共識(shí)效果,其最終目的都是保持?jǐn)?shù)據(jù)的一致性。

  記錄工作量證明,不可篡改

  我們已經(jīng)知道,在比特幣系統(tǒng)中,記錄交易是系統(tǒng)工作的基礎(chǔ)方式。在比特幣區(qū)塊鏈系統(tǒng)中,區(qū)塊是記錄交易的最基本容器。在比特幣(BTC)中目前區(qū)塊大小限制為1MB,(前幾天剛剛誕生了一種新的虛擬貨幣,叫做比特幣現(xiàn)金——BCC,這個(gè)區(qū)塊大小限制目前是8MB)。由于區(qū)塊的大小有限制,因此每個(gè)區(qū)塊所能容納的交易數(shù)量也是有一定限制的。目前比特幣系統(tǒng)規(guī)定平均每10分鐘產(chǎn)生一個(gè)區(qū)塊,因此,礦工工作的方式實(shí)質(zhì)上就是在10分鐘內(nèi)收集網(wǎng)上產(chǎn)生的所有交易,然后將交易填到一個(gè)區(qū)塊里。這個(gè)區(qū)塊大約如下表所示:

    

人人都說(shuō)的比特幣挖礦,到底是在挖什么?

 

  注意第一條,在任何區(qū)塊里,第一條都是沒(méi)有轉(zhuǎn)出地址的,就是所謂的CoinBase(挖礦交易)。沒(méi)有任何人付給礦工這筆錢,礦工只是理所應(yīng)當(dāng)?shù)膶懮献约韩@得了12.5比特幣。所有節(jié)點(diǎn)都認(rèn)可礦工這樣寫,因此礦工就得到了挖礦收入。

  不同的礦工在填寫區(qū)塊的時(shí)候,數(shù)據(jù)一定是不一樣的,因?yàn)槊總€(gè)礦工的第一條肯定不一樣,礦工只會(huì)把挖礦收入轉(zhuǎn)入自己的地址。所以礦工Michael的CoinBase是“Michael獲得了12.5比特幣”,礦工Nancy的CoinBase是“Nancy獲得了12.5比特幣”。

  每一個(gè)礦工都把自己收集到的交易和自己該獲得的收入填好了,那么,到底誰(shuí)的記錄才會(huì)被大家認(rèn)可呢?比特幣就采用工作量證明機(jī)制,讓礦工互相間競(jìng)爭(zhēng)求解一個(gè)數(shù)學(xué)題,誰(shuí)先解出來(lái)了,誰(shuí)的區(qū)塊就會(huì)被所有人認(rèn)可。就好像開(kāi)篇的故事講的那個(gè)村子一樣,每個(gè)礦工都在努力地推那個(gè)巨石,一旦石頭把自己記錄的那一頁(yè)賬目壓住了,他就大喊一聲,“我的工作量證明成功了,你們快來(lái)看!”全體礦工就都過(guò)來(lái)把那一頁(yè)賬目抄寫一份,貼在自己賬本的最后面,然后又開(kāi)始新的記賬過(guò)程。周而復(fù)始,生生不息,賬本一頁(yè)一頁(yè)的增加,賬本越來(lái)越厚。

    

人人都說(shuō)的比特幣挖礦,到底是在挖什么?

 

  “中本聰”決定采用工作量證明機(jī)制的時(shí)候,出發(fā)點(diǎn)是避免系統(tǒng)受到攻擊?!爸斜韭敗闭J(rèn)為,如果一個(gè)攻擊者想用搞亂賬本的方式來(lái)進(jìn)行攻擊,那么他就需要足夠的計(jì)算能力。也就是說(shuō),他要比大多數(shù)推石頭的人的力量更大。這樣,他就需要付出巨大的成本,但是換回的收益并不足以抵消成本,因此攻擊者是沒(méi)有攻擊比特幣系統(tǒng)的經(jīng)濟(jì)學(xué)動(dòng)力的。

  與推石頭的方式不同的地方在于,比特幣中是大家一起通過(guò)窮舉結(jié)果的方式,來(lái)求解一個(gè)數(shù)學(xué)題,并不是算力強(qiáng)的人每次都會(huì)贏,因?yàn)橛腥丝赡芎苄疫\(yùn),一下子就搜索到了那個(gè)答案。而算力強(qiáng)的人,可能這次沒(méi)那么幸運(yùn),窮舉了很多次也沒(méi)有碰到解。但是從概率上看,求出答案的次數(shù)和自己在整個(gè)比特幣網(wǎng)絡(luò)中算力的比例是一致的,也就是說(shuō),如果一個(gè)礦工擁有了全網(wǎng)30%的算力,那么基本上在1000分鐘(產(chǎn)生了100個(gè)區(qū)塊)里,有30個(gè)區(qū)塊都是他找到的答案,他獲得了30%的挖礦收益。

  但是,現(xiàn)在由于比特幣的價(jià)格越來(lái)越高,推石頭的人已經(jīng)不滿足于自己去推了,而是把家里的大騾子大馬都派上去干活了。在“中本聰”最初的設(shè)計(jì)里,一個(gè)CPU一票,用算力來(lái)決定哪個(gè)礦工記的賬成為最終的賬目。隨著比特幣價(jià)格的增高,開(kāi)始出現(xiàn)了GPU挖礦,后來(lái)人們又不滿足于GPU的速度,開(kāi)始制造專用芯片挖礦。專用芯片在計(jì)算比特幣問(wèn)題的能力上是普通CPU的數(shù)萬(wàn)倍,因此現(xiàn)在比特幣已經(jīng)不是“一個(gè)CPU一票”了,這也背離了當(dāng)初“中本聰”的設(shè)計(jì),比特幣網(wǎng)絡(luò)已經(jīng)基本上被幾大礦池所壟斷,背離了去中心化貨幣這一初衷。



關(guān)鍵詞: 比特幣

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉