區塊鏈技術資源分享
追尋中本聰先生的腳步
?

POS共識攻擊方法:長程攻擊Long Range Attack_無利害攻擊Nothing at Stake_在公鏈項目早期,為什么PoW是一個更好選擇?Conflux中文社區

在傳統的互聯網公司或金融機構中,如果一家公司,在一年之內,被委托的交易結算的總量為萬億美元的話,這家公司要么擁有可靠的技術和雄厚的資本,要么就是其它大公司及政府為其信用來做背書。

比特幣卻在沒有政府或公司背書的情況下,在過去一年內支持了相當于一萬億美元的交易。這是因為比特幣的工作量證明(PoW)機制確保了全世界的比特幣礦工以點對點的方式去分布式地維護賬本,且保證了其正確性和不可篡改性。

實際上,PoW 協議并不完美,它在運行過程中需要消耗大量的能量來計算哈希函數的結果,以保護區塊鏈系統不被攻擊。

很多人認為這是一種“無用的能源消耗”。為了避免這種消耗,股權證明協議(PoS)便作為替代方案被提出。包括以太坊在內的幾個著名的項目也開始探索股權證明協議(PoS), 甚至有人認為,PoS協議在未來將完全取代PoW協議。

但是,在對 PoS 協議進行了深入的技術剖析之后,我們會發現:在一個公鏈項目的早期階段,PoS 協議會帶來很多問題,而這些問題在PoW協議下是可以避免。

首先,使用PoS協議啟動主網的公鏈項目,會不可避免地存在共識中心化的問題,因為主網上線的時候股權分布往往是相對集中的。

此外,純 PoS 協議還面臨著遠程攻擊(Long Range attack)的威脅。最嚴重的遠程攻擊會導致新加入的節點必須信任一些中心化的網站給出的信息,而這會導致 PoS 公鏈成為一個本質上中心化的網絡。去使用PoW協議啟動主網的區塊鏈則可以實現分散的共識,從而避免這些問題。當PoW公鏈經過一段時間的發展,股權分布相對分散以后,還可以選擇PoW/PoS復合機制。

除此之外,還有一點值得注意的是,很多人誤以為比特幣的擴容問題是PoW機制的局限性造成的。

我們經常在媒體網站或白皮書中看到這樣的句子,“比特幣因為使用了PoW機制,所以只能處理每秒3-7筆交易”。

而事實上,經過適當的設計,例如,GHOST, Conflux 這樣的PoW算法可以顯著提高出塊效率,達到每秒處理數千筆交易,且每筆交易都能得到全網節點的驗證。

PoW v.s. PoS:如何確定投票權

關于PoW和PoS之間的主要區別,就是在于如何確定區塊鏈共識中的投票權。 在PoW中,系統中的投票權與節點的計算能力成正比。每秒可以計算哈希函數次數越多,節點就越有可能贏得區塊鏈中下一個區塊的出塊權。而在PoS中,系統的投票權與持有的股權比例成正比。

節點擁有資金越多,能為確定的下一個區塊投的票數就越多。

在公鏈早期階段,股權中心化將導致共識中心化

對于一個公有鏈來說,其上線初期往往是股權最集中的時候。

在主網上線伊始,創始塊中分配的幣絕大多數屬于項目方和私募投資人,而這些人的數量往往非常有限。對于PoW共識機制,初始股權的集中不會帶來安全性問題,因為它的出塊和安全性不依賴于股權持有的分散,而是依賴于算力的分散。對于使用反 ASIC 礦機的挖礦算法的公有鏈來說,任何人只要擁有顯卡和網絡就可以成為礦工,這有助于促進更多人參與挖礦,實現早期算力的分散。只要超過50%的算力來自于誠實的礦工,區塊鏈中的交易就是安全不可逆轉的。

然而,在PoS共識機制下,股權集中會導致共識協議的參與者集中。區塊鏈的出塊權只能由少數在創世塊中擁有股權的玩家決定。如果這些人合謀對區塊鏈進行攻擊,則完全可以成功的實現雙花攻擊(Double spending attack). 盡管開發者和投資人出于利益考慮不會進行這樣的攻擊來摧毀他們自己的公鏈,但PoS公鏈也無可避免的在主網上線后就被這些人壟斷和支配。更糟的是,如果出塊可以獲得大量獎勵和交易費用,這些壟斷者就會將大量股權牢牢控制在自己的手里,使得PoS公鏈成為一個本質上由巨頭控制的網絡。

我們不要忘了,區塊鏈的核心價值是什么?是去中心化的共識協議,保證了區塊鏈系統中每筆交易的正確性、不可篡改性。如果共識協議無法保證參與者的分散,區塊鏈就無法做到無需信任的安全性,那么區塊鏈和傳統的分布式系統相比就沒有任何優勢了,甚至傳統的分布式系統能做得更經濟更高效。因此,公鏈項目在早期使用PoW, 是避免共識中心化,保護區塊鏈核心價值的明智選擇。

“長程攻擊”Long Range Attack與“主觀依賴”問題

在一個公有鏈中,一個攻擊者如果擁有當下足夠多的算力或股權,無疑是可以打破公有鏈安全性完成攻擊的。但是在 PoS 公鏈中,如果攻擊者獲得了一些賬戶的私鑰,這些私鑰在歷史上某一時刻控制了超過51%的股權,也可以完成攻擊,這種攻擊的方式被稱為長程攻擊(Long Range Attack)。

在長程攻擊中,攻擊者首先獲得一些私鑰,只要這些私鑰在歷史上曾經獲得了足夠多的股權,便可以從這一時刻開始分叉進行 51% 攻擊,制造一條分叉鏈出來。而 PoS 的出塊不需要進行工作量證明,攻擊者可以短時間內讓重寫歷史的分叉鏈追趕上原本的主鏈,從而造成PoS鏈的分叉和防篡改性被打破。

長程攻擊(Long Range Attack)-pos

攻擊者能夠取得這些私鑰不是天方夜譚。

如果PoS公鏈的早期投資人在二級市場將持有的代幣賣掉后,將賬戶私鑰賣給攻擊者,攻擊者就可以從創世塊進行長鏈攻擊,從而可以打破一個鏈的安全性。如果一些投資者追求短期收益而非價值投資,攻擊者從他們手里獲得私鑰就成為了一個可能的事情。

而為了應對長程攻擊,則有各種各樣的解決方案被提出:例如使用密鑰演化算法更新密鑰,以避免密鑰被盜。但是如果早期投資者一開始就決定通過出售私鑰獲利,那么他完全可以保留密鑰種子以繞開這一限制。還有一些解決方案基于這樣一個事實:如果攻擊者挖了一條完全不同的鏈,長期在系統中運行的節點或許有能力探測出這種異常。但是,這些方案依然存在如下問題:

PoS 長程攻擊造成的分叉與 PoW 的分叉有所不同。

PoW 的分叉鏈難以獲得比特幣全網算力,比特幣礦工很容易從總算力中辨別誰是真正的比特幣。

鑒于PoS共識協議在實際運行時,絕大多數股權持有者只是區塊鏈的使用者,并不會一直運行一臺服務器。攻擊者只要在一個歷史節點擁有了相當與PoS實際參與者的股權比例,就可以制造出一條難以辨別的分叉鏈出來。配合女巫攻擊(Sybil Attack),攻擊者可以從區塊歷史和節點數量上都獲得和被攻擊主鏈接近的水平,令新加入的節點無法區分,只能通過人工指定的方式選擇。

這樣新參與者必須咨詢受信任節點來安全地加入系統,這一問題被稱為“主觀依賴”(Weak Subjectivity)

無利害攻擊(Nothing at Stake)

無利害攻擊(Nothing at Stake)是另一種PoS攻擊方式。當一個 PoS 鏈因為網絡延遲、長程攻擊或其他原因出現分叉時,PoS 礦工可以選擇在兩個分叉的鏈上同時出塊,以獲取最大收益。而這違反了共識協議。

在 PoW 鏈中,如果一個礦工想同時在多個分叉上挖礦,就必須將自己的算力分散在多個分叉上,所有分叉上分配的算力總和不會超過礦工擁有的總算力。對于多數礦工而言,將自己的全部算力投入到協議指定的鏈上是最優的選擇。

然而,在 PoS 多個分叉上同時出塊所帶來的額外成本可以忽略不計,而選擇同時出塊可以保證無論哪一條分叉鏈最終勝出都可獲得收益。如果礦工遵守共識協議,只在協議指定的鏈上挖礦。一旦這個鏈被丟棄,礦工將會失去挖礦獎勵。只追求挖礦收益最大化的礦工會在兩邊同時參與,不惜因此打破協議——這會導致鏈長時間維持分叉的狀態。

與長程攻擊不同,精巧的激勵機制設計可以避免這一攻擊。但無利害攻擊依然表明讓PoS鏈正確地運行是一件很困難的事情。

無利害攻擊(Nothing at Stake)-pos攻擊方式
總結

雖然 PoS 具有節省能源等優勢,從而很多項目表示將采用PoS。

但我們在分析區塊鏈安全性假設后發現,避免了計算“無用的哈?!敝髸牒芏喙羟樾?,而且目前沒有很完美的解決方案。

誠然PoS有能源效率的優勢,但也帶來了很多安全性威脅。在PoS很好地解決這些威脅之前,PoW消耗的能源,就像和平時期國家軍隊用掉的軍費一樣,阻擋了很多潛在的威脅。最重要的是,其中許多威脅在區塊鏈項目早期顯得尤其致命。這也是我們為什么相信新的公鏈項目應該從PoW開始。


本文內容由 Conflux中文社區(訂閱號Conflux-Chain)提供,版權歸原作者所有。


神吐槽:

任何系統開發都需時間進行測試,都會有無數的BUG出現。

POW模式是經過中本聰十年的時間驗證,沒有出過一次錯誤,所有一個項目想要盡快上線,POW是最好的方案。

隨著時間的發展,權利的分配,再逐漸轉換的到分紅幣模式的數字貨幣挖礦節點POS。


POS共識攻擊方法:長程攻擊Long Range Attack_無利害攻擊Nothing at Stake_在公鏈項目早期,為什么PoW是一個更好選擇?

分享到:更多 ()
0
區塊鏈神吐槽
pi幣注冊流程教程圖解中文版

來評論吐槽 搶沙發

評論前必須登錄!

 

區塊鏈資源分享聯系我

區塊鏈資源分享聯系我首頁更多新聞
做滴滴代驾还是开滴滴那个赚钱