PoS還面臨著哪些安全風險問題
LongHash 在之前的兩篇文章(《一文讀懂 Staking Economy(質(zhì)押經(jīng)濟)》和《如何獲取最大收益——搞懂 Staking 商業(yè)中的五個基本元素》)提過一些與持幣人直接相關(guān)的 PoS 風險問題,本文將深入探討安全風險問題。
- Nothing at stake(無利害攻擊)
簡單理解當有節(jié)點發(fā)起攻擊,在同一個區(qū)塊高度同時出兩個塊進行分叉,對攻擊者而言因為出塊成本較低,只需要 stake(質(zhì)押),對其它節(jié)點而言最佳策略就是對分叉的兩條鏈都進行簽名獲得雙倍獎勵,也只需要 stake,這就會造成鏈很大的危機,PoS 里的出塊成本遠遠小于 PoW 里的大量算力成本,而且 stake 可以同時用在兩條鏈上,這個問題一度被廣泛討論,目前已經(jīng)通過“stake 質(zhì)押 + slash 懲罰”解決了,也就是 PoS 共識的區(qū)塊鏈里出塊成本不僅僅是有 stake 就好,這個 stake 一定比例是必須被系統(tǒng)鎖定一段時間,如果節(jié)點作惡那 stake 就會被系統(tǒng)沒收,通過經(jīng)濟學的設(shè)計,PoS 共識的安全性又進一步提升。
- Longrange attack(長程攻擊)
Longrange attack 指的是從創(chuàng)世區(qū)塊開始,創(chuàng)建一條比原來主鏈還要長的鏈,并篡改全部或部分交易歷史,來代替原有的主鏈。
Long range attack 利用的是,新加入的節(jié)點或是長期不在線的節(jié)點在同步數(shù)據(jù)時不能清楚知道哪一條鏈是正確的主鏈,因為攻擊者的鏈是從創(chuàng)世區(qū)塊開始偽造,如果根據(jù)最長鏈原則來決定主鏈,那被篡改的鏈有概率成為真正的主鏈,使后續(xù)節(jié)點都認定錯誤的鏈。
因為在一條分叉鏈上產(chǎn)生區(qū)塊是幾乎沒有成本的,只需要 stake,而且攻擊者不需要太多的區(qū)塊確認時間,使得分叉鏈的形成速度可以快過主鏈,有很多理論證明了這樣的攻擊可行,但實際執(zhí)行卻非常困難,可以看這篇《Rewriting History: A Brief IntroducTIon to Long Range Attacks》。
以上兩個是 PoS 里最知名的攻擊方式,其它還包含 Simple Attack、Posterior CorrupTIon、Stake Bleeding、Cartel Attack、Sybil Attack、Grind Attack 等,這些攻擊也都有人提出相對應(yīng)的解決辦法。
為什么 PoS 共識也可以是一個很好的維護網(wǎng)路安全的策略?
區(qū)塊鏈這個分布式系統(tǒng)與傳統(tǒng)中心化系統(tǒng)最大的不一樣就是,安全是由散布在全世界各地的節(jié)點進行保證,只要多數(shù)節(jié)點是安全的,那鏈上的數(shù)據(jù)就是安全的,PoW 通過高算力,增加了攻擊者控制51%以上節(jié)點的成本;而 PoS 通過了幣本身的價值來維護區(qū)塊鏈的安全,攻擊者要攻擊 PoS 區(qū)塊鏈必須購買一定數(shù)量的代幣。
PoS 一直受到來自 PoW 支持者的質(zhì)疑
安全問題是 PoW 支持者對 PoS 最大的反彈,從最本質(zhì)來看因為 PoW 共識非常的簡單而精巧所以安全,我們知道任何程序或產(chǎn)品上越是精簡則漏洞越少,而 PoS 共識的代碼確實非常復(fù)雜要包含著各種計算(staking 量計算 選舉 分發(fā)獎勵等),這給了理論空間上各種漏洞。在從成本角度來看,PoW 挖礦需要耗費實實在在的電力,這個一部分程度上是人們心里上的成本,因為付出所以這個東西會比較有價值,但是 PoS 不再付出昂貴的電力成本,是以幣來挖幣的模式,挖礦幾乎沒有成本,成本來自于幣本身(也是一個憑空創(chuàng)造出來的東西),PoW 支持者認為有電力成本支持的幣會讓真實的安全攻擊成本更高。
PoS 里有各種攻擊上面也提到過包含 nothing at stake,longrange attack 等,這一部分攻擊存在學術(shù)討論一部分社區(qū)已經(jīng)有應(yīng)對與解決之道,我們就只討論最常見也是最不應(yīng)該發(fā)生的攻擊 Double Spend(雙重支付),一旦發(fā)生 Double Spend 那就說明這個網(wǎng)路的賬本是不夠安全不可信任的,更遑論搭建在上層的應(yīng)用,PoW 里的 51% 攻擊成本是相對高昂的,需要控制該網(wǎng)路中超過一半的運算能力,PoS 里的 51% 攻擊只需要持有一半以上的幣, 但實際上我認為攻擊成本也相當高,上述提到過攻擊就必須買幣,幣價隨攻擊上升(這個邊際成本上升是一條非常陡峭的曲線),即使攻擊成功本身幣價也會受損,反倒不如在外面市場進行做空,這是一個經(jīng)濟學上的防御。
詳細一點說攻擊行為會受到的抵制
- 社區(qū)中會知道某些地址正在在大量進行幣的買入,可能是攻擊行為,可以防微杜漸;
- 攻擊者購買代幣過程中,代幣的價格將不斷上升,而這又進一步提高了攻擊者的購買成本;
- 一旦攻擊者成功攻擊了鏈本身,該鏈的代幣價值將會大幅下降,此時攻擊者為了攻擊所持有的代幣價值將會大量下跌,很難高于攻擊者想篡改數(shù)據(jù)的價值。
總結(jié)
PoS共識改變了PoW共識中競爭而浪費的算力與效率,通過 stake 加上選舉算法,達成了更高效的共識,而 stake 本身則代表了持幣人的權(quán)益,衍生出的 staking 經(jīng)濟將與每個持幣人直接相關(guān),知道如何評估不同項目的經(jīng)濟機制、使用工具、挑選驗證人節(jié)點會是將來很重要的課題,PoS 還需要接受更多社會實驗的檢驗,安全問題將隨著不同新項目的解決知道完善,更嚴峻的是關(guān)于 PoS 中心化及治理問題,這兩個也同時是所有共識都會遇到的問題,我們期待 PoS 共識帶給區(qū)塊鏈生態(tài)的改變,也期待 staking 創(chuàng)造出來的經(jīng)濟能更加活絡(luò)整個金融系統(tǒng)。