幣圈里面,幣種何止成千上萬(wàn)?而這些幣種背后,又是多種算法的支持。
對(duì)于2017年入場(chǎng)的新人而言,token的含義可能只是以太坊的erc20標(biāo)準(zhǔn)的代幣。
其實(shí),erc20代幣只是以太坊區(qū)塊鏈所產(chǎn)生的股權(quán)代幣,而在以太坊之前,在2012~2013年之間,還有許多形形色色的區(qū)塊鏈,當(dāng)然那時(shí)還不叫區(qū)塊鏈,而是單純的稱之為“幣”。有些幣經(jīng)過(guò)了歷史的沉淀,一直到今天都頗具價(jià)值,而這些幣種的算法,也是值得琢磨琢磨,今天就來(lái)隨便聊聊。
首先一步來(lái)劃分陣營(yíng),老幣也要分成兩撥,一波是POW派(proof of power),一派是POS(proof of stake)。
下面主要先進(jìn)行部分POW陣營(yíng)的部分算法介紹。
首先登場(chǎng)的是SHA256算法的幣種,SHA256算法其實(shí)不用多說(shuō),因?yàn)楸忍貛啪褪鞘褂肧HA256的算法該算法屬于SHA-2系列,在中本聰發(fā)明比特幣時(shí)(2008)被公認(rèn)為最安全最先進(jìn)的算法之一。除了生成地址中有一個(gè)環(huán)節(jié)使用了REPID-160算法,比特幣系統(tǒng)中但凡有需要做Hash運(yùn)算的地方都是用SHA256。隨著比特幣被更多人了解,大家開(kāi)始好奇中本聰為何選擇了SHA256,同時(shí)對(duì)SHA256的安全性發(fā)表各種意見(jiàn),然而SHA256妥妥經(jīng)受了質(zhì)疑,到目前為止,沒(méi)有公開(kāi)的證據(jù)表明SHA256有漏洞,SHA256依然牢牢抗住保衛(wèi)比特幣安全的大旗。
除比特幣以外的使用SHA256算法的幣種,面臨著一個(gè)問(wèn)題,那就是51%攻擊。所以當(dāng)年很多搞這個(gè)算法的老幣種,基本上都沒(méi)落什么好下場(chǎng)……不過(guò)此一時(shí)彼一時(shí),像BCH這種硬分叉幣,因?yàn)橛写蟮V工支持,敢于和BTC公開(kāi)叫板,當(dāng)BCH價(jià)格高的時(shí)候甚至還公然和BTC搶礦工。但是如果沒(méi)有BCH那樣大的勢(shì)力,開(kāi)發(fā)幣種時(shí)SHA256算法并不是個(gè)好選擇。
其次登場(chǎng)的是登場(chǎng)的是Scrypt算法的幣種,這種算法下面的幣種還真多,當(dāng)年足足冒出來(lái)一千多種,老大當(dāng)然是萊特幣,剩下還有為人所熟知的狗狗幣,當(dāng)年還爆發(fā)過(guò)著名的萊狗大戰(zhàn)爭(zhēng)奪算力(不過(guò)狗狗幣好像最近要修改算法和以太坊聯(lián)合?有待進(jìn)一步考證)。與SHA256算法相比,SCRYPT占用的內(nèi)存更多,計(jì)算時(shí)間更長(zhǎng),并行計(jì)算異常困難,對(duì)硬件要求很高。很顯然,SCRYPT算法在初期具有更強(qiáng)的抵御礦機(jī)的特性,萊特幣和狗狗幣還有一些Scrypt的幣種也在那個(gè)年代獲得成功。
但是很快,針對(duì)Scrypt的礦機(jī)也被研發(fā)出來(lái),算力開(kāi)始飆升,那些幣種是越來(lái)越難挖了,而且還出現(xiàn)了機(jī)槍池(哪個(gè)幣的收益高就挖哪個(gè),像機(jī)槍掃射一樣隨時(shí)切換),導(dǎo)致Scrypt的幣種成片成片死亡,最終活到今天的幣種,都是久經(jīng)考驗(yàn)。就連萊特幣都曾經(jīng)跌到過(guò)5塊錢人民幣,可想而知當(dāng)年的競(jìng)爭(zhēng)究竟有多殘忍。
然而接下來(lái)的有人專門針對(duì)Scrypt做了算法改進(jìn),為了增加抵抗礦機(jī)的難度,技術(shù)人員不滿足于使用單一Hash函數(shù),2013年7月,夸克幣(Quark)發(fā)布,首創(chuàng)使用多輪Hash算法,看似高大上,其實(shí)很簡(jiǎn)單,就是對(duì)輸入數(shù)據(jù)運(yùn)算了9次hash函數(shù),前一輪運(yùn)算結(jié)果作為后一輪運(yùn)算的輸入。這9輪Hash共使用6種加密算法,分別為BLAKE, BMW, GROESTL, JH, KECCAK和SKEIN,這些都是公認(rèn)的安全Hash算法,并且早已存在現(xiàn)成的實(shí)現(xiàn)代碼。
這種多輪Hash一出現(xiàn)就給人造成直觀上很安全很強(qiáng)大的感覺(jué),追捧者無(wú)數(shù)。現(xiàn)今價(jià)格依然堅(jiān)挺的達(dá)世幣(DASH,前身是暗黑幣,Darkcoin,)接過(guò)下一棒,率先使用11種加密算法(BLAKE, BMW, GROESTL, JH, KECCAK, SKEIN, LUFFA, CUBEHASH, SHAVITE, SIMD, ECHO),美其名曰X11,緊接著X13,X15這一系列就有人開(kāi)發(fā)出來(lái)了。
S系列算法實(shí)際是一種串聯(lián)思路,只要其中一種算法被破解,整個(gè)算法就被破解了,好比一根鏈條,環(huán)環(huán)相扣,只要其中一環(huán)斷裂,整個(gè)鏈條就一分為二。雖然號(hào)稱可以抵抗礦機(jī),但是仍然架不住硬件工程師堅(jiān)持不懈的攻關(guān),針對(duì)X11算法的礦機(jī)也被搞出來(lái)。
有了串聯(lián)算法,自然就有并聯(lián)算法。并聯(lián)算法是怎么一回事呢?并聯(lián)算法完全不同于S系列算法,算是一種徹底的創(chuàng)新,在開(kāi)始運(yùn)算時(shí),先對(duì)輸入數(shù)據(jù)首先運(yùn)行一次HEFTY1(一種Hash算法)運(yùn)算,得到結(jié)果d1,以d1為輸入,依次進(jìn)行SHA256、KECCAK512、GROESTL512、BLAKE512運(yùn)算,分別獲得輸出d2,d3,d4和d5,再分別提取d2-d5前64位,混淆后形成最終的256位Hash結(jié)果,作為區(qū)塊ID。
這樣綜合而成的算法,實(shí)際上是從以上每種算法提取64位,經(jīng)過(guò)融合,實(shí)際上是將四種算法并聯(lián)在一起,其中一種算法被破解只會(huì)危及其中64位,四中算法同時(shí)被破解才會(huì)危及貨幣系統(tǒng)的安全性。
這種算法當(dāng)然是非常之安全,然而因?yàn)檫@種算法太過(guò)復(fù)雜,實(shí)際上沒(méi)有多少幣種使用。
鑒于篇幅限制,今天先寫到這里,下一篇算法溯源,將會(huì)聊到“有實(shí)際應(yīng)用”的POW算法是什么,以及以太坊的ETHASH算法,還有就是零知識(shí)認(rèn)證的EQUIHASH算法。