數字加密貨幣是怎麼產生的?
現在需要硬體挖礦的加密貨幣均採用POW共識機制,挖礦前,我們一定得先選擇數字貨幣種類。需挖礦的數字貨幣因其採用不同的POW加密演算法,所以其挖礦演算法也不同,相對應對礦機有不同要求。
POW加密制度本質是一個Hash函數。Hash (哈希或散列)演算法是信息技術領域非常基礎也非常重要的技術。它能任意長度的二進位值(明文)映射為較短的固定長度的二進位值(hash 值),並且不同的明文很難映射為相同的 hash 值。
這裡介紹主流加密貨幣所採用的幾類演算法。
比特幣——SHA256演算法
眾所周知的比特幣所採用的的就是SHA256演算法。礦工處理交易數據同時進行Hash計算,得出前23位為0的有效Hash值。將自己打包的區塊公布,得到多方確認,從而該區塊宣布已產生並接到了區塊鏈上,其他礦工繼續進行下一個區塊的打包和哈希計算。
挖礦的過程就是不停進行哈希計算的過程。比特幣通過算力的比拼犧牲了一部分最終一致性(因為會有分叉的產生,如BTC分叉BTH)並且需要等待多個確認,但是這種簡單暴力的方法卻保證了整個區塊鏈系統的合法性,而且把區塊鏈系統的健壯性提升到極致,就算全網只剩下一個節點運行,這個區塊鏈系統還是會繼續運行下去,最後POW也充分提高了區塊鏈系統的安全性。
發展至今,介於比特幣的哈希計算只進行SHA256演算法,從而誕生大批的ASIC礦機,晶元誕生之初被設計為專門進行SHA256哈希計算。個人不可能再依靠CPU的計算能力從而能挖到礦。
以太坊——ethash演算法(Dagger-Hashimoto演算法的改良版本)
Ethash是目前以太坊基於POW工作量證明的一個共識引擎(也叫挖礦演算法)。它的前身是Dagger Hashimoto演算法。
該演算法所採用的一般流程如下所示:
1. 存在一個種子, 可以通過塊高度直到該點來計算每個塊。
2. 從種子, 你可以計算一個 16 MB 的偽隨機緩存, 用於輕客戶端存儲緩存。
3. 從緩存中, 我們可以生成一個 1 GB 的數據集, 該屬性表示數據集中的每個項只依賴於緩存中的少量項。完整的客戶和礦工存儲這個數據集。數據集會隨時間線性增長。
挖礦涉及抓取數據集的隨機切片並將它們一起哈希。可以通過使用緩存來重新生成所需的數據集的特定部分, 從而低內存的機器可以進行驗證, 因為只需存儲緩存即可驗證。
完整的大數據集每隔30000塊更新一次, 因此大多數礦工的工作將是讀取數據集, 而不是對其進行更改。
該演算法被設計用於在一個只有慢CPU的環境中來散列快速驗證時間,但在被提供大量高帶寬內存時,為挖礦提供大量的加速。大量內存需求意味著大規模礦工獲得相對少的超線性利益。高帶寬需求意味著從堆在很多超速處理單元、分享同樣內存的加速在每個單獨的單元給出很少的利益(通過阻止專用晶元共享內存的方式,降低礦機的作用),故現在以太坊挖礦均採用顯卡礦機。
萊特幣——Scrypt哈希演算法
Scrypt是一種KDF演算法,KDF是密鑰導出功能的意思,主要適用於生成密鑰,目的是為了避免黑客低成本地大量產生密鑰去試探密碼,而Scrypt的這個效果正好被用在萊特幣nonce碰撞中,避免了礦廠礦池低成本挖礦。
Scrypt演算法運行中會佔用大量內存,而內存的硬體層本較高,使得礦廠礦池不可能低成本大量挖礦。
串聯演算法
重新排列組合是人類一貫以來最常用的創新發明方法。串聯演算法採用多輪Hash演算法,看似高大上,其實很簡單,就是對輸入數據運算了9次hash函數,前一輪運算結果作為後一輪運算的輸入。這9輪Hash共使用6種加密演算法,分別為BLAKE,BMW,GROESTL, JH, KECCAK和SKEIN,這些都是公認的安全Hash演算法,並且早已存在現成的實現代碼。
系列演算法實際是一種串聯思路,只要其中一種演算法被破解,整個演算法就被破解了,好比一根鏈條,環環相扣,只要其中一環斷裂,整個鏈條就一分為二。
並聯演算法
有串聯,就有並聯,Heavycoin(HVC)率先做了嘗試。
HVC演算法細節:
a. 對輸入數據首先運行一次HEFTY1(一種Hash演算法)運算,得到結果d1
b. 以d1為輸入,依次進行SHA256、KECCAK512、GROESTL512、BLAKE512運算,分別獲得輸出d2,d3,d4和d5
c. 分別提取d2-d5前64位,混淆後形成最終的256位Hash結果,作為區塊ID。
之所以首先進行一輪HEFTY1 哈希,是因為HEFTY1 運算起來極其困難,其抵禦礦機性能遠超於SCRYPT。
HVC從以上每種演算法提取64位,經過融合成為最後的結果,實際上是將四種演算法並聯在一起,其中一種演算法被破解只會危及其中64位,四中演算法同時被破解才會危及貨幣系統的安全性。
這四種演算法只包含了一些主流加密貨幣的加密演算法,現在有成千上百種加密貨幣,其採用的加密演算法也不盡相同。對於幣種的價值幾何,需要自己仔細研究,再參與到其幣種的挖礦工作中。
對於挖礦還有任何疑問歡迎諮詢不二~
關注我們,和不二一起探索挖礦的世界吧。
版權聲明:轉載請註明來源—公眾號全民節點
TAG:全民節點 |