PoS為什麼比PoW更能避免51%攻擊?
星球君的朋友们
2019-01-21 01:00
本文约6649字,阅读全文需要约27分钟
當前加密貨幣背後所面臨的深層次安全問題更加值得關注。

編者按:最近ETC發生51%攻擊,PoW的安全性問題被熱議,以太坊創始人V神也對此稱這證明從PoW轉為PoS是正確的選擇。 Odaily邀請了上海交通大學副教授範磊,為我們分析為什麼他認為PoS可能是更好的選擇。

本文首發於Odaily,作者範磊,上海交通大學網絡空間安全學院副教授兼Fractal Platform CTO二級標題

二級標題

1. 什麼是51%算力攻擊

圖片描述


圖片描述


圖2. 攻擊者算力佔優

二級標題

二級標題

2. 這次攻擊為什麼能成功

與一般的網絡安全攻擊不同,51%算力攻擊是早已為人所知的攻擊方法,這次攻擊者的整個攻擊行為與流程並沒有任何的新意。

一般而言,基於PoW的密碼貨幣系統整體算力越強,控制其中51%的算力所需要的成本越高。由於大多數PoW算法具有相似的核心計算結構,算力可以容易地在不同密碼貨幣直接切換,甚至出現了可按照時間方便租賃的算力資源。網站Crypto51(https://www.crypto51.app/)統計了針對不同數字貨幣進行1小時51%攻擊所要花費的成本(不計區塊獎勵)以及可以從NiceHash借用的算力比例。其中針對ETC進行1小時51%攻擊只需要花費5116美元,且可以從NiceHash中租借到80%的算力(該數據持續變化,可以到該網站查看實時數據),該攻擊發生的可能性不可以忽略的。

二級標題

二級標題

3. 基於PoW的區塊鏈還安全嗎

毫無疑問,在過去的10年中,以比特幣為代表的加密數字貨幣取得了巨大的成功,其安全性也得到了實際運行網絡的檢驗。不僅如此,密碼學家從理論上也證明了基於PoW區塊鏈的安全性。人們相信,數學是區塊鏈安全的基石,也就是所謂的In Math We Trust。但是近年來的技術發展和研究表明,基於PoW的區塊鏈也有安全隱患。

1)算力集中問題

事實上,在比特幣等密碼數字貨幣系統中,由於超級礦池的存在,人們對算力集中的擔憂由來已久。大型的礦池以及利益相關者所組成的礦池聯盟可能掌握了接近甚至超過51%的算力。我們不能說這些大的算力集團會對系統發動51%算力攻擊,但是至少他們具備了發起這種攻擊的能力。

2)算力黑天鵝隱患

在當前的技術條件下,密碼數字貨幣的算力依賴於硬件運算速度以及能源供應。一個始終存在的隱患是,一旦出現了算力的跳躍式進步,系統的安全性可能面臨重大威脅。如由於快速算法的發明或者芯片工藝的換代,新計算資源可能會壓倒式超過原有資源,在此情況下系統的安全性將被完全破壞。

上述分析表明,PoW區塊鏈的安全性並不是構建在數學基礎之上的,數學僅僅是物理資源和區塊鏈之間的粘合劑。一旦物理資源的安全性假設不成立,區塊鏈系統的安全性均會受到威脅。

二級標題

二級標題

4. 我們有沒有更好的選擇

近年來,越來越多的區塊鏈系統以及分佈式共識協議被提出。其中一個重要的方向是基於權益的共識(Proof of Stake, PoS)。

PoS的提出最初主要是為了解決PoW存在的能源消耗問題。 PoS與PoW本質目的相同,都是為了在區塊鍊網絡的參與節點中隨機選出一個節點來記賬。 “隨機”一詞看似簡單,意味著公平、不可預測、不受惡意節點控制,但是在一個去中心化的網絡中其實很難做到,因為不存在一位上帝來擲骰子。 PoW的隨機原則是擁有的算力越多越有可能成為記賬人,PoS的隨機原則是擁有的stake越多越有可能成為記賬人,看起來這兩者很相似,只是用來選舉的“憑證”不同,但是針對兩者的設計以及其所面臨的攻擊卻有很大的區別。

PoS依靠stake來選取記賬人,參與選舉的人所擁有的stake都被記錄在區塊鏈上,stake佔比——即某用戶持有的stake佔區塊鏈上stake總數的比例。對於PoS要想進行51%攻擊,需要持有鏈上51%的stake,而stake的獲取只有從已有用戶手中購買而無法在系統外投資生產。因此對PoS系統發起51%攻擊的成本等於其從市場購買stake的成本。

以ETC為例,目前ETC的發行總量是107,514,088 ETC,若該共識算法是PoS,那對其進行51%攻擊需要持有53,747,044 ETC,折合市值約229,542,578美元,而在PoW情況下通過租用算力僅需5000美元左右。其他數字貨幣針對PoS 51%攻擊所需資金與針對PoW進行1小時的51%攻擊花費的對比如下表所示(數據來自Crypto51https://www.crypto51.app/二級標題

二級標題

5. PoS共識協議的擔憂與應對

相比於PoW已經在多個區塊鏈項目中得到了成功的應用,PoS共識協議目前還沒有得到大規模的應用,因此不少人對PoS共識協議存在各種擔憂。我們在此針對PoS可能存在的攻擊與弱點逐一進行分析。

1) PoS是集中化的系統

在PoS算法研究之初,眾多的研究者很自然地受到了分佈式計算理論與密碼學研究的啟發。拜占庭容錯協議(BFT)是用於在分佈式環境中達成共識的經典算法,因此大多數已經提出的PoS共識算法可以看做是BFT的某種變形形式。 BFT算法的優點是在理想的網絡環境中確認延遲較短,但其又因為較高的通信複雜度限制了參與共識的節點數目,因此在全球範圍的公有鏈中不能直接使用。在EOS(DPoS)、Algorand等系統中,通過選擇部分代表實現類拜占庭協議實現共識,因此給人帶來了PoS是集中化協議的主觀印象。實時上,目前的研究也已提出了類似PoW的競爭性PoS協議,完全不用擔心PoS是集中化的系統。

2) PoS新鏈冷啟動不安全

一個觀點是,由於PoS系統的共識節點是由Token所確定的,而係統必須要有預先的token分發才可冷啟動,因此PoS系統的控制權屬於少量的早期參與者,這些壟斷者可能為了獲得超額利益而作惡甚至不惜破壞整個系統實現雙花等攻擊。在實際中這些擔心是不存在的,理由如下:

a) 目前區塊鏈的生態發展已經較為成熟,新的區塊鍊主鏈上線前往往經過了多輪的募資活動,因此即便是創始團隊也不可能控製過多的Token份額。並且理性的團隊也不會追求對份額的過多控制,只有Token足夠分散系統才有安全性。

b) 在PoS系統中,Token的擁有者的權益完全體現在Token的價值中。引起有更大的動力維護系統的安全,因此更加不容易參與惡意行動。而在PoW系統中,攻擊者實施攻擊獲取短期利益後可將算力等硬件投資轉移到其他區塊鏈系統中,因此採取惡意行為的可能性更高。

c) 在新區塊鏈的啟動階段,如果採用PoW協議,外部的計算資源可以不受控制的湧入系統中。此時由於全系統總算力不高,攻擊者利用較少的資源即可完成攻擊,因此PoW區塊鏈的冷啟動階段更加不安全。事實上,除了比特幣、以太坊等已經聚集了大量算力的PoW區塊鏈,新產生的區塊鏈均面臨此問題。前一階段BCH分叉帶來的算力競爭就體現了新鏈啟動的危險性,為了避免被攻擊往往是中心化的礦池來維持早期的安全性,因此集中化程度比PoS更高。

3) PoS財富集中化嚴重

在前面的討論中,我們已經分析了在啟動階段PoS區塊鏈往往已經實現了Token的初始化分配。初始得到的Token在後續的區塊鏈生長過程中確實會帶來進一步的投資收益,因此有人擔心富者越富造成財富集中化。針對此問題,我們分析如下:

a) 在任何經濟系統中都會出現財富集中化現象,在PoS系統中並沒有更嚴重。已有的經濟學研究表明,即便在最公平的經濟系統中也會出現財富集中現象。我們常說的財富二八分配現象正式財富集中現象的體現。 PoS系統的初始Token分配比大多數成為巨無霸的上市公司在初始階段的股權分配更加分散與透明。

b) 只要提供了公平透明的交易環境,財富集中化現象並不會無限放大無需擔心。如果Token能夠在二級市場自由流通,Token自然會得到一個市場公允的價格估值。如果獲得了足夠的利益吸引,原始投資者也會拋售獲利;如果對系統前景看好,後來的投資者也會理性購買。因此完全不用擔心後來者買不到,或財富完全集中化。

實際上,由於參與PoW系統挖礦需要大量的硬件投資與電力投入,零散的參與者從成本上看遠遠不如大型的礦池,在幣價市場波動的時候往往也是規模小的挖礦者首先退出,因此在PoW系統中財富和算力的集中化會更加明顯。

4) PoS將會遭受Nothing-at-Stake攻擊

Nothing-at-Stake是指在PoS系統中,由於嘗試產生一個區塊並不會消耗大量的硬件資源,所以攻擊者可以不遵守協議而在不同的區塊後面都嘗試產生新的區塊。這給我們一個明確的直覺,PoS系統更容易產生分叉。但是設計良好的PoS系統完全可以抵抗Nothing at Stake攻擊。

我們撰寫的一篇論文[1]中給出了一種全新的PoS協議iChing,此協議是類似PoW的競爭性共識協議。論文對Greedy Attack(基於Nothing-at-Stake的一種攻擊策略)進行了理論分析,結果表明攻擊者貪婪地嘗試在鏈的任意位置進行擴展確實會讓攻擊者得利,但是其獲利並不是無限大的。其表現在若攻擊者與誠實節點持有相同佔比的stake,攻擊者產生的鏈的增長速度最多會達到誠實鏈的e倍(e是一個數學常數,約為2.71828),因此PoS所能容忍的惡意stake比例不超過30%(計算過程詳見論文)。針對這種情況,論文給出了一種應對策略,在鼓勵誠實節點適度貪心的策略下,所能容忍的惡意stake比例能達到43%以上。因此Nothing at Stake並不是一種不能克服的攻擊行為。

5) PoS將會遭受Long-Range攻擊

二級標題

二級標題

6. 下一代區塊鏈應滿足的特性

為了支持更多的實際應用落地,區塊鏈除了要滿足安全、去中心化的基本特性要求,還要解決吞吐率不高、確認時延長等問題。

吞吐率低主要是由於區塊鏈的傳統單鏈結構以及網絡傳輸延遲導致的,因此近來提出的DAG結構、交易打包方式、交易分片處理方式均是為了提高區塊鏈吞吐率而做的研究。

確認時延長是競爭類區塊鏈共識算法都具有的問題,針對此問題可以通過在上層疊加快速確認協議加以改善。

我們認為下一代區塊鏈必須滿足以下特點才能真正支持安全、高效、靈活的應用落地:

1) 基於PoS的共識算法,避免對外部資源的安全性依賴,消除來自系統外的攻擊威脅。

2) 堅持去中心化設計,避免將系統共識權利委託給少量節點,否則將倒退為已有的中心化系統。

參考資料:

參考資料:

參考資料:

[1] Fan L, Zhou H S. iChing: A Scalable Proof-of-Stake Blockchain in the Open Setting. https://eprint.iacr.org/2017/656.pdf

[2] Gaži P, Kiayias A, Russell A. Stake-bleeding attacks on proof-of-stake blockchains. 2018 Crypto Valley Conference on Blockchain Technology (CVCBT). IEEE, 2018: 85-92

星球君的朋友们
作者文库