搶不到顯卡的礦工們,已經(jīng)開(kāi)始用GAMEBOY挖礦了
在過(guò)去的一年里,數(shù)字加密貨幣成為了不少網(wǎng)民熱議的話題,畢竟像比特幣這樣6個(gè)月漲幅320%讓許多人都實(shí)現(xiàn)財(cái)務(wù)自由的貨幣,并不常見(jiàn)。
前兩個(gè)月,比特幣的單價(jià)從5.5萬(wàn)美元快速跌落到4.5萬(wàn),又在短時(shí)間升值到6.1萬(wàn)迎來(lái)歷史巔峰,讓不少朋友都經(jīng)歷了一場(chǎng)人生中最重要的“大起大落再大起”。

這也讓不少人動(dòng)起了進(jìn)場(chǎng)淘金的小心思,stacksmashing是一名YouTuber,他顯然也想成為這個(gè)世代的弄潮兒之一。
他很快發(fā)現(xiàn)了一個(gè)嚴(yán)重的問(wèn)題,追逐這場(chǎng)淘金熱的人不只有他一個(gè),顯卡的需求隨著挖礦需求提升,個(gè)人礦場(chǎng)的盛行,現(xiàn)在已經(jīng)是全球缺貨的狀態(tài)了。
買(mǎi)不到顯卡的他,只能將目光投向了一臺(tái)30年前發(fā)售,風(fēng)行了十幾年,在每個(gè)玩家的情懷中大抵都會(huì)占據(jù)一席之地的掌機(jī)—GAMEBOY。

挖礦的原理并不復(fù)雜,拿熱度最高的比特幣來(lái)舉例,礦工們使用計(jì)算機(jī)依照算法進(jìn)行大量的運(yùn)算來(lái)“開(kāi)采”比特幣,只要搶先于其他礦工找到比特幣網(wǎng)絡(luò)所承認(rèn)的64位數(shù)字,就可以獲得一個(gè)區(qū)塊鏈的比特幣(現(xiàn)在是12.5個(gè))。
運(yùn)算的需要解開(kāi)的SHA-256哈希函數(shù)并不復(fù)雜,只要能無(wú)限窮舉,像GAMEBOY這樣的老機(jī)子也不是不可能采到比特幣。
不過(guò)作為一臺(tái)系統(tǒng)封閉的掌機(jī),想要讓GAMEBOY成為礦機(jī)也有不少需要解決的難題。GAMEBOY只支持運(yùn)行專(zhuān)門(mén)的系統(tǒng)和對(duì)應(yīng)系統(tǒng)的游戲卡帶,沒(méi)有辦法直接連接電腦接受挖礦指令,沒(méi)有wifi功能,也沒(méi)有辦法聯(lián)網(wǎng)。

動(dòng)手能力極強(qiáng)的stacksmashing還是一一解決了難題。
為了能讓GAMEBOY接受電腦下達(dá)的指令,他使用了一塊基于Linux的單片機(jī)電腦—Raspberry Pi Pico,作為下達(dá)指令的端口。
GAMEBOY的側(cè)面也有一個(gè)用來(lái)“插線聯(lián)機(jī)”的接口,這個(gè)端口的設(shè)計(jì)初衷是可以用一根專(zhuān)門(mén)的數(shù)據(jù)線,讓2-4臺(tái)GB進(jìn)行面對(duì)面通信,因此也能用來(lái)讓GAMEBOY連接比特幣的區(qū)塊接受指令并上傳自己算完的結(jié)果。
使用了開(kāi)源程序包GBDK,這位老哥很快也用C語(yǔ)言敲好了代碼,完成了一個(gè)新的程序,將它放到GAMEBOY里,這臺(tái)并不智能的老式游戲機(jī)就會(huì)將挖礦程序當(dāng)成一款自己可以運(yùn)行的游戲,并吭哧吭哧地開(kāi)始工作。

能和比特幣區(qū)塊鏈接,可以計(jì)算并上傳哈希值,一臺(tái)簡(jiǎn)易礦機(jī)就這么打造完成了,在開(kāi)機(jī)測(cè)試后,GAMEBOY也正常運(yùn)行起了挖礦程序。

相比起只需要4節(jié)5號(hào)電池的能耗,GAMEBOY挖礦能提供的算力也相當(dāng)...驚人,它配備了?一個(gè)8位的Sharp LR35902處理器,主頻僅為 4.18MHz,換算成算力,每秒大約能提供0.8哈希值!
如果拿它與最新的ASIC芯片礦機(jī)相比,你會(huì)發(fā)現(xiàn)它們之間的速度相差不多,只差了大概?125 兆倍吧。
每10分鐘里第一個(gè)計(jì)算出結(jié)果的節(jié)點(diǎn)才能獲得獎(jiǎng)勵(lì),比特幣的游戲規(guī)則也基本讓用GAMEBOY挖礦只有一個(gè)存在于理論上的可能性,更別說(shuō)比特幣被越挖越少,入場(chǎng)挖礦的礦工越來(lái)越多,挖礦難度會(huì)進(jìn)一步變高,用GAMEBOY想挖到一個(gè)幣的期望也就小幾百萬(wàn)年吧。

那么閱讀理解題來(lái)了,這個(gè)老哥用一臺(tái)二手市場(chǎng)上隨隨便便就能拍賣(mài)到100刀以上的GAMEBOY,卻做出了一臺(tái)根本沒(méi)辦法挖礦收回成本的礦機(jī),他想表達(dá)什么?
先別急著回答,這可不是礦工們第一次“發(fā)瘋”了。
3年前就有動(dòng)手能力很強(qiáng)的老哥將一臺(tái)NES改造成礦機(jī)并成功運(yùn)行的先例了。

不過(guò)這還不是最瘋狂的。
再往前一點(diǎn),5年前挖礦還沒(méi)現(xiàn)在這么難(那會(huì)兒解開(kāi)一個(gè)區(qū)塊鏈可以得到25個(gè)比特幣,是現(xiàn)在的2倍),有個(gè)叫Ken Shirriff的老哥就選擇了一臺(tái)放在美國(guó)加州山景城計(jì)算機(jī)博物館中的究極老爺機(jī),1959年發(fā)售的IBM1401大型機(jī)作為自己的“礦機(jī)”。

想要接觸到這臺(tái)老爺機(jī)的機(jī)會(huì)并不算多,每周三和周六,計(jì)算機(jī)博物館里的工作人員都會(huì)進(jìn)行這臺(tái)老古董的運(yùn)行演示,而一般民眾也能進(jìn)行預(yù)約體驗(yàn),讓它運(yùn)行自己制作的程序...卡。
是的,因?yàn)檫@是一臺(tái)61年前的老計(jì)算機(jī),IBM1401的工作原理相當(dāng)復(fù)古,運(yùn)行的程序并不是現(xiàn)在我們認(rèn)知中的數(shù)據(jù)包,而是需要在打孔卡上用IBM1401專(zhuān)用的匯編表編寫(xiě)程式,再放入IBM1401進(jìn)行計(jì)算,最后在另一張打孔卡上打印得出的結(jié)果。

想要讓這臺(tái)老爺機(jī)挖礦,也有不少技術(shù)難題,SHA-256的哈希算法在32位及以上的系統(tǒng)中才能運(yùn)行,而IBM1401使用的是6位字符,而且這臺(tái)計(jì)算機(jī)甚至無(wú)法處理2進(jìn)制的算數(shù)而是10進(jìn)制的。
相比之下,它沒(méi)有子例程調(diào)用和返回,也沒(méi)有任何通用儲(chǔ)存器,因此所有操作都需要在內(nèi)存上運(yùn)行倒也不是大問(wèn)題了,畢竟是老選手了,能完整運(yùn)行并算完一條哈希函數(shù)就算成功了。

因此Ken Shirriff進(jìn)行了相當(dāng)復(fù)雜的匯編工作,光是一條哈希函數(shù)就需要85張打孔卡來(lái)記錄。
講這些打孔卡放入讀卡器后,讀取程序就需要好幾秒鐘(IBM1401的讀卡速度是800張/分鐘),在經(jīng)過(guò)長(zhǎng)達(dá)80秒的計(jì)算后,IBM1401終于得出了結(jié)果。
所以它的算力是0.0125哈希值/秒,而IBM1401也差不多是這個(gè)世界上用來(lái)計(jì)算挖礦需要的SHA-256算法最最“入門(mén)”的硬件門(mén)檻了。
這個(gè)入門(mén)指的是計(jì)算功能上的,在實(shí)用性上,IBM1401可以說(shuō)是一文不值,比前面的GAMEBOY還差,一臺(tái)IBM1401在當(dāng)時(shí)的售價(jià)是125600美元,算上通脹和匯率,大概等于現(xiàn)在的110萬(wàn)美元,跟別提這臺(tái)巨獸的功率還高達(dá)3000瓦。

而利用IBM1401來(lái)挖礦最大的問(wèn)題是,就計(jì)算機(jī)算出了哈希值,只不過(guò)這臺(tái)老式計(jì)算機(jī)本身不具備聯(lián)網(wǎng)功能,所以也沒(méi)辦法上傳結(jié)果。
在上世紀(jì)60年代,IBM 1401可以連接到 IBM 1009數(shù)據(jù)傳輸單元,該調(diào)制解調(diào)器大小與洗碗機(jī)一樣大,最多可以每秒通過(guò)電話線將300個(gè)字符傳輸?shù)搅硪慌_(tái)計(jì)算機(jī),但就連山景城的計(jì)算機(jī)博物館也沒(méi)有這個(gè)數(shù)據(jù)傳輸單元。
所以用IBM1401挖礦的任務(wù)也就此宣告失敗了,Ken Shirriff只是展示了一種可能性而已。

讓我們知道了從理論上來(lái)講,想用IBM 1401解開(kāi)一個(gè)區(qū)塊鏈,它將花費(fèi)大約5*10^14年(大約是當(dāng)前宇宙年齡的40000倍)。電費(fèi)大概是10^18美元,如果成功了,按現(xiàn)在的行情來(lái)講,你就能獲得12.5個(gè)價(jià)值約60000美元的比特幣。
至少他們比上一個(gè)生成給他一支筆和一張草稿紙,他想要把整個(gè)比特幣池挖空的老哥正常多了,是吧?

畢竟像他說(shuō)的那樣,挖礦也不過(guò)就是解函數(shù)做數(shù)學(xué)題(需要無(wú)限窮舉的那種)而已,油管上也確實(shí)有人教學(xué)如何手算挖礦的。
只不過(guò),傳授這個(gè)方法的人也表示,光靠人腦和手的力量,每天,注意是每天的算力大概只有0.67哈希值,連前面提到的30年前的GAMEBOY和61年前的IBM1401都能輕松秒殺手算。

講道理,要是首富埃隆馬斯克不強(qiáng)推加密貨幣,區(qū)塊鏈也不會(huì)像現(xiàn)在這么突然爆火,大家就都能搶到自己心儀的顯卡高高興興地去打游戲,也自然沒(méi)有人搞這種行為藝術(shù)了。所以你今天能看到這篇文章,其實(shí)都tm賴(lài)馬斯克。