即利用硬盤上的空閑空間來挖礦免費代幣的能力。雖然大多數(shù)代幣在塊生成中使用工作量證明或權(quán)益證明,但目前有一種代幣使用容量證明。
哈希函數(shù)
工作量證明和容量證明都需要使用哈希函數(shù)。哈希函數(shù)是單向函數(shù),這意味著輸入信息并計算哈希值很容易,但獲取哈希值并確定原始信息卻極其困難。通常,輸入可以是任何信息,輸出是字母數(shù)字字符串、數(shù)字和字母的列表。
例如,將單詞“dog”放入比特幣使用的SHA-256哈希函數(shù)中,輸出為:
cd6357efdd966de8c0cb2f876cc89ec74ce35f0968e11743987084bd42fb8944
但是如果你只添加一個字母,然后輸入單詞“doge”,哈希就變成:
c4e793c81ee40370d827d0cbe748d246cffca2cbe959383edf0976d041ece9e5
這些輸出計算起來很簡單,但是您幾乎不可能接收到這些哈希值并確定是原始輸入。
工作量證明
工作量證明最類似于容量證明,但需要昂貴和專門的設(shè)備。當您完成挖礦工作代幣的證據(jù)時,您將很難為挖礦硬件找到任何其他應(yīng)用程序。工作量證明也非常消耗能源和磨損機器,導(dǎo)致他們定期需要維修或更換。
下面是工作量證明的簡要摘要。
· 礦商收集交易并將其放入一個塊中。
· 塊中的所有數(shù)據(jù)(包括來自前一個塊的散列)都通過一個哈希函數(shù)生成一個新的哈希值。
· 礦工以最快的速度快速更改塊頭中的數(shù)字,以便嘗試找到正確的哈希值。
· 第一個找到正確哈希值的挖礦器將該塊廣播給網(wǎng)絡(luò)的其他部分,其他挖礦器在處理下一個塊之前驗證事務(wù)。
容量證明——簡介
容量證明涉及到繪制您的硬盤驅(qū)動器—甚至在挖礦開始之前就在計算機上計算和存儲解決方案的行為,而不是不斷地更改塊頭中的數(shù)字和解決方案的哈希值。有些解決方案比其他的更快。如果你的硬盤恰好有最快的解決方案,最近的塊的難題,你就贏得了塊。
挖礦算法太復(fù)雜,無法實時計算,而且塊時間太短(平均每4分鐘一個塊),因此必須提前在硬盤上保存解決方案。最終,你的硬盤上有越多的解決方案,也就是所謂的節(jié)點,你就越有可能為最近的謎題找到最好的解決方案。
容量證明——一個類比
假設(shè)您“將彩票填滿硬盤驅(qū)動器,生成一個隨機數(shù),然后檢查匹配數(shù)字最多的人?!叭绻阌凶钇ヅ涞奶柎a,你就會贏得獎勵。”最棒的部分是“你可以一個塊接著一個塊地使用這些彩票。
容量證明-技術(shù)說明
容量證明包括兩部分。有硬盤驅(qū)動器的繪圖和塊的實際挖礦。根據(jù)硬盤驅(qū)動器的大小,制作獨特的繪圖文件可能需要幾天甚至幾周的時間。繪圖使用稱為Shabal的非常慢的哈希值。這與本文前面使用的SHA-256哈希值不同,后者是比特幣礦商快速使用的哈希值。由于Shabal哈希值很難計算,所以我們必須預(yù)先計算它們并將它們存儲在硬盤上。這個過程稱為繪制硬盤驅(qū)動器。
策劃
繪圖時,也稱為創(chuàng)建繪圖文件,您將創(chuàng)建稱為nonces的東西。Nonces是通過重復(fù)哈希值數(shù)據(jù)創(chuàng)建的,包括您的帳戶ID。分配給繪圖的硬盤空間越多,您可以存儲的Nonces就越多。一個nonce將包含8192個哈希值。這8192個哈希值是成對組織的,稱為scoops。每個鏟子都有一個從0到4095的編號。
在挖礦期間,計算0到4095之間的鏟斗數(shù)。假設(shè)你的計算結(jié)果是42。然后你會去舀42勺nonce 1然后用舀的數(shù)據(jù)來計算一段時間,這叫做截止時間。對硬盤上的所有nonces重復(fù)此過程。在計算完所有的截止日期后,你會選擇最小的截止日期。截止日期表示“在允許您偽造一個塊之前,自最后一個塊被偽造以來必須經(jīng)過的秒數(shù)”。如果在這段時間內(nèi)沒有其他人鍛造了一個塊,你可以鍛造一個塊并獲得一個塊獎勵。
例如,在挖礦時,您提出了25秒的最后期限。如果沒有人能在接下來的25秒內(nèi)鑄造一個塊,你將有機會鑄造這個塊并獲得獎勵。
優(yōu)點和缺點
現(xiàn)在你基本了解了容量證明。下面來看看使用硬盤驅(qū)動器進行挖礦的一些優(yōu)點和缺點。
優(yōu)勢
· 你可以使用任何普通硬盤,這樣其他礦商就不會從購買專門設(shè)備中獲得優(yōu)勢,比如用ASIC挖礦比特幣。
· 使用硬盤驅(qū)動器的能源效率是基于ASIC的采礦的30倍。
· 容量證明更加分散,因為每個人都有一個硬盤驅(qū)動器。你甚至可以從你的Android手機的硬盤上進行挖礦。
· 礦商不需要不斷升級設(shè)備。舊硬盤可以像新硬盤一樣存儲數(shù)據(jù)。
· 當您完成挖礦時,您可以清除您的硬盤驅(qū)動器,并將其用于最初的目的
缺點
· 產(chǎn)能開采的普遍證據(jù)可能會導(dǎo)致另一場軍備競賽。今天人們使用tb的硬盤,但是我們最終會看到pb、exabytes和zettabytes。
· 容量證明是一項相對較新的技術(shù),在現(xiàn)實世界中沒有經(jīng)過嚴格的測試和挑戰(zhàn)。
· 目前,硬盤驅(qū)動器繪制的數(shù)據(jù)除了挖礦用途外是無用的。然而,有計劃將硬盤用作重要開源信息的冗余存儲。硬盤可以存儲地圖、維基百科文章或其他值得保存的信息。
· 已經(jīng)有惡意軟件在人們的電腦上挖礦比特幣。如果容量證明變得流行起來,你可能會看到惡意軟件在密謀人們的硬盤。主要的區(qū)別是您不太可能注意到一些硬盤空間被占用。
最終的想法
容量證明是對共識證明算法中出現(xiàn)的問題的一種有趣的解決方案。它往往會導(dǎo)致采礦權(quán)力的進一步分散和能源消耗的減少。目前還沒有得到證實,容量證明是否有效,以及它是否會成為協(xié)商共識算法的新標準,就讓時間來證明吧。