知識庫
要了解硬盤挖礦原理,得先了解礦機挖礦原理。目前幾款硬盤幣都有使用POC共識機制,Burst、BTCHD的硬盤礦機使用POC2進行挖礦計算。POC 是一種利用本地計算機硬盤驅動器里的閑置空間來進行挖礦的共識算法。
大部分加密貨幣目前要么使用 POW 工作量證明機制,要么使用 POS 權益證明機制,不過也有使用 POC 作為共識機制的幣種,比如:
一、Burstcoin
優點:類似于 PoW,只是使用空間替代了計算。因此更加環境友好。
可用于惡意軟件檢測。通過確定處理器的 L1 緩存是否為空(例如,具有足夠空間在沒有緩存未命中的情況下計算 PoSpace 過程),或是包含一個拒絕被逐出(evicted)的例程。可用于反垃圾郵件措施,以及防范拒絕服務(DoS)攻擊。
不足:激勵機制可能存在問題。目前 proof of capacity 存的 plot 文件都是一些沒什么用處的信息和數據,除了用來挖礦,就毫無用途。
使用者:Burstcoin、BTCHD、Chia、SpaceMint。
類型:協同型共識
二、PoSpace
也稱為 PoC,通過分配一定數量的內存或磁盤空間用于解決服務提供者所提供挑戰的方式,顯示了某個人對某個服務(例如發送郵件)具有合法的興趣。該理念是由 Dziembowski 等在 2015 年形式化定義的。雖然 Ateniese 等人的論文名稱也是“Proof-of-space”,但它事實上一種采用 MHF(Memory Hard Function,一種計算代價取決內存的哈希算法)的 PoW 協議。
PoSpace 非常類似于 PoW,只是使用存儲替代了 Pow 中的計算。PoSpace 與 MHF 和可回收性證明(PoR,Proof of Retrievability)有關,但也在很大程度上存在著差異。
PoSpace 是由證明者 (Prover) 發送給驗證者 (Verifier) 的一小塊數據,該數據確認了證明者已經保留了一定量的空間。出于實用性上的考慮,驗證過程需要盡量高效,即消耗盡可能少的空間和時間。出于公平性上的考慮,如果驗證者沒有保留所聲明數量的空間,那么它應該難以通過驗證。PoSpace 的一種實現方式是通過使用一個難以實現 Pebbling 的圖。驗證者請求證明者構建對一個“非 Pebbling 圖”標記。證明者提交標記,進而驗證者請求證明者在提交中開放多個隨機位置。
POC 和 POSAT 里的空間證明機制本質上沒有太大的區別。
POC 和 POW 一樣,都需要利用到哈希函數的功能。
如果你了解過比特幣,哈希函數應該很好理解。簡單來說,哈希就是把輸入轉換成一串特定 ID 的過程,而且,這個過程是不可逆的。因為輸入不同,兩個輸出也完全不同。最重要的是,你沒有辦法從輸出的這串數字里面推導破解出原始的輸入值。
三、Proof of Work
POW 和 POC 非常相似。但是,POW 非常消耗算力和電力資源,同時你時不時就要對挖礦的設備進行升級和修復。
POW 的原理簡單:
1、礦工首先把自己處理的交易打包到區塊里面;
2、區塊里面所有的數據,包括上一個區塊的哈希值,必須經過一個哈希函數的運算,生成新的哈希值,這個新的哈希值同時必須滿足某個條件,比如前 30 位的數字為 0 ;
3、礦工們不停地改變區塊頭的某個數字,生成新的哈希值,然后看它是不是符合前 30 位數字為零的條件。因為哈希函數是不可逆的,你只能一直換數字不停的猜。這個猜數字的過程就是挖礦;
4、如果你能猜到正確的那個數字,就代表你的確付出了不少算力,這個數字就是你的工作量證明。而擁有更多算力的人顯然能更快的窮舉數字,也就能更快地算出正確的哈希值;
5、最終,最快算出來的那個礦工,把正確答案廣播給網絡里的其他礦工節點,其他節點驗證是不是正確答案,是的話,交易就生效了,礦工獲得比特幣獎勵,交易數據打包寫入區塊中,然后繼續向下一個區塊出發。
四、Proof of Capacity 簡要概述
相比 POW 不停改變區塊頭的某個數字來猜測正確的哈希值,POC 把你猜數字的工作量變成了硬盤空間里的“測繪”(plotting)的工作量。每個區塊都會綁定一個專屬的“謎題”,在挖礦還沒開始前,網絡就會把破解這個謎題的計算方法(solutions)儲存在你的硬盤空間里。這些計算方法有的比較快,有的比較慢,如果你的硬盤里恰好有一個計算方法,是目前最近產生的這個區塊里的謎題所對應的“最快解”,那么你就贏得了這個區塊的記賬權——挖礦的獎勵就是你的了。
POC 背后真正的挖礦算法,如果要實時計算的話是非常復雜的