星系共識:擁有完整委託機制的實用 PoS 共識協議

買賣虛擬貨幣
共識協議是區塊鏈系統的核心組成要素,是整個系統穩定性和安全性的保證。比特幣引入了第一個區塊鏈共識協議,即工作量證明(PoW)。在這一共識協議下,為獲得出塊權,礦工需要不斷進行雜湊計算,直到結果小於某個特定值,而持續的雜湊計算耗費大量的能源,這也是 PoW 被人詬病的主要原因。為解決能源浪費的問題,很多新型的共識機制被提出,它們將安全基礎由計算能力轉為依賴其他資源,其中權益證明(PoS)被廣泛研究和認可,作為 PoW 最有利的替代者,我們堅信,PoS 將是區塊鏈共識未來的發展方向。立足深入研究已有優秀共識協議(如 Ouroboros、Dfinity)的基礎上,充分借鑑其設計優勢,結合多種密碼學手段,我們設計出星系共識協議。同時,星系共識引入了全新的委託機制,並在萬維鏈完成了概念驗證(POC)。
星系共識的創新點:
1.重新定義了權益並在賬戶模型下(account model)模擬了幣齡(coin age)的概念,保證了共識參與者的穩定性。與其被動地被選擇,所有 WAN的持有者需要主動註冊去參與到星系共識中,這樣保證了參與者在共識過程中是活躍狀態,而不是沉睡狀態(sleepy)。由此增加的穩定性使得整個協議在現實應用中具有更高的實用性。2.設計了新型安全的隨機數生成演算法,可用於出塊者的選擇以及其他用途,為系統引入熵(entropy)並保證了整個協議的安全性。3.設計了 ULS(unique leader selection)演算法並用於出塊者選擇。與其他選擇演算法相比(如VRF),ULS演算法在保持出塊者匿名的同時,保證了出塊者的唯一性,降低了自然分叉的概率。
4.設計了三重 ECDSA 委託簽名方案並實現了完整的委託機制,持有較少WAN 的使用者也能夠參與到共識過程中,從而吸納更多的權益加入到共識協議中。5.設計了公平合理的獎勵機制,激勵共識過程中的誠實行為並對惡意行為進行懲罰,保證權益分佈健康,防止權益集中(stake centralization)。Wanstake 設計
1. 設計概覽所有的 PoS 共識方案都致力於使參與者透過去中心化的方式達成共識,然而往往忽略了影響共識的一些重要因素,如共識參與者的穩定性和活躍度、權益的分佈等等。我們的設計透過實現以下目標,保證了共識機制在現實應用中的可行性。· 高穩定性:共識參與者應保持線上並參與到共識過程中。
· 高活性:與其被動地被選擇為出塊者,所有參與者需要透過主動註冊的方式參與到星系共識中,這樣能夠保證共識參與者具有很高的活性,從而不會因為掉線等原因而影響共識過程的正常進行。· 獨立性:共識參與者無法透過將持有的 WAN 分佈在不同的賬戶中或與其他參與者合作將 WAN 放在同一賬戶中而獲得額外收益。· 權益的健康分佈:健康的權益分佈不能夠太集中,同時也不能夠太分散。星系共識鼓勵 WAN 持有者將盡可能多的幣投入到共識協議中,同時也採取方式限制 WAN 的大型持有者(如交易所)對共識過程的影響,防止其控制共識過程。
2. Wanstake定義:· WAN:萬維鏈的原生幣,透過鎖定在一個特定的智慧合約(即共識智慧合約)中轉化為 Wanstake。
· Wanstake:透過鎖定 WAN 得到,WAN 的數量越多,鎖定時間越長,生成的Wanstake 越多。· 權益比率:個人持有的 Wanstake 佔全部 Wanstake 的比例。· CSC:共識智慧合約(consensus smart contract)的縮寫,WAN 持有者透過將WAN 鎖定在 CSC 中獲取 Wanstake。
· H函式:計算共識參與者 Wanstake 量的函式。

WAN 的持有者透過將一定數量的 WAN 鎖定在共識智慧合約中去參與萬維鏈星系共識協議。共識智慧合約根據鎖定的 WAN 的數量和鎖定時間計算得到Wanstake 的數量。值得注意的是,考慮到越臨近鎖定時間結束,參與者的誠實性和穩定性就越高,Wanstake 的數量在鎖定時間內並不是固定值,而是根據剩餘鎖定時間發生變化。Wanstake 的持有者以正比於其權益比率(Wanstake ratio)的概率被選擇參與到共識過程中。當參與者的鎖定時間結束後,將自動失去參與共識的權利,共識智慧合約會在一段時間之後將鎖定的 WAN返還到原始賬戶中。

如上圖所示,H函式在計算 Wanstake 的過程中具有重要作用。為達到上文提到的設計目標,H函式應當滿足以下幾個性質:

w為鎖定的 WAN 的數量。
L為鎖定時間長度。
t為餘下鎖定時間佔全部鎖定時間的比例,鎖定開始時為 1,結束時為 0。

攻擊抵抗分析

⚫ Double spending attacks
在 double spending attacks 中,攻擊者希望令兩筆矛盾交易都生效,想實現這種攻擊只有兩種情況:(i)含有兩筆矛盾或一筆與之前生效交易相矛盾交易的區塊被確認合法生效;(ii)出現含有矛盾交易的兩條合法分叉鏈。對於(i),協議要求對任何收到的區塊進行合法性檢查,包含任何矛盾交易的區塊將被認定無效。同時我們的 chain-based 共識只接受最長鏈作為合法連,不會出現兩條合法分叉鏈的情況,進而避免 double spending 發生。

⚫ Grinding attacks
在 grinding attacks 中,攻擊者希望影響出塊者選擇過程以提高自己被選中的機率。我們的共識中,出塊者選擇基於 random beacon和兩階段的 ULS演算法,在隨機數生成過程中我們採用了門限簽名方案,任何參與者只能決定自己的簽名部分,只要有至少一個參與者是誠實的,攻擊者就無法決定最終隨機數結果,同時只要參與者中攻擊者數量低於門限值就無法預知最終隨機數結果,所以Epoch Leader 的選擇無法透過控制隨機數生成進行影響。在兩階段的 ULS 演算法的 SMA 生成過程中,被選中的參與者只能選擇是否廣播他們的資料,如果不公佈將失去部分收益。而且 SMA 的生成在 SIGN 階段之前,而 Epoch Leaders 排序在 SIGN 階段之後,攻擊者沒有資訊優勢來影響 ULS 演算法的選擇結果。

⚫ Transaction denial attacks
在 transaction denial attacks 中,攻擊者希望阻止一筆合法交易被確認,我們強調誠實節點不會拒絕任何合法交易,所以如果要實現 transaction denial attacks,就意味著所有的 Slot Leaders 都是惡意的。由於誠實主體假設和 follow-the-stakerate選擇方案,攻擊概率是隨著時間以小於 1/2 的底數指數下降的,攻擊者實現攻擊的概率趨近於零。

⚫ Bribery attacks
在 bribery attacks 中,攻擊者希望透過腐蝕誠實參與者為其所用來實現某種惡意目的,例如實現 double spending attacks。在我們的共識中,理性的參與者由於兩點原因不會接受這樣的賄賂腐蝕。一是誠實參與者接受這樣的賄賂腐蝕而變成惡意參與者的話,他將失去抵押在智慧合約中的權益。二是惡意行為會損害 Wanchain的經濟生態系統,進而減低 WAN的價值,參與者的 WAN就會貶值。所以理性參與者不會接受賄賂腐蝕。而且只要保證誠實主體,briberyattacks 也無法影響到共識的安全性。

⚫ Long-range attacks
在 long-range attacks[15]中,攻擊者希望從鏈上一個之前較遠的位置開始重構一條合法鏈,這樣就可以使鏈上資料與當前真實狀態不同,進而實現雙花攻擊等。協議中我們在有效鏈上設定了一些檢測點(check point),隨著鏈不斷延長,在最後一個檢測點之前的資料將不再改變,即新出現的檢測點的區塊無效,所以攻擊者無法實現 long-range attacks。

⚫ Nothing at stake attacks
在 nothing at stake attacks 中,參與者會在多個分叉上產生新的區塊,無論最終哪個分叉被確認有效都將獲得收益。由於 PoS 共識中生成區塊幾乎沒有消耗,這種攻擊就很容易發生,而在 PoW 共識中,礦工不會浪費算力來在不同分叉上產生區塊,這樣很可能讓他完全得不到收益。同時,這種攻擊常發生在某一時間段或某一區塊高度有多個合法出塊者的情況下,例如透過 VRF 進行出塊者選擇的時候,然而在我們的共識中,某一時間段內只有唯一合法出塊者,幾乎不會出現分叉情況,參與者就沒有動機發動 nothing at stake attacks。

⚫ Past majority attacks
在 past majority attacks 中,攻擊者希望腐化某些之前的參與者以取得在過去某段時間裡的權益優勢。我們假設當前的誠實權益大多數是合理的,而為了在past majority attacks 中獲益,攻擊者需要與過去某一時間的大部分權益持有者重新產生區塊來代替之前已有的區塊,這就類似於前面提到的 long-range attacks,會與檢測點(checkpoint)產生衝突,這種新產生的區塊會因為位置早於檢測點而不被接受,所以我們的共識不會受到 past majority attacks 影響。

⚫ Selfish-mining
在 selfish-mining 中,參與者會私下保留一個合法區塊然後提前去構造下一個合法區塊,由於可以獲得計算時間上的優勢,這種情況常發生在 PoW 共識中,然而在PoS中尤其是我們的共識之中無需如此。由於Slot Leaders是在一個epoch開始時由 random beacon 和 Epoch Leaders 產生的秘密資訊決定的,無論參與者是否廣播新的區塊都無法影響下一個 slot 中出塊者的選擇,所以私下保留當前的合法區塊是無利可圖的。事實上,如果超出了一個 slot 時間視窗沒有廣播新的合法區塊的話,出塊者很可能失去此區塊的收益。所以發起 selfish-mining 是不理智的,及時發生也不會影響我們共識的安全性。

星系共識優勢

1.可證明安全
星系共識基於 Ouroboros的可證明安全模型設計,在保留其可證明安全共識框架下對核心密碼元件進行了設計提升。

2.自然分叉概率低
星系共識採用 ULS(unique leader selection)演算法進行出塊者選擇,與 VRF 演算法不同,ULS 演算法在保持出塊者匿名的同時,保證了出塊者的唯一性。

3.安全隨機性引入
隨機性的引入對於保證共識的安全性有著積極的影響,星系共識利用基於門限簽名方案的 random beacon 引入隨機性,而 random beacon 的安全性由兩方面保證:一是隻要至少 1 名參與者是誠實的即可保證安全,降低了誠實主體假設要求;二是保證 G.O.D (Guaranteed Output Delivery)性質,即使部分參與者掉線,只要線上參與者數量高於預設門限值就可以成功執行。

4.合理的權益設計
PoS 共識中合理的權益設計是一個很有意義的考量,為保持參與者的穩定性和活性,我們要求參與者將自身持有的 WAN鎖定在一個特殊的智慧合約之中以參與共識,鎖定 WAN的數量、鎖定時間和剩餘鎖定時間比例都是用於計算參與者權益值的引數,這樣的設計在 account model 下模擬了幣齡的概念同時保證了星系共識參與者的穩定性。

5.完整的委託機制
星系共識採用我們全新設計的非互動高效 ECDSA委託簽名演算法,實現了完整的委託機制,限制簽名空間且與現有區塊鏈簽名體系相相容,保證了任何WAN 持有者皆可參與共識,提升了 Wanstake 的活性。

6.清晰可信的經濟激勵模型
星系共識擁有對共識參與者完整的經濟激勵模型,由於參與者在鏈上進行資訊互動,他們的行為也將被反映在鏈上,我們引入活性係數的概念來評估參與者的表現,活性越高收益越多,這樣的經濟激勵機制是清晰明確並令人信服的。

白皮書下載地址:

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;