2008年,一位叫中本聰的神秘人發表了一篇論文,比特幣的概念隨之出現,當時這篇論文並沒有大範圍的引起人們的關注。第二年,比特幣第一版本代碼發布,1月4日,創世區塊被挖出來,比特幣網路正式上線。
當時比特幣的知名度不高,價值很低,所以有了“天價披薩”出現,不過時至今日,比特幣已經成為炙手可熱的加密貨幣,價值一度衝到上萬美元,自然也就有越來越多的人開始關注比特幣,以及它背後的區塊鏈技術。
區塊鏈技術並非一成不變,也是在不斷完善的,其核心算法也是如此:
Hash函式
我們經常說的POW算法本質是一個Hash函式。Hash函式是一個無比神奇的東西,說他替中本聰打下了半壁江山一點不為過,學習比特幣應該從學習Hash函式入手,理解了Hash函式再去學比特幣原理將事半功倍,不然將處處感覺混沌,難以開竅。
SHA256
SHA (Secure Hash Algorithm,譯作安全散列算法) 是美國國家安全局 (NSA) 設計,美國國家標準與技術研究院 (NIST) 發布的一系列密碼散列函式,經歷了SHA-0,SHA-1,SHA-2,SHA-3系列發展。
比特幣採用SHA256算法,該算法屬於SHA-2系列,在中本聰發明比特幣時(2008)被公認為最安全最先進的算法之一。到目前為止,沒有公開的證據表明SHA256有漏洞,SHA256依然牢牢抗住保衛比特幣安全的大旗。當然大家心裡都明白,沒有永遠安全的算法,SHA256被替代是早晚的事,中本聰自己也說明了算法升級的必要和過程。
SCRYPT
後來隨著顯示卡挖礦以及礦池的出現,社區開始擔心礦池會導致算力集中,違背中本聰“一CPU一票”的最初設計理念。有人將矛頭指向SHA256,認為是算法太容易導致礦機和礦池出現,並試圖尋找更難的算法。
與SHA256算法相比,SCRYPT占用的記憶體更多,計算時間更長,並行計算異常困難,對硬體要求很高。很顯然,SCRYPT算法具有更強的抵禦礦機性,萊特幣還將區塊時間改為2.5分鐘,在那個山寨幣還鳳毛麟角年代,萊特幣依靠這兩點創新大獲成功,長期穩坐山寨幣第一寶座位置。
串聯算法
重新排列組合是人類一貫以來最常用的創新發明方法。很快,有人不滿足於使用單一Hash函式,2013年7月,夸克幣(Quark)發布,首創使用多輪Hash算法,看似高大上,其實很簡單,就是對輸入數據運算了9次hash函式,前一輪運算結果作為後一輪運算的輸入。
當然,在區塊鏈領域,還有著更多的算法被使用,也都是令人頭疼的存在。
區塊鏈 算法