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