共識協(xié)議是區(qū)塊鏈系統(tǒng)的核心組成要素,是整個系統(tǒng)穩(wěn)定性和安全性的保證。比特幣引入了第一個區(qū)塊鏈共識協(xié)議,即工作量證明(PoW)。在這一共識協(xié)議下,為獲得出塊權(quán),礦工需要不斷進(jìn)行哈希計(jì)算,直到結(jié)果小于某個特定值,而持續(xù)的哈希計(jì)算耗費(fèi)大量的能源,這也是 PoW 被人詬病的主要原因。為解決能源浪費(fèi)的問題,很多新型的共識機(jī)制被提出,它們將安全基礎(chǔ)由計(jì)算能力轉(zhuǎn)為依賴其他資源,其中權(quán)益證明(PoS)被廣泛研究和認(rèn)可,作為 PoW 最有利的替代者,我們堅(jiān)信,PoS 將是區(qū)塊鏈共識未來的發(fā)展方向。立足深入研究已有優(yōu)秀共識協(xié)議(如 Ouroboros、Dfinity)的基礎(chǔ)上,充分借鑒其設(shè)計(jì)優(yōu)勢,結(jié)合多種密碼學(xué)手段,我們設(shè)計(jì)出星系共識協(xié)議。同時,星系共識引入了全新的委托機(jī)制,并在萬維鏈完成了概念驗(yàn)證(POC)。
星系共識的創(chuàng)新點(diǎn):
1.重新定義了權(quán)益并在賬戶模型下(account model)模擬了幣齡(coin age)的概念,保證了共識參與者的穩(wěn)定性。與其被動地被選擇,所有 WAN的持有者需要主動注冊去參與到星系共識中,這樣保證了參與者在共識過程中是活躍狀態(tài),而不是沉睡狀態(tài)(sleepy)。由此增加的穩(wěn)定性使得整個協(xié)議在現(xiàn)實(shí)應(yīng)用中具有更高的實(shí)用性。
2.設(shè)計(jì)了新型安全的隨機(jī)數(shù)生成算法,可用于出塊者的選擇以及其他用途,為系統(tǒng)引入熵(entropy)并保證了整個協(xié)議的安全性。
3.設(shè)計(jì)了 ULS(unique leader selection)算法并用于出塊者選擇。與其他選擇算法相比(如VRF),ULS算法在保持出塊者匿名的同時,保證了出塊者的唯一性,降低了自然分叉的概率。
4.設(shè)計(jì)了三重 ECDSA 委托簽名方案并實(shí)現(xiàn)了完整的委托機(jī)制,持有較少WAN 的用戶也能夠參與到共識過程中,從而吸納更多的權(quán)益加入到共識協(xié)議中。
5.設(shè)計(jì)了公平合理的獎勵機(jī)制,激勵共識過程中的誠實(shí)行為并對惡意行為進(jìn)行懲罰,保證權(quán)益分布健康,防止權(quán)益集中(stake centralization)。
Wanstake 設(shè)計(jì)
1. 設(shè)計(jì)概覽
所有的 PoS 共識方案都致力于使參與者通過去中心化的方式達(dá)成共識,然而往往忽略了影響共識的一些重要因素,如共識參與者的穩(wěn)定性和活躍度、權(quán)益的分布等等。我們的設(shè)計(jì)通過實(shí)現(xiàn)以下目標(biāo),保證了共識機(jī)制在現(xiàn)實(shí)應(yīng)用中的可行性。
· 高穩(wěn)定性:共識參與者應(yīng)保持在線并參與到共識過程中。
· 高活性:與其被動地被選擇為出塊者,所有參與者需要通過主動注冊的方式參與到星系共識中,這樣能夠保證共識參與者具有很高的活性,從而不會因?yàn)榈艟€等原因而影響共識過程的正常進(jìn)行。
· 獨(dú)立性:共識參與者無法通過將持有的 WAN 分布在不同的賬戶中或與其他參與者合作將 WAN 放在同一賬戶中而獲得額外收益。
· 權(quán)益的健康分布:健康的權(quán)益分布不能夠太集中,同時也不能夠太分散。星系共識鼓勵 WAN 持有者將盡可能多的幣投入到共識協(xié)議中,同時也采取方式限制 WAN 的大型持有者(如交易所)對共識過程的影響,防止其控制共識過程。
2. Wanstake
定義:
· WAN:萬維鏈的原生幣,通過鎖定在一個特定的智能合約(即共識智能合約)中轉(zhuǎn)化為 Wanstake。
· Wanstake:通過鎖定 WAN 得到,WAN 的數(shù)量越多,鎖定時間越長,生成的Wanstake 越多。
· 權(quán)益比率:個人持有的 Wanstake 占全部 Wanstake 的比例。
· CSC:共識智能合約(consensus smart contract)的縮寫,WAN 持有者通過將WAN 鎖定在 CSC 中獲取 Wanstake。
· H函數(shù):計(jì)算共識參與者 Wanstake 量的函數(shù)。
WAN 的持有者通過將一定數(shù)量的 WAN 鎖定在共識智能合約中去參與萬維鏈星系共識協(xié)議。共識智能合約根據(jù)鎖定的 WAN 的數(shù)量和鎖定時間計(jì)算得到Wanstake 的數(shù)量。值得注意的是,考慮到越臨近鎖定時間結(jié)束,參與者的誠實(shí)性和穩(wěn)定性就越高,Wanstake 的數(shù)量在鎖定時間內(nèi)并不是固定值,而是根據(jù)剩余鎖定時間發(fā)生變化。Wanstake 的持有者以正比于其權(quán)益比率(Wanstake ratio)的概率被選擇參與到共識過程中。當(dāng)參與者的鎖定時間結(jié)束后,將自動失去參與共識的權(quán)利,共識智能合約會在一段時間之后將鎖定的 WAN返還到原始賬戶中。
如上圖所示,H函數(shù)在計(jì)算 Wanstake 的過程中具有重要作用。為達(dá)到上文提到的設(shè)計(jì)目標(biāo),H函數(shù)應(yīng)當(dāng)滿足以下幾個性質(zhì):
w為鎖定的 WAN 的數(shù)量。
L為鎖定時間長度。
t為余下鎖定時間占全部鎖定時間的比例,鎖定開始時為 1,結(jié)束時為 0。
攻擊抵抗分析
? Double spending attacks
在 double spending attacks 中,攻擊者希望令兩筆矛盾交易都生效,想實(shí)現(xiàn)這種攻擊只有兩種情況:(i)含有兩筆矛盾或一筆與之前生效交易相矛盾交易的區(qū)塊被確認(rèn)合法生效;(ii)出現(xiàn)含有矛盾交易的兩條合法分叉鏈。對于(i),協(xié)議要求對任何收到的區(qū)塊進(jìn)行合法性檢查,包含任何矛盾交易的區(qū)塊將被認(rèn)定無效。同時我們的 chain-based 共識只接受最長鏈作為合法連,不會出現(xiàn)兩條合法分叉鏈的情況,進(jìn)而避免 double spending 發(fā)生。
? Grinding attacks
在 grinding attacks 中,攻擊者希望影響出塊者選擇過程以提高自己被選中的幾率。我們的共識中,出塊者選擇基于 random beacon和兩階段的 ULS算法,在隨機(jī)數(shù)生成過程中我們采用了門限簽名方案,任何參與者只能決定自己的簽名部分,只要有至少一個參與者是誠實(shí)的,攻擊者就無法決定最終隨機(jī)數(shù)結(jié)果,同時只要參與者中攻擊者數(shù)量低于門限值就無法預(yù)知最終隨機(jī)數(shù)結(jié)果,所以Epoch Leader 的選擇無法通過控制隨機(jī)數(shù)生成進(jìn)行影響。在兩階段的 ULS 算法的 SMA 生成過程中,被選中的參與者只能選擇是否廣播他們的數(shù)據(jù),如果不公布將失去部分收益。而且 SMA 的生成在 SIGN 階段之前,而 Epoch Leaders 排序在 SIGN 階段之后,攻擊者沒有信息優(yōu)勢來影響 ULS 算法的選擇結(jié)果。
? Transaction denial attacks
在 transaction denial attacks 中,攻擊者希望阻止一筆合法交易被確認(rèn),我們強(qiáng)調(diào)誠實(shí)節(jié)點(diǎn)不會拒絕任何合法交易,所以如果要實(shí)現(xiàn) transaction denial attacks,就意味著所有的 Slot Leaders 都是惡意的。由于誠實(shí)主體假設(shè)和 follow-the-stakerate選擇方案,攻擊概率是隨著時間以小于 1/2 的底數(shù)指數(shù)下降的,攻擊者實(shí)現(xiàn)攻擊的概率趨近于零。
? Bribery attacks
在 bribery attacks 中,攻擊者希望通過腐蝕誠實(shí)參與者為其所用來實(shí)現(xiàn)某種惡意目的,例如實(shí)現(xiàn) double spending attacks。在我們的共識中,理性的參與者由于兩點(diǎn)原因不會接受這樣的賄賂腐蝕。一是誠實(shí)參與者接受這樣的賄賂腐蝕而變成惡意參與者的話,他將失去抵押在智能合約中的權(quán)益。二是惡意行為會損害 Wanchain的經(jīng)濟(jì)生態(tài)系統(tǒng),進(jìn)而減低 WAN的價值,參與者的 WAN就會貶值。所以理性參與者不會接受賄賂腐蝕。而且只要保證誠實(shí)主體,briberyattacks 也無法影響到共識的安全性。
? Long-range attacks
在 long-range attacks[15]中,攻擊者希望從鏈上一個之前較遠(yuǎn)的位置開始重構(gòu)一條合法鏈,這樣就可以使鏈上數(shù)據(jù)與當(dāng)前真實(shí)狀態(tài)不同,進(jìn)而實(shí)現(xiàn)雙花攻擊等。協(xié)議中我們在有效鏈上設(shè)置了一些檢測點(diǎn)(check point),隨著鏈不斷延長,在最后一個檢測點(diǎn)之前的數(shù)據(jù)將不再改變,即新出現(xiàn)的檢測點(diǎn)的區(qū)塊無效,所以攻擊者無法實(shí)現(xiàn) long-range attacks。
? Nothing at stake attacks
在 nothing at stake attacks 中,參與者會在多個分叉上產(chǎn)生新的區(qū)塊,無論最終哪個分叉被確認(rèn)有效都將獲得收益。由于 PoS 共識中生成區(qū)塊幾乎沒有消耗,這種攻擊就很容易發(fā)生,而在 PoW 共識中,礦工不會浪費(fèi)算力來在不同分叉上產(chǎn)生區(qū)塊,這樣很可能讓他完全得不到收益。同時,這種攻擊常發(fā)生在某一時間段或某一區(qū)塊高度有多個合法出塊者的情況下,例如通過 VRF 進(jìn)行出塊者選擇的時候,然而在我們的共識中,某一時間段內(nèi)只有唯一合法出塊者,幾乎不會出現(xiàn)分叉情況,參與者就沒有動機(jī)發(fā)動 nothing at stake attacks。
? Past majority attacks
在 past majority attacks 中,攻擊者希望腐化某些之前的參與者以取得在過去某段時間里的權(quán)益優(yōu)勢。我們假設(shè)當(dāng)前的誠實(shí)權(quán)益大多數(shù)是合理的,而為了在past majority attacks 中獲益,攻擊者需要與過去某一時間的大部分權(quán)益持有者重新產(chǎn)生區(qū)塊來代替之前已有的區(qū)塊,這就類似于前面提到的 long-range attacks,會與檢測點(diǎn)(checkpoint)產(chǎn)生沖突,這種新產(chǎn)生的區(qū)塊會因?yàn)槲恢迷缬跈z測點(diǎn)而不被接受,所以我們的共識不會受到 past majority attacks 影響。
? Selfish-mining
在 selfish-mining 中,參與者會私下保留一個合法區(qū)塊然后提前去構(gòu)造下一個合法區(qū)塊,由于可以獲得計(jì)算時間上的優(yōu)勢,這種情況常發(fā)生在 PoW 共識中,然而在PoS中尤其是我們的共識之中無需如此。由于Slot Leaders是在一個epoch開始時由 random beacon 和 Epoch Leaders 產(chǎn)生的秘密信息決定的,無論參與者是否廣播新的區(qū)塊都無法影響下一個 slot 中出塊者的選擇,所以私下保留當(dāng)前的合法區(qū)塊是無利可圖的。事實(shí)上,如果超出了一個 slot 時間窗口沒有廣播新的合法區(qū)塊的話,出塊者很可能失去此區(qū)塊的收益。所以發(fā)起 selfish-mining 是不理智的,及時發(fā)生也不會影響我們共識的安全性。
星系共識優(yōu)勢
1.可證明安全
星系共識基于 Ouroboros的可證明安全模型設(shè)計(jì),在保留其可證明安全共識框架下對核心密碼組件進(jìn)行了設(shè)計(jì)提升。
2.自然分叉概率低
星系共識采用 ULS(unique leader selection)算法進(jìn)行出塊者選擇,與 VRF 算法不同,ULS 算法在保持出塊者匿名的同時,保證了出塊者的唯一性。
3.安全隨機(jī)性引入
隨機(jī)性的引入對于保證共識的安全性有著積極的影響,星系共識利用基于門限簽名方案的 random beacon 引入隨機(jī)性,而 random beacon 的安全性由兩方面保證:一是只要至少 1 名參與者是誠實(shí)的即可保證安全,降低了誠實(shí)主體假設(shè)要求;二是保證 G.O.D (Guaranteed Output Delivery)性質(zhì),即使部分參與者掉線,只要在線參與者數(shù)量高于預(yù)設(shè)門限值就可以成功執(zhí)行。
4.合理的權(quán)益設(shè)計(jì)
PoS 共識中合理的權(quán)益設(shè)計(jì)是一個很有意義的考量,為保持參與者的穩(wěn)定性和活性,我們要求參與者將自身持有的 WAN鎖定在一個特殊的智能合約之中以參與共識,鎖定 WAN的數(shù)量、鎖定時間和剩余鎖定時間比例都是用于計(jì)算參與者權(quán)益值的參數(shù),這樣的設(shè)計(jì)在 account model 下模擬了幣齡的概念同時保證了星系共識參與者的穩(wěn)定性。
5.完整的委托機(jī)制
星系共識采用我們?nèi)略O(shè)計(jì)的非交互高效 ECDSA委托簽名算法,實(shí)現(xiàn)了完整的委托機(jī)制,限制簽名空間且與現(xiàn)有區(qū)塊鏈簽名體系相兼容,保證了任何WAN 持有者皆可參與共識,提升了 Wanstake 的活性。
6.清晰可信的經(jīng)濟(jì)激勵模型
星系共識擁有對共識參與者完整的經(jīng)濟(jì)激勵模型,由于參與者在鏈上進(jìn)行信息交互,他們的行為也將被反映在鏈上,我們引入活性系數(shù)的概念來評估參與者的表現(xiàn),活性越高收益越多,這樣的經(jīng)濟(jì)激勵機(jī)制是清晰明確并令人信服的。
評論
查看更多