作者: Decred 撰稿人,Richard Red
區塊鏈的共識機制用於確保參與者之間就區塊鏈的當前狀態達成一致。共識機制決定了哪些節點能夠添加新的交易區塊,其主要目標之一是確保區塊鏈不會被重寫。
具有工作量證明共識的區塊鏈(如比特幣)只能由礦工創建,他們透過部署硬件,以及計算如何有效地解決某個特定的數學問題。每次礦工完成有效猜測時,區塊鏈網路就可以接受他們所建立的區塊。雖然礦工可以選擇任一條鏈進行計算,但網路只接受具有最多工作量證明(即哈希或計算最多)的鏈作為合法鏈。這意味著礦工被激勵在最長的鏈上進行挖礦,當他們發現有效的新區塊時,他們將嘗試找到如何在新區塊上建立的解決方案。
重寫區塊鏈的難度在於它作為記錄金融交易的帳本。當區塊中出現將資金發送到錢包的交易時,並且在該區塊之上已經構建了其他區塊(已確認),區塊(交易)將不可能重寫。
如果某個實體控制了足夠多的哈希算力來攻擊“真實鏈”,它可以通過重新構建“舊”區塊從而取代最新的區塊,實現對區塊鏈的重寫(或重構)。以下是此類攻擊的簡要說明,也稱為51%攻擊:
攻擊者首先向交易所進行充值,該交易記錄在區塊X中,然後攻擊者開始獨自建構另一條平行鏈(不向網路廣播該區塊)。而當達到儲值交易所需的確認數量後,攻擊者會將該代幣兌換成其他貨幣,並從交易所中提取。當提現交易完成後,攻擊者會發布獨自建立的平行鏈,如果該區塊鏈具有比原始鏈更多的PoW(區塊),則網路將接受它作為合法鏈,而原始區塊鏈(包含攻擊者儲值交易的)將成為歷史版本而消失。之後,攻擊者就可以再次自由地使用這些代幣。
由於礦工是唯一可以在PoW類加密貨幣中直接向區塊鏈中添加區塊的實體,這使他們在治理中發揮了重要作用。如區塊鏈網路中需要針對共識規則進行修改,就必須得到大多數哈希算例的支援。 “軟分叉”需要足夠的礦工去重新識別新的共識規則,以便用戶可以進行交易並期望他們的交易得到正確處理,並將交易數據打包在區塊中。 “硬分叉”則將原有區塊鏈網路分成兩部分,並且大多數礦工接受的“工作量PoW的鍊是正確的鏈”,礦工們將有權決定哪一條鏈被視為合法的。
權益證明共識是另一種決定哪些礦工可以添加新的區塊並驗證區塊鏈當前狀態的方法。透過權益證明,而不是礦工競爭解決問題,根據錢包中的代幣數量(或“權益”)的多少,透過某種機制確定下一個區塊生產者。這個共識過程所以來的原則是,相信那些擁有最多利益的人將為整個網路做出負責合理的決策。
權益共識的證明消除了對能源密集型挖礦活動的需求,但缺乏顯著的能源支出卻又造成了另一個問題,有時被稱為“無關緊要。 ”以分叉舉例來說,偽造的POS(“鍛造”通常是被用來代替“挖礦”)會分別在兩條鏈上開採,因為額外創建另一條鏈的成本很少,所以他們可以同時在兩條鏈上獲得收益。這對區塊鏈網路來說是個問題,因為共識機制的目的是只承認有一條合法的鏈,並且只認可合法鏈的狀態。
權益證明在代幣分配上還有其他一些問題。 PoW礦工的成本很高(硬件,電力),並且通常需要出售他們挖到的大部分代幣以滿足這些成本。因此,許多開採的硬幣可以在市場上購買,而不會被礦工囤積。而權益證明的偽造成本卻非常低,他們不需要為了維持網路運作而賣出他們獲得的代幣。參與權益證明的大額股權持有人傾向於增加他們流通中的代幣份額,因為他們從網路用戶收取大量獎勵和交易費用。這被比作封建主義,即網路由大額代幣持有者所擁有和操縱,並且用戶使用過程中還需要向他們支付手續費。在POS中,通常會設定一些限制條件,使一般使用者無法直接參與權益證明共識。
混合工作量證明、權益證明系統的目標是結合二者優勢,並平衡彼此的弱點。 Decred是為數不多的混合使用PoW和PoS共識機制的加密貨幣,並將它們整合產生了多因素和混合的共識機制。
在某些意義上,“Masternode coin”也是混合機制,因為它們具有可識別的工作量證明組件,執行著與比特幣類似的角色,屬於特殊節點的附加角色。這些特殊節點通常也持有一定數量的代幣作為抵押,以證明他們可以信任且符合網路的最佳利益,這類似於權益證明機制。 Dash是原始的主節點代幣,並將此模型稱為服務證明。本文重點介紹具有混合權益證明的組件,所以不會討論慮主節點代幣或服務證明的代幣範圍。
Decred的PoW元件與其他基於PoW的項目類似,並使用Blake-256雜湊函數。 Decred的PoS元件以及它如何建立區塊鏈的方式非常獨特,值得進一步解釋。
要參與到Decred的權益證明中,持有人必須鎖定他們的DCR併購買“票證”。個人票證的價格由類似市場的機制設定,系統的目標是獲得一定數量的票證(40,960) - 如果超過了目標數量,則價格會上漲,如果未到達數量價格則下降。當使用者購買票證時,他們使用的DCR將被鎖定(即,他們不能花費),鎖定期會持續到他們的票證被偽隨機函數呼叫完成投票,或在大約142天後到期。這為PoS機制帶來了機會成本,透過這種方式能夠確保PoS選民在遊戲中得到公平且能夠遵循網路的最佳利益。
PoS參與者(也稱為選民或利害關係人)可以扮演三個不同的角色:拒絕投票、對共識規則的變更進行投票,以及使用Politeia定級系統對專案層級管理進行表決。第一種角色“拒絕投票”,是PoS選民最直接參與維持共識的方式。
當PoW礦工找到有效的區塊時,他們會在網路上進行廣播,為了使該區塊被認為是有效的,該區塊中必須具有隨機選擇的5個投票中的至少3票。 PoS選民需保持錢包開放,並需要在他們的選票被調用時,進行回應(或讓投票服務提供者代表他們)。當某個POS票證被呼叫進行投票和回應時,其所有者將收到獎勵。
當票證被調用時,他們對前一個區塊的常規交易進行表決,選擇接受或拒絕。在獲得至少3票之前,網路上的節點將不會認為新區塊是有效的。如果大多數票證都拒絕投票給前一個區塊中的交易,那麼它們將返回給mempool。這些常規交易包括PoW礦工的獎勵,但不包括PoS選民的獎勵。
因此,PoS選民有權在不影響自己利益的前提下剝奪礦工的獎勵。這限制了PoW礦工的權力,防止他們對網路共識規則的篡改,這些規則須由利害關係人投票決定。實際上,當偵測到惡意或低效行為時,PoS選民可以透過採用投票“否決”這些惡意的礦工行為,透過這種方式,防止惡意PoW礦工篡改交易和獲得非法獎勵。
這種PoS驗證層可顯著提升網路的安全性,並防禦多數的攻擊。大多數雙重支付攻擊的常用方法是透過私自隱匿的挖礦來取代現有鏈,從而重寫區塊鏈,然後在一段時間後發布它並致使“舊”鏈中的交易無效(即,他們可進行雙重支付)。由於Decred區塊要求隨機選擇票證的輸入,該方式被認為是有效的,並且在收到該輸入之前不能由PoW礦工建立區塊,PoW礦工不可能秘密的進行挖礦,除非他們也同時控制了大部分票證(相見如下文章)。
混合PoW/PoS機制的設計能夠大幅增加網路攻擊的成本,因為攻擊者必須同時規避兩個獨立的系統。尤其是在PoS元件被配置為僅能緩慢的獲取票證。每個區塊僅可購買有限數量的票證,購買大量的票證會導致價格的急劇上漲。此外,一旦需要購買票證,用於購買它們的資金將是被鎖定,這種方式會鎖定攻擊者的用於攻擊的資金,使其面臨貶值的風險。
使隨機選擇的利害關係人對每個區塊進行投票,這意味著區塊鏈必須與所有參與者挖礦的節點共享,從而增強網路的安全性。 Decred的混合機制旨在為利益相關者提供超越PoW礦工的權力。
Decred一開始就決定讓PoS利害關係人成為區塊鏈治理中的主導決策力量。修改或寫入共識規則需要批准升級程序,透過該程序,只有透過投票後才能對網路共識規則進行修改。而且只有在至少75%的投票同意後才能進行更改。如果有一定比例的礦工(95%)和選民(75%)正在運行升級軟體並對規則進行潛在的更改,該過程就會開始執行。如果修改提案在4週的投票期後獲得了超過75%的支持,則被接受,否則會被拒絕,如果投票數量不足,則重新開始投票。如果提案被接受,那麼共識機制的修改將在一個月後啟動。
Decred的區塊獎勵分為PoW礦工獎勵(60%),PoS選民獎勵(30%)和Treasury(10%),用於資助開發該專案的開源軟體貢獻者。票證持有人有權投票決定該部分資金應該如何使用、應該添加哪些功能,並透過Politeia平台決策。
由於PoS選民可以獲得30%的區塊獎勵,他們無法僅通過持有現有權益而維持他們在DCR流通中的相對份額。大多數新的DCR都是PoW礦工挖礦獲得的,從而減輕他們在PoS系統中“無關緊要”的問題,也發揮了他們在保護網路方面的作用。礦工通必須出售他們收到的大部分獎勵以維持他們的營運成本,因此該方式能夠確保市場上的DCR供應需求合理。
Decred區塊鏈呈現了獨特的架構模式,也是混合PoW/PoS系統最知名的例子之一。與PoS共識機制在分組中發生的重大變化一樣,未來透過混合PoW/PoS機制部署的專案也是獨特的,並且不一定遵循現有的Decred框架。