為什么要將比特幣稱之為挖礦
藉由確認(rèn)交易
當(dāng)你聽說比特幣“挖礦”(mining)的時(shí)候,你設(shè)想幣是從地里挖出。但比特幣并沒有實(shí)體,為什么我們稱之為挖礦呢?
因?yàn)樗愃朴诮鸬V開采,因?yàn)楸忍貛糯嬖谟趨f(xié)議的設(shè)計(jì)中(正如黃金存在于地下),卻尚未見光(就像黃金還沒有被挖出來一樣)。比特幣協(xié)議規(guī)定某個(gè)時(shí)間點(diǎn)將會(huì)有2100萬枚比特幣存在?!暗V工”所做的就是讓它們一個(gè)個(gè)見到天日。
礦工們因創(chuàng)建經(jīng)過驗(yàn)證的區(qū)塊,并將它們打包進(jìn)區(qū)塊鏈而獲得獎(jiǎng)勵(lì)。
節(jié)點(diǎn)
回溯一下,讓我們來談?wù)劇肮?jié)點(diǎn)”。節(jié)點(diǎn)是運(yùn)行比特幣軟件,并通過參與信息傳遞保持比特幣運(yùn)行的強(qiáng)大計(jì)算機(jī)。任何人都可以運(yùn)行一個(gè)節(jié)點(diǎn),你只需下載一個(gè)比特幣軟件(免費(fèi)的)并讓某個(gè)端口打開(缺點(diǎn)是它消耗電和存儲(chǔ)空間 ——寫入網(wǎng)絡(luò)時(shí)占用大約 145 GB 的存儲(chǔ)空間)。節(jié)點(diǎn)會(huì)在網(wǎng)絡(luò)上散播比特幣的交易信息。一個(gè)節(jié)點(diǎn)會(huì)將信息發(fā)送到它所知道的節(jié)點(diǎn),后者繼續(xù)將信息傳送至其所知道的節(jié)點(diǎn),以此類推。以此在全網(wǎng)快速完成信息的散播。
有些節(jié)點(diǎn)是挖礦節(jié)點(diǎn)(通常被稱作“礦工”)。這些節(jié)點(diǎn)將未結(jié)算交易組為區(qū)塊,并將其添加入?yún)^(qū)塊鏈中。它們是如何做到的?通過解決作為比特幣項(xiàng)目一部分的復(fù)雜數(shù)學(xué)難題,并將答案打包入?yún)^(qū)塊。而要解決的難題是要找出一個(gè)數(shù)字,這一數(shù)字與區(qū)塊中的數(shù)據(jù)結(jié)合并通過哈希函數(shù)運(yùn)算后,能夠產(chǎn)生一個(gè)落在特定范圍內(nèi)的結(jié)果。但實(shí)際過程遠(yuǎn)比本文描述得更為復(fù)雜。
對(duì)于追求細(xì)節(jié)的人而言,該數(shù)字被稱為“隨機(jī)數(shù)”(nonce),它是“不重復(fù)數(shù)字”的串聯(lián)。在比特幣來說,隨機(jī)數(shù)是落在0到4,294,967,296間的整數(shù)。
解決難題
礦工們?nèi)绾伟l(fā)現(xiàn)該數(shù)字?通過隨機(jī)猜測(cè)。哈希函數(shù)使得預(yù)測(cè)輸出值變得幾乎不可能。所以,礦工會(huì)猜測(cè)數(shù)字并將哈希函數(shù)應(yīng)用于猜測(cè)數(shù)字與數(shù)據(jù)的組合。生成的哈希值必須以預(yù)先設(shè)置的 0 的個(gè)數(shù)開始。沒有辦法知道哪個(gè)數(shù)是正確的,因?yàn)閮蓚€(gè)連續(xù)整數(shù)能給出的多種結(jié)果。此外,可能有幾個(gè)隨機(jī)數(shù)能生成期望的結(jié)果(desired result),也可能一個(gè)也沒有(在這種情況下,礦工會(huì)繼續(xù)嘗試,但使用不同的區(qū)塊配置)。
第一個(gè)得出期望范圍(the desired range)內(nèi)哈希值的礦工會(huì)向全網(wǎng)宣布其勝利。而后所有其他礦工立刻停止對(duì)該區(qū)塊的計(jì)算,并開始計(jì)算下一個(gè)區(qū)塊的哈希值。作為對(duì)相應(yīng)工作的獎(jiǎng)勵(lì),成功算出正確哈希值的礦工將獲得一些新的比特幣。
經(jīng)濟(jì)學(xué)
在寫作本文時(shí),單個(gè)區(qū)塊的獎(jiǎng)勵(lì)是 12.5 個(gè)比特幣,這些比特幣在寫作本文時(shí)的價(jià)值幾乎達(dá)到 200,000 美元。
盡管聽起來這并非一筆輕松的交易。有許多的挖礦節(jié)點(diǎn)都在為區(qū)塊獎(jiǎng)勵(lì)而爭(zhēng)搶,能否勝出視運(yùn)氣與計(jì)算力(后者越多,能夠得出正確哈希值的概率越大,你也就越幸運(yùn))而定。
還有,成為挖礦節(jié)點(diǎn)的成本是十分可觀的,不僅因?yàn)槟阈枰獜?qiáng)有力的硬件(如果你有比競(jìng)爭(zhēng)者更快速的處理器,你有更大的機(jī)會(huì)趕在他們之前獲得正確的數(shù)字),還因?yàn)檫\(yùn)行處理器所要消耗的龐大電力。
此外,作為解決難題的獎(jiǎng)勵(lì)而授予的比特幣的數(shù)量將減少?,F(xiàn)在它是 12.5 枚,但每四年左右它會(huì)減半一次(下一次減半預(yù)計(jì)會(huì)發(fā)生在 2020 - 2021 年左右)。比特幣的價(jià)值,相對(duì)于電力和硬件成本可能會(huì)在未來幾年內(nèi)上升,以部分彌補(bǔ)數(shù)量減少的問題,但目前尚不確定。
難度
計(jì)算難度(哈希字符串開頭所需的 0 的個(gè)數(shù))經(jīng)常調(diào)整,所以通常平均花費(fèi) 10 分鐘來處理一個(gè)區(qū)塊。
為什么是 10 分鐘?這是比特幣開發(fā)者認(rèn)為,要穩(wěn)定逐漸減少新比特幣數(shù)量,直到最大總量達(dá)到 2100 萬枚(預(yù)計(jì)在 2140 年的某個(gè)時(shí)間)所必需的時(shí)間。
如果截至目前你比較明白我們的講解,那要恭喜你!關(guān)于這個(gè)系統(tǒng)仍然有很多東西要去解釋,但至少現(xiàn)在你對(duì)這個(gè)天才的程序與概念有一個(gè)大體的認(rèn)知。我們第一次擁有了這樣的一個(gè)系統(tǒng),它允許以去中心化、免信任、防篡改的方式進(jìn)行電子化轉(zhuǎn)賬。它的反響可能是巨大的。