VDF 不是工作量證明

2021-09-22 09:57:53 字數 1879 閱讀 9017

可驗證延遲函式(verifiable delay function)最近出現在許多區塊鏈研究中(以太坊、chia,等等)。人們已經證明,vdf 是加密經濟機制設計中的一種有用工具。最近一篇**研究了一些 vdf 的應用並補充了函式背後的屬性和理論。使用這些函式的目的,是讓知道部分資訊且某種程度上參與了協議的參與者產生最小數量的時間延遲。vdf 實現這一點的方式是:在計算是要求大量計算資源,但驗證時只需花費相對少的計算資源。

這種 計算 和 驗證 的非對稱關係乍看起來有點像工作量證明(pow)。實際上,這也是我從那些第一次了解到 vdf 可能被用於權益證明(pow)的研究者那裡經常聽到的描述。我會聽到這樣的聲音——「 聽起來我們又回到了工作量證明 」或是「 不再燒一輪 cpu 我們就幹不了這事是嗎 」。雖然 vdf 和傳統的 pow 演算法都擁有「難以計算」且「易於驗證」這樣的屬性,最核心的區別在於區塊鏈工作量證明共識演算法是 可並行化工作量證明,並且只是有概率會成功,不是一種函式。相反,vdf 是 連續工作證明,是確定的函式。

vdf 在設計上就是不可並行化的。為了讓 vdf 難以計算並且花費更長時間,我們只需提高了必須計算的輪次(cycle)數量。每一輪都以上一輪的輸出作為輸入,所以為了計算輪次 n,我們必須先知道輪次 n-1 的輸出。增加額外的處理器不會顯著減少計算所花費的時間。

這也是 stark 與區塊鏈 pow 演算法不一樣的地方,後者完全是有目的地設計成可並行化的。參與者擁有越多處理器執行 pow 演算法,就能越快找到有效的雜湊值(概率上來說是如此)。工作量證明演算法會激勵參與者增加用於計算的硬體數量。但在 vdf 中則不然,參與者要增加額外硬體、發動並行攻擊是沒有優勢的。獲得優勢唯一的方法是購買或設計 更快 的硬體。

就像名稱裡指出的一樣,vdf 是函式。給定輸入值,就只有乙個可驗證的正確輸出值。要找到這個輸出,參與者只需要按預先指定的輪次數量計算 vdf 就好。所有參與者最終都會算出同乙個結果,並且也只有乙個結果會被驗證為給定輸入值時正確的結果。

在 pow 演算法中,給定輸入可能有多個正確輸出值。要找到這些輸出中的乙個,參與者必須用猜測的輸入值執行雜湊函式,然後看看輸出值是否符合要求。參與者可以在任意多的硬體上、使用不同的猜測輸入值並行地執行任意數量的計算程序,希望其中乙個程序可以產生乙個符合要求的輸出值。其中的經濟激勵驅動著人們參與這個遊戲,但也正因此,乙個參與者可能傾向於投入越來越多的硬體來取得更大的優勢——因此 pow 軍備競賽消耗著大量計算資源和能源,並且消耗量還在上公升。

概率性和可並行化是導致 pow 軍備競賽的兩種屬性。不僅人們可以並行化計算,而且擁有最多並行化計算資源的參與者還是只能獲得與他們控制的算力成比例的概率收益。這會激勵參與者動用他們擁有的所有資源參與遊戲。出於 pow 的目標,這還是在某種程度上創造了一種公平遊戲。這種公平性吸引了大大小小無數玩家。

因為 vdf 不是概率性的,所以它們也沒有這種公平屬性。根據 vdf 部署於其中的競爭模式,vdf 實際上會產生相反的屬性並趨向壟斷。擁有最快硬體的參與者幾乎總是能夠最先計算出 vdf(除非該參與者離線了、被審查了、或者另一名參與者成功買到了/開發出了更好的硬體)。如果第乙個解出 vdf 的參與者公開了結果用於公開驗證(可能是為了要求獎勵),那麼除了這個最快算出來的人,其他所有人都不會再執行計算。即便某個參與者的硬體有最快參與者硬體效率的 95%,他也幾乎永遠不會贏,因此也很可能永遠不會參與。這種壟斷屬性阻止了算力軍備競賽,但也產生了一系列受攻擊的可能性和設計上必須考量的事項。舉個例子,要是這個壟斷者突然離線了該怎麼辦?

我會將這些想法和其它考量放到 ethresear.ch 上和未來的文章裡。同時,我希望你已經懂得,在 pos 系統中運用 vdf 不會 讓協議的能源耗費變得像愛爾蘭整個國家的消耗量那麼大 。

什麼是工作量證明

工作量證明 proof of work 顧名思義,即指工作量的證明。pow機制的基本步驟如下 節點監聽全網資料記錄,通過基本合法性驗證的資料記錄將進行暫存 節點消耗自身算力嘗試不同的隨機數,進行指定雜湊計算,並不斷重複該過程直至找到合理的隨機數 找到合理的隨機數後,生成區塊資訊,首先輸入區塊頭資訊,...

PoW 工作量證明 go實現

proof of work 簡稱 pow,即為工作量證明 通過計算乙個數值,使得拼揍上交易資料後內容的值滿足規定的上限,在節點成功 找到滿足的 hash 值之後,會馬上對全網進行廣播打包區塊,網路的節點收到廣播 打包區塊,會立刻對其進行驗證 網路中只有最快解密的區塊,才會新增的賬本中,其他的節點進行...

區塊鏈(中心化 工作量證明)

中心化數需要乙個類似銀行的中心機構來驗證交易的。去中心化本質上是讓所有的借點都能驗證交易的真偽,用非對稱加密技術來解決中心化問題,工作量證明機制是位元幣不可篡改的技術 1 工作量證明機制 是一種對在差不多時間內發生的事物的先後順序達成共識的一種演算法。監測工作的整個過程通常是效率非常低的,而通過對工...