數字貨幣的挖礦經歷了從CPU,到GPU,到FPGA,到ASIC的過程,算力也在經歷著越來越集中的趨勢。
數字貨幣為什么要挖礦
挖礦的本質就是“沒有中央集權背景下的印鈔和分發(fā)貨幣”。挖礦是一種公平的派發(fā)貨幣的過程。
礦工是為了區(qū)塊獎勵去挖礦的,現在幾乎所有的POW幣,除去區(qū)塊鏈獎勵之外的挖礦所得都可以忽略不計,除了BTC有占比不到10%的交易手續(xù)費外。
比特幣和絕大多數數字貨幣也是持續(xù)通脹的,比特幣總量是2100W個,但要到2140年才會全部挖出來,現在平均每天產生1800個幣。所有這些新產出的幣歸誰所有?答案是歸礦工所有,誰挖到了區(qū)塊,就歸誰所有。而挖礦是一個礦工之間競爭的游戲,這個游戲沒有行政門檻,只要你愿意消耗資源和金錢,就可以加入進來,所以說這是去中心化的貨幣分發(fā)過程。
挖礦還有另外兩個主要功能,其一是打包交易,這是幫數字貨幣用戶記賬和驗賬的過程;其二是部署協(xié)議升級,當數字貨幣系統(tǒng)要升級時,礦工需要將自己的節(jié)點軟件按照新協(xié)議進行升級,如果礦工不升級整個數字貨幣系統(tǒng)就無法勝利升級。
礦工,其實礦池更為準確,是有自主意識的,挖礦的第三個功能使得礦工本身會對數字貨幣系統(tǒng)的協(xié)議進化方向有主觀意念的選擇。
ASIC天使的一面:低成本卻有高算力ASIC(Application Specific Integrated Circuit)芯片專業(yè)礦機是指使用專門訂制的硬件芯片來做的礦機,在制造業(yè)里是非常常見的,專門為實現特定的功能來設計一個芯片。
數字貨幣挖礦中的ASIC芯片礦機主要是為了獲得和顯卡礦機、CPU礦機的競爭性優(yōu)勢。顯卡和CPU都是通用型芯片,而ASIC芯片是專用型的。相同價格下ASIC礦機的性能往往是顯卡和CPU礦機的幾百倍到幾千倍,這種優(yōu)勢是數量級的。
在形成相同算力的網絡里,使用ASIC礦機顯然要更低成本、更環(huán)保,比顯卡礦機低到了不可想象的地步。但ASIC挖礦往往帶來的是整個網絡算力指數級別增長,支撐網絡所消耗的能源和制造業(yè)成本也會比顯卡礦機更多。
ASIC惡魔的另一面:善變的中心化壟斷組織算力趨于集中化
隨著越來越多專業(yè)設備的投入,挖礦難度越來越高,挖礦越來越難以回本,挖礦將更趨于中心化,擁有巨額算力的礦業(yè)壟斷組織絕對不會甘心接入三方礦池被他人賺走挖礦手續(xù)費,未來這些巨頭將會建立自己的礦池,未來,礦池也將趨于中心化。
最終導致的結果就是算力也在經歷著越來越集中的趨勢,普通用戶基本沒有機會得到區(qū)塊生成激勵,使得區(qū)塊鏈原本設想的去中心化,一步一步集中到有實力的中心化的礦池手上而不再是真正意義上的去中心化。
抵抗ASIC的血淚史
設計能抵抗ASIC的挖礦算法大致有幾種基本策略。最流行的是內存依賴法。它避開ASIC高計算速度的鋒芒,把戰(zhàn)場轉移到了內存。內存的性能差異遠比計算單元的差異小,技術的升級速度也相對緩慢。所以一旦內存變成瓶頸,ASIC就算有勁也使不上,只能干等I/O。
比特幣選用的SHA-256算法只需要32字節(jié)的狀態(tài)空間,可以輕松塞入寄存器里,在ASIC面前毫無抵抗力。而Ethereum基于Dagger-Hashimoto的Ethash、Zcash基于泛化生日問題的Equihash、ternity基于二分圖環(huán)路檢測的Cuckoo Cycle等新算法都很耗費內存,至今沒有出現ASIC礦機。當然這并不代表它們無懈可擊,能至死抵御ASIC。想當初Litecoin的設計者以為用上Scrypt就高枕無憂了,結果參數設定得不夠保守,終究還是被ASIC攻破。
真正去中心化的挖礦算法在哪里回到挖礦本身,挖礦是一個極富場景感的詞,當我們聽到挖礦的時候,想象中就會浮現一群人淘金的樣子。我們講“搬磚”,就是自己在寫字樓,付出自己的勞動,獲得相應的獎勵,這和挖礦一樣的。搬磚是一個價值生產的過程,挖礦也是一樣。
適合區(qū)塊鏈技術長久發(fā)展的挖礦算法應當是一個民主公平的行為,能夠實現讓更多普通人參與到挖礦中,防止挖礦的中心化,保證挖礦節(jié)點足夠分散,讓所有人都可以加入到守護數字貨幣中來。
那么問題來了,真正去中心化的挖礦算法究竟在哪里?