1. 程式人生 > >淺談對POW的認識和理解

淺談對POW的認識和理解

目錄

 

一、理清POW:POW共識機制的原理

二、 工作量證明的優缺點

POW的優點

POW的缺點

三、 本人對POW存在問題的解決思路


一、理清POW:POW共識機制的原理

在區塊鏈中,核心的技術之一就是工作量證明機制(Proof-of-Work)。這種共識機制比較早地在區塊鏈應用中得到落地實現,比如為人熟知的比特幣系統中節點構成的比特幣網路,就是這種技術的成功實踐。歷經這麼多年了,比特幣網路相對較為穩定也是得益這一成功的POW共識機制。

抽象地來說,POW的共識機制,就是每次轉發或者記錄一條訊息,你需要證明你對轉發或者記錄這條訊息付出了一定的努力和代價。當你的證明有效的時候,你將能夠收穫到獎勵,如果存在不誠實的行為,將會收到處罰。

在區塊鏈系統中,節點的工作量證明,就是通過計算來猜測一個隨機數(nounce),拼湊打包好的交易資料,得到滿足某種條件的一個安全雜湊函式值(在比特幣中的條件限定為函式值前0的個數)。由於hash難題在目前計算模型下需要大量的計算,這就保證在一段時間內,比特幣系統只會收到一小部分節點提交的符合條件工作證明。符合條件的工作證明結果會成為一個區塊,在P2P網路中進行廣播。收到區塊的使用者驗證節點會進行驗證該區塊的正確性,得到超過50%的使用者驗證節點的證實後,該區塊將會加入到當前比特幣系統中最長的公鏈上。然後在這一條最長鏈上繼續進行數學難題的計算。雖然系統中可能會出現短時間鏈的分叉,但較短鏈上的區塊將會在一定時間內視為廢塊丟棄,最終會有一條鏈成為最長的鏈。

比特幣的共識過程就是每個節點的礦工通過強大的算力來解決一個具有很大難度的動態可調整的數學難題(猜測nounce),爭相獲得記賬權的,獲得系統比特幣獎勵的過程。這就是一個依靠礦機等硬體提供強大算力來進行的計算比賽,將付出不小的經濟成本(電力,硬體,維護等)。如果沒有成為那個算出nounce的幸運節點時,意味著之前付出的代價都石沉大海,投資慘敗。但這也保障了,如果存在惡意節點嘗試破壞區塊鏈,計記賬的時候,需要付出極大的經濟成本,這也為區塊鏈的安全性增加了一道防護的屏障。

整個共識過程雖說是演算法和算力在對峙,但背後也是經濟博弈模式在支撐。舉一個形象的例子來說明一下:設想一下超市排隊的情景,超市只有一個出口,付款臺只有一個而且付款的人需要排成一隊(公鏈),可能會有人不受規矩形成分叉的隊伍(分叉鏈),但這是超市管理員會檢查隊伍,認為最長的隊伍是合法的,不合法的分叉隊伍需要重新排隊,新到來的人只要足夠理智,就會自覺地選擇最長地隊伍進行排隊。這是因為一旦選擇短隊伍被要求重排,他們就需要付出代價和接受懲罰,將要排隊的人從利益最大化以及理性的角度來講,自然會選擇具備更大勝出可能性的長隊伍。

 

二、 工作量證明的優缺點

POW的優點

  1. 演算法簡單,實現容易:依託安全可靠的加密演算法如SHA256,巧妙地形成了一種簡單粗暴的工作量機制。猜測隨機數的方式比較簡單易懂而且對於節點來驗證資料的真實性有效性也是簡潔明瞭。

  2. 節點之間無需交換額外的資訊即可達成共識:由於維護同一條公鏈,那麼節點只需要接受一個待驗證的區塊然後對其加以驗證就可以完成區塊鏈的記錄。

  3. 破壞區塊鏈系統需要投入極大的成本:由於工作量本身就意味著耗散經濟成本,理論上存在超過50%的惡意節點達成共識來攻擊區塊鏈網路,但是這需要付出極大的經濟成本。投入遠大於產出,所以從經濟的角度上保證了系統的安全。

POW的缺點

  1. 浪費能源:大量的礦機,電力的投入,就只用在計算一個雜湊值上。挖礦失敗,投入的能源就是付之一炬,沒有任何回報。這成為POW為人詬病的一個重要的原因。

  2. 區塊交易效率低:這是由於系統設計限制的,全網都在進行算力競賽,爭相記賬,同時全網節點又要進行驗證區塊以及確認達成一致的公鏈,可想而知系統執行的速度短時間內不會有特別快的提升。比特幣每秒的交易次數低於10次,成功記賬的時間間隔為10分鐘,這和現今動輒每秒上萬的金融交易來比較,真是螞蟻見大象。這也是比特幣難以真正商業化的一個關鍵因素。

  3. 存在弱去中心化:隨著礦機裝置的產生,越來越多的算力集中到一起。現如今依靠普通的個體戶已經無力挖礦成功,礦工們算力集中化程度高,中心化趨勢加強,可能存在51%的系統攻擊。

三、 本人對POW存在問題的解決思路

個人認為,Pow共識機制模型最尖銳的矛盾體現在能源消耗,效能,安全性上。如何保證能源消耗小,效能又高,安全性還有保障,是一個重大的難題。在不改變現有POW原理思路的前提下,必須找到一個能源,效能,安全的平衡點。以下提出個人的一些可能行之有效的思路。

  1. 搭載物聯網裝置:共識過程主要有兩個:一個是挖礦計算,需要極強的算力;一個是驗證計算,對裝置的要求不高;挖礦計算過程依託專用的礦機,而驗證計算可以依賴海量的物聯網智慧裝置來進行,這樣實現挖礦和驗證過程一定程度上的分離,原來的礦機裝置不必參與驗證過程,將更珍貴的能源應用在挖礦計算上,可提高交易效率,同時也合理利用了硬體資源和能源。

  2. 實現更為高效可靠的網路傳播。

  3. 努力發展基礎學科:找到更為有效的新型材料,提供更為高效,能耗更小的計算裝置。

  4. 挖掘新型綠色能源,減少能源汙染。。。