書(shū)接前文,上文書(shū)說(shuō)了POW算法中的SHA256、Scrypt、改良S系X11串聯(lián)算法、深度加密的并聯(lián)算法,今天繼續(xù)講講其他的POW算法。
接下來(lái)登場(chǎng)的是企圖讓區(qū)塊鏈的POW為現(xiàn)實(shí)世界制造貢獻(xiàn)的算法——Prime素?cái)?shù)算法。為什么會(huì)誕生這個(gè)算法,這個(gè)還要跟當(dāng)時(shí)的輿論環(huán)境結(jié)合在一起。正當(dāng)一部分人在算法探索之路上進(jìn)行的如火如荼之時(shí),另一部分人的聲音也非常刺耳,那就是指責(zé)POW浪費(fèi)能源(彼時(shí)POS機(jī)制已經(jīng)實(shí)現(xiàn))。POW黨雖極力維護(hù),但也承認(rèn)耗費(fèi)能源這一事實(shí)。這一指責(zé)打開(kāi)了另一條探索之路,即如果能找到一種算法,既能維護(hù)區(qū)塊鏈安全,這些Hash運(yùn)算又能在其他方面產(chǎn)生價(jià)值,那簡(jiǎn)直更完美。
在這條探索之路上最讓人振奮人心的成果來(lái)自于Sunny King(這大神之前已經(jīng)開(kāi)發(fā)了Peercoin,即點(diǎn)點(diǎn)幣,關(guān)于點(diǎn)點(diǎn)幣是另一個(gè)神話(huà),這個(gè)可能還要留到下一篇文章去講述)發(fā)明的素?cái)?shù)幣(Primecoin)。素?cái)?shù)幣算法的核心理念是:在做Hash運(yùn)算的同時(shí)尋找大素?cái)?shù)。素?cái)?shù)在數(shù)軸上不但稀有(相對(duì)于偶數(shù)而言),而且分布不規(guī)律,在數(shù)軸上尋找素?cái)?shù)只能盲目搜索探測(cè),這正是POW的特征。
素?cái)?shù)到底有什么用?肯定是有用的,只可惜素?cái)?shù)雖然如今已被廣泛應(yīng)用于各個(gè)領(lǐng)域,但人類(lèi)對(duì)他的認(rèn)識(shí)還是有限。而且還出現(xiàn)了個(gè)問(wèn)題,由于素?cái)?shù)在數(shù)軸上分布不均勻,且根據(jù)目前掌握的知識(shí)來(lái)看,數(shù)越大,素?cái)?shù)越稀有,尋找難度并不是線性遞增,耗時(shí)也就不可預(yù)估,但是區(qū)塊鏈要求穩(wěn)定出塊。于是這種搞法實(shí)在是不招礦工的喜歡。除了素?cái)?shù)算法,還有解析蛋白基因的算法甚至計(jì)算π值的算法之類(lèi),最后也都悄無(wú)聲息了,但探索還在繼續(xù)。
接下來(lái)就是目前人人都用到的以太坊的算法了,以太坊采用Ethash的算法,開(kāi)發(fā)團(tuán)隊(duì)一點(diǎn)也不含糊,一如既往發(fā)揚(yáng)其“簡(jiǎn)單問(wèn)題復(fù)雜化,繁瑣細(xì)節(jié)秀智商”的設(shè)計(jì)風(fēng)格。Ethash 是最新版本的 Dagger-Hashimoto改良算法,是Hashimoto算法結(jié)合Dagger算法產(chǎn)成的一個(gè)新變種。開(kāi)發(fā)團(tuán)隊(duì)最后倒騰出來(lái)的Ethash挖礦時(shí)基本與CPU性能無(wú)關(guān),卻和內(nèi)存大小和內(nèi)存帶寬成正相關(guān)。不過(guò)在實(shí)現(xiàn)上還是借鑒了SHA3的設(shè)計(jì)思路,但是使用的”SHA3_256” ,”SHA3_512”與標(biāo)準(zhǔn)實(shí)現(xiàn)很不同。
以太坊的算法也是號(hào)稱(chēng)抵抗礦機(jī),而且確實(shí)抵抗了很久,只可惜架不住人們的各種手段去,就算是顯卡都能集成在一起搞成礦機(jī),搞得整個(gè)市場(chǎng)都斷貨。但是也著實(shí)讓顯卡廠商大賺了一筆,即使再“抵抗礦機(jī)”,也沒(méi)法抵抗人們的欲望,只要利潤(rùn)夠高,活神仙都能買(mǎi)通。
接下來(lái)再聊聊零知識(shí)認(rèn)證的EQUIHASH算法,這個(gè)算法如今被部分幣種采用,但是早期剛出來(lái)的時(shí)候還曾引起過(guò)轟動(dòng),就是Zcash,這個(gè)幣種可了不得,曾經(jīng)創(chuàng)造出過(guò)單幣“天價(jià)”,一枚Zcash在沒(méi)上線的時(shí)候期貨價(jià)格最高甚至達(dá)到200萬(wàn)美元,令人嘆為觀止。Equihash算法由Alex Biryukov 和 Dmitry Khovratovich聯(lián)合發(fā)明,其理論依據(jù)是一個(gè)著名的計(jì)算法科學(xué)及密碼學(xué)問(wèn)題——廣義生日悖論問(wèn)題。Equihash是一個(gè)內(nèi)存(ARM)依賴(lài)型算法,機(jī)器算力大小主要取決于擁有多少內(nèi)存,根據(jù)兩位發(fā)明者的論文描述,該算法執(zhí)行至少需要700M內(nèi)存,1.8GHz CPU計(jì)算30秒,經(jīng)Zcash項(xiàng)目?jī)?yōu)化后,目前每個(gè)挖礦線程需要1G內(nèi)存,因此Zcash官方認(rèn)為該算法在短時(shí)間內(nèi)很難出現(xiàn)礦機(jī)(ASIC)。此外,Zcash官方還相信該算法比較公平,他們認(rèn)為很難有人或者機(jī)構(gòu)能夠?qū)λ惴ㄍ低颠M(jìn)行優(yōu)化,因?yàn)閺V義生日悖論是一個(gè)已經(jīng)被廣泛研究的問(wèn)題。此外,Equihash算法非常容易驗(yàn)證,這對(duì)于未來(lái)在受限設(shè)備上實(shí)現(xiàn)Zcash輕客戶(hù)端非常重要。
不過(guò)雖然容易認(rèn)證,但是究竟能不能徹底保證安全是個(gè)未知數(shù),就連Zcash自己的項(xiàng)目團(tuán)隊(duì)都表示,如果EQUIHASH算法出現(xiàn)問(wèn)題,將來(lái)Zcash會(huì)進(jìn)行算法更換。
剩下還有一些門(mén)類(lèi)的POW算法,暫時(shí)就先不一一贅述,如果有必要的話(huà),未來(lái)可能進(jìn)行補(bǔ)充。本篇文章對(duì)于POW的講述先進(jìn)行到這里,下一篇文章,來(lái)聊一聊敢于和POW公開(kāi)對(duì)抗的POS算法中的重磅拳擊手們,純POS算法以及改良后的DPOS算法,歡迎大家屆時(shí)觀看。