支撐POW安全性的不是算力,而是信仰;
人們嚴重高估了POW的安全性;
POS的存在只需要一個理由:它能解決POW51%攻擊的隱患;
StakingEconomy對POS是有害的,它會降低POS系統的安全性;
POS真正無解的問題是無利益攻擊
……
這篇文章系統性地分析了POW與POS的安全性優劣之處,得出了很多不同的結論。文本信息密度很大,讀下來需要不少耐心,推薦各位收藏后閱讀。大多數人用經驗理解POW和POS,而經驗往往是錯的。
本文作者:Maxdeath,任之劼博士,唯鏈區塊鏈高級研究員,主要研究方向包括區塊鏈共識算法、擴容、應用,曾在國際學術會議上發表多篇區塊鏈論文。
最近正好是一些明星POW和POS項目準備主網上線的高峰期,于是,關于POW和POS優劣的比較又甚囂塵上。我之前看過了很多的這方面的文章,不知道為什么,總是有種如鯁在喉,有些東西不吐不快的感覺——大部分人比較的POW和POS并不是一個層面上的東西。
POW是一個在現實中采用更多的算法,而POS,尤其是現在意義中的POS是一個目前僅存在于理論中的東西;同時,POW是一類算法,POS也是一類算法。因此,我們不能在考慮簡潔、考慮實用、考慮安全的時候,就拿比特幣的POW出來比,然后在考慮效率、考慮去中心化的時候,又拿出另一個不同的POW出來。
所以,在這里,我想要從更根本性的角度來比較這兩者。換句話說,我們想要比較的不是比特幣的POW與以太坊的casper,也不是目前階段的POW和POS,而是POW和POS這兩種思路的未來和前景,哪個更加適用于區塊鏈的治理和運行。
因此,我們必須拋開現有的POW和現有的POS的一切限制,從本質上,或者說,從一個理想的狀態下探討,兩者根本的區別和局限在哪里。
1
POW與POS的本質
那么首先,我們需要定義一下POW和POS。
首先,兩者都試圖達到一種“隨機選節點出塊,選中概率正比于節點的某種可驗證的資源,然后,由于我們采用最長鏈共識,于是想要推翻已經得到確認的塊需要掌握50%以上的資源”的狀態,只不過兩者的資源一個是工作量,一個是擁有的幣。
從這個角度,我們來看看兩者究竟有什么是不可或缺的:
POW:能夠提供進行了某些工作量的證據的節點獲得出塊權。POS:在某個時間之前提供自己擁有某些幣的證明的人獲得出塊權。
僅此而已。
在這篇文章中,我們進行的一切比較都僅僅基于以上這個定義,以及兩者的這一個不同點,然后通過邏輯推理來進行。
當然,我也無意于純從理論的角度來進行比較,因為其實兩者都有所謂的理論“安全性”、但實際上都建立在某些不那么現實的假設之上。因此,我們也需要考慮兩者在現實,也就是我們所在的這個社會中,在目前以及不太遠的將來,應用于區塊鏈的優劣。
也就是說,我們假設,從功能上,我們可以在近幾年找到這樣兩個理想的算法。如果我們希望用于一條公鏈,那么,二者孰優孰劣?
2
POW與POS的安全性
POS最經常被人詬病的一點,是POS還沒有經過實踐的檢驗,而POW則已經在實踐中被證明是安全的了。
然而,正相反。
事實是——POS還沒有在實踐中被證明是不安全的,而POW則已經在實踐中暴露了極大的安全隱患——51%攻擊。
這不是天方夜譚,也不是杞人憂天,51%攻擊對于幾乎所有采用POW算法的數字貨幣的威脅都是實實在在的。這也是為什么我們在談論POS的最大原因——不是因為POW浪費電力,不是因為POS的經濟模型更加公平,不是因為POS聽起來更加炫酷,而是因為——
歐易OKX提出的比特幣生態標準BRC20-S正式開放部署,即將開放質押:7月11日消息,歐易OKX提出的比特幣生態標準BRC20-S現已正式開放部署,允許項目在歐易OKX部署BRC20-S質押池,為BRC-20資產持有者提供生態獎勵。此外,BRC-20資產質押功能即將開放,第一期將支持除BTC以外的所有BRC-20資產質押。
歐易OKX表示,BRC20-S為開放標準,歐易OKX不會對部署池進行審核,用戶可自行選擇池子進行質押,BRC20-S標準旨在為比特幣生態引入質押機制,可讓用戶在不出售BRC-20資產的前提下通過質押賺取收益,同時也可讓項目方將BRC20-S資產分發給比特幣或BRC-20資產持有者,從而助力比特幣生態發展。[2023/7/11 10:48:01]
POW已經暴露出極大的安全隱患和問題,而POS可以解決這個問題。盡管在其他方面POS也許都并不一定優于POW,但是這一點就足以成為我們需要POS的理由。
51%攻擊的核心問題描述起來是這樣的:
在一個理想的區塊鏈中,從安全的角度考量,共識的參與者的利益應當與區塊鏈本身的利益一致。于是,51%攻擊才是不可行的,因為能夠在共識中占有主導地位的參與者不會愿意去攻擊這個區塊鏈,否則他們會損失自己的利益。
然而,這點對于POS成立,對于POW不成立。因為礦工在系統中所占的利益實際上遠小于整個系統的價值。換句話說,當兩者有沖突的時候,POW礦工完全有可能因為自己的利益而進行惡意行為,這里,“自己的利益”也許是對于區塊鏈的主導權控制,也許是對于區塊鏈發展未來的理念,也許,是雙重支付攻擊的獲益。
如果你認同這一點,你可以不用看以下的長篇大論。如果你不同意,下面我將對POW的這種安全性風險做一些詳細的分析。
2.1
POW的安全性
實際上,POW的安全性遠小于大眾認知中的POW安全性。
在大眾認知之中,只要大多數算力是誠實的,比特幣就是安全的,而控制大部分算力是不可能的。
實際上,這個假設也被廣泛應用于幾乎所有共識算法中——無論是POW,POS,BFT,還是其他的各種POx,我們都在采用類似這種假設——即,如果大部分節點或者資源,也許是1/2,也許是2/3,也許是算力,也許是權益,或者是別的什么東西,是誠實的,那么,系統就是安全的。
然而,這個假設本身并不天然成立——所以,在比特幣白皮書之中,中本聰并不是直接就說“我們假設50%以上的算力誠實”,而是說:
“如果有人能夠控制51%的算力,那么他完全沒有必要進行51%攻擊,因為它能夠通過挖礦來獲得更好的收益,而51%攻擊會讓他之前所挖出的幣和他的礦機變得一文不值。”
也就是說,并不是POW不會被51%攻擊,而是對POW進行51%攻擊不劃算。
那么,對POW進行51%攻擊真的不劃算嗎?
有人可能會說當然——“比特幣從沒受過攻擊,這是因為攻擊比特幣的代價高昂到你無法想象。”
然而,實際上稍微關注一些區塊鏈安全的都清楚,關于POW的51%攻擊已經不勝枚舉——比較近的有Verge,BTG,ETC……這些都遭受過51%攻擊,并且他們都采用POW算法,而且,是采用的跟比特幣和以太坊一樣的算法。
從這個角度講,安全的究竟的是比特幣,還是POW?
有人會說我偷換概念:這些山寨幣能和比特幣一樣嗎?這些山寨幣價格本身就沒夠得上51%攻擊的門檻——我隨便自己做一個xx幣采用比特幣POW進行挖礦,然后被51%攻擊了,這也能說明POW不安全?
但這個解釋并不足夠——因為在之前的邏輯中,我們并不是說POW不會被51%攻擊,而是說51%攻擊不劃算。如果我自己造了一個xx幣然后被51%攻擊了,攻擊者沒法從中獲益。但是之前的那些例子中,攻擊者可是實實在在地在攻擊中獲益了。
Nebula Capital發起規模1億美元的第一期Web3.0基金,重點關注文化內容產業:10月24日消息,Nebula Innovation Limited旗下Nebula Capital發起的第一期1億美元Web3.0基金,該基金將重點關注文化內容產業的web3.0轉型和原生web3.0的IP品牌化建設,以及web3.0賽道的基礎設施建設。
Nebula Capital由Maggie Yip女士聯合宋歌先生和許英龍先生共同發起。該基金將文化和藝術領域的優質資源,與區塊鏈的先進技術有機結合,在Web3.0領域進行積極探索。
該基金預計募資額1億美元,據悉已在家族基金、文娛行業、區塊鏈行業等頭部機構簽署超過3000萬美元的投資承諾書,將于年底前完成募資。[2022/10/24 16:37:06]
那么這條邏輯哪里出了問題?
難道Verge,BTG,ETC的礦工們,不知道自己可以通過挖礦賺更多的錢嗎?他們不知道如果攻擊了這些幣,會導致幣價降低,于是自己之前挖的礦會一錢不值嗎?
究竟比特幣和這些幣種之間的差別在哪?難道只有價格嗎?
2.2
POW的51%攻擊分析
“POW的安全支撐不是算力,而是信仰”
讓我們來分析一下這幾次攻擊真實的情況:
通過挖礦賺更多的錢是不存在的,51%攻擊會導致他們手中的幣值貶值也是不存在的,因為他們本身在攻擊之前就不需要和這個區塊鏈有任何瓜葛——他們的算力是從比特幣的礦池切過來的,而他們本身也并不持幣,只是需要從交易所購買一些幣,賣掉,然后在交易所還沒有察覺的時候進行雙重支付攻擊再賣一次而已。
所以,歸根結底,POW的邏輯問題在于,理想中擁有超過50%算力的礦工應該是和系統利益保持一致的。例如,對于數字貨幣而言,系統的利益就是安全性,而礦工的利益是挖礦收入,那么挖礦的預期回報應該十分豐厚,使得礦工愿意維護系統的安全性,所以不愿意進行雙重支付攻擊。
然而,挖礦的回報要豐厚到什么程度才能夠完全抵御雙重支付攻擊呢?
我們來仔細分析一下挖礦的投入和收益,以及雙重支付的投入和收益。這里,我們假設第一個條件已經成立,即礦機除了挖這種幣之外沒有其他用途。
挖礦投入:礦機費用電費*時間。挖礦收益:算力單位算力挖礦獲得的幣數幣價收益帶來的利息
雙重支付投入:礦機費用交易手續費獲得算力和雙重支付期間造成的幣價波動
雙重支付收益:雙重支付獲利利息-風險
首先,我們先把所有一次性的成本放在一旁——礦機費用,獲得算力和雙重支付攻擊期間幣價波動,以及雙重支付攻擊的風險。
兩者相比我們發現,考慮長期收入的話,當有礦工已經擁有超過50%算力的時候,幣價或者投資幣的收益并不是阻礙他進行51%攻擊的理由——因為他完全可以把進行51%攻擊的得利來進行別的投資。
于是,“幣價高”是不足以抵御雙重支付攻擊的,“幣價持續走高”也不足以抵御雙重支付攻擊,因為單位算力的獎勵幣數還會隨著總算力的提高而減少,甚至,“單位算力獲益持續提高”都不足夠,因為必須得是“單位算力的幣價走高的程度要超過其他投資品,即:攻擊者找不到比投資算力更合算的投資了”才能完全抵御雙重支付攻擊。否則的話,從理論上講,總有某個程度的獲益足以誘使51%的算力鋌而走險進行雙重支付攻擊。
然而,如果預期挖礦收益能夠跑贏其他投資品,如果這個系統足夠去中心化,那么應該會有更多的人來挖礦,導致單位算力的收益降低。除非正在挖礦的人對于挖礦收益的預期和沒有加入挖礦的人不一樣——也就是“信仰”。
谷歌前CEO:Chainlink比其競爭對手擁有“更好的技術”:金色財經報道,谷歌前CEO Eric Schmidt聲稱,Chainlink擁有“更好的技術”,而且比其競爭對手“擴展性更好”。Schmidt12月以戰略顧問身份加入該公司。(decrypt)[2022/10/2 18:37:15]
由于有信仰加持,再加上沒有加入的人獲得了“沒有信仰”的減持,因此礦工認為投資算力是劃算的,而沒加入的人認為投資算力是不劃算的,在這樣的場景中,擁有了50%以上算力的礦工才不去進行雙重支付攻擊。
而相反,如果加密貨幣變得足夠主流而算力變成了正常投資品中的一種,那么,正如大家在看到幣價高漲的時候把自己從銀行、股市、基金、理財中的錢拿出來投資虛擬貨幣一樣,當挖礦的回報不佳的時候,還有什么可以驅使擁有51%的礦工不把自己的錢從算力市場抽出來投入別的行業呢?如果這個時候,他發現可以進行一次51%攻擊,而攻擊的獲利會超過自己把算力賣掉能夠抽出的錢,那么,他有什么理由不這么做?
這個結論本身就已經足夠令人警醒了,但是它揭露出來的意義其實更加深遠:當礦工擁有51%算力的時候,我們一廂情愿地認為他們的利益已經綁在這個區塊鏈上了。然而事實是,支持著他們繼續挖礦的理由和支持他們進行任何一個投資的理由的唯一區別,大概就只有信仰。
而這個“信仰”,其實也無非只是“挖礦能賺錢”,無論加密貨幣以后變得主流,還是最終變得式微,這個信仰都會慢慢褪掉。到了那個時候,只要當他們發現挖礦不劃算的時候,撈一筆下車才是他們的最佳選擇,唯一的問題只是這一筆他們能撈多少。
“礦機成本不是攻擊成本的一部分”
那么,問題來了——我們能通過一筆雙重支付撈多少呢?這個值不能太大,因為:1)你需要能夠從市場上收購到這么多幣;2)賣掉這么多幣不足以引起市場立刻的警覺。
于是,之前很多我們忽略掉的東西變得不可忽略了,例如——礦機費用,交易費,幣價波動,以及其他的風險……
而這里,礦機費用實際上是直觀上最容易看到的門檻,也是很多人對于POW信心的根源——獲得50%的算力哪有那么容易?你去看看現在這些POW鏈的算力然后去根據相應礦機的市場價格算一算就知道了。
但我們其實并不需要購買礦機,我們只要收購算力就夠了。換句話說,我們只要買通控制算力的人。而對于擁有算力的人來說,別忘了我們之前的分析——從利益的角度講,他們可并不是被綁在鏈上的,只要有足夠的回報,他們隨時可以下車。
這里又有兩種情況:
1、他們的礦機除了挖這條鏈還有其他用途。
2、他們的礦機除了挖這條鏈沒有其他用途。
通常,我們認為后者是更安全的。用實際中的例子來說就是,如果我們要發個POW的新幣,那么采用和主流貨幣一樣的算法是不安全的,而采用特殊的POW算法要更安全。
然而,實際上兩者同樣不安全——
首先,“有沒有其他用途”的判斷是完全主觀的,因為本身“攻擊者是否采用攻擊”的判斷就是主觀的。如果我們判斷這個礦機在攻擊之后還有其他用途,那么礦機的成本不需要計入攻擊成本之中。如果他們判斷礦機在攻擊之后沒有其他用途,那么,既然攻擊的前提條件是他們判斷礦機的投資從長期看不劃算了準備下車,那這個時候,礦機已經是沉沒成本,并不需要計入攻擊成本之中。
有人可能會說我在偷換概念——即便是繼續挖礦不賺錢,也不代表礦工會把算力賣給攻擊者啊!
但事實是,本來礦工就在把他們的算力賣給礦池,那么,誰能知道那些給你的獎勵比別的礦池多的礦池不是攻擊者呢?這點,我們會在后文中展開說。
“POW中,51%攻擊的成本僅相當于其市值的1/100,000”
Shiba Inu:巨鯨在一筆交易中購買了3.37萬億SHIB:金色財經報道,一個新的巨鯨在一筆交易中購買了3.37萬億枚SHIB,價值約4276萬美元。根據Etherscan.io上的數據,該巨鯨大約在一天前出現,就買入了數萬億的SHIB。目前關于相關錢包所有者的信息知之甚少。[2022/9/8 13:16:59]
現在,我們回到之前的結論——我們嚴重高估了POW的安全性。
1、首先,人們認為51%攻擊需要購買能夠提供這些算力的礦機,實際上并不用,只需要從算力所有者手中收購相應的算力即可,而收購算力的成本和礦機本身的成本無關,只和算力所有者的預期回報有關。這個收購可能會相當容易,因為只需要制造一個回報比別的礦池略高的礦池就好了。
2、其次,人們認為采取51%攻擊不劃算因為挖礦也可以獲得更豐厚的回報,實際上也不是,因為攻擊之后你可以一次性獲得現金,而那這些現金你可以去進行其他投資,同樣可以獲得豐厚的回報。于是,不要說幣價下跌或者不漲這種事了,只要投資挖礦跑不贏其他投資,它的安全性就會下降。同時,無論是熊市導致礦工群體的信仰值下降,還是牛市導致民眾對于挖礦投資的信仰值上升,它的安全性都會下降——只有當挖礦的人覺得特別賺錢而不挖礦的人不愿意進來的時候,挖礦獲益是最大的,而安全性也是最高的。
3、再次,POW剩下的唯一安全性,就在于幣價的波動,手續費和安全風險了——換言之,就是在將這些貨幣兌換出去的風險,然而,這些風險實際上都被交易所承擔了。因為交易所為了互相競爭,會盡可能提供更低的手續費,更好的流動性,以及更快捷的轉賬,也就是,削減雙重支付攻擊的成本,也削減了POW的安全性。
于是,再減去這些,我們得出了一個結論:其實POW的安全性,基本上約等于獲得50%算力的成本,而這個成本只和收益相關,而和算力本身的成本無關。
如果算力有一個相對公開透明和自由的市場,那么,只要你去crypto51.app上去看一下,租賃一小時算力的成本,幾乎就是攻擊每個貨幣的成本。如果算力無法通過公開的市場得到而需要從算力控制者手中收購的話,那么考慮到需要支付給所有者的溢價,這個值可能會高于crypto51上的估計。但無論如何,它和這個貨幣的總市值相比非常微不足道,大概在1/100,000這個級別。而這么小的交易額造成的波動幾乎可以忽略不計。
根據這些分析,我們不難理解為什么Verge,BTG和ETC會受到攻擊,我們甚至可以總結出什么樣的幣種更加容易受到攻擊:
算力易于獲得并且獲得成本低:這三種貨幣都采用和主流貨幣一樣的POW,從算力租賃的網站上就能簡單獲得足夠攻擊的算力。幣值漲勢不佳。
被許多交易所接收。
2.3
POS的安全性
那么,為什么POS能夠抵御51%攻擊呢?
其實說起來非常容易——我們根本不用進行類似于POW這么詳盡的分析,POS也天然免疫類似于POW這種形態的51%攻擊,因為51%攻擊無論如何繞不開的成本是50%以上的持幣,而任何對于這個幣的攻擊導致的幣價下降,損失最大的都只會是50%以上的持幣者本人。
但這里我們沒有考慮的一點是StakingEconomy,也就是未來POS也會形成和POW一樣的“權益礦池”,即不愿意花精力參與共識的持幣者把出塊權委托給某些更大的持幣者或者比較有聲望的機構,然后只收取挖礦獎勵。于是,對于POS進行51%攻擊就不再需要收購這些幣,而只需要暫時控制超過50%概率出塊的礦池就行了。
不過,即便是這樣,POS攻擊的成本也會遠高于POW。
因為首先,與POW需要持續投入電費,以至于小礦工必須加入礦池來獲得持續的收入不同,POS中持續投入的服務器維護費用要遠小于POW,所以算力集中于大礦池的可能性會小于POW。也就是說,即便StakingEconomy真的在POS鏈中出現,也未必一定會出現幾大礦池壟斷的情況。
ETH突破1600美元,24H漲幅為1.56%:行情顯示,ETH突破1600美元,現報1602.31美元,24H漲幅為1.56%。[2022/7/24 2:34:23]
并且,最重要的是,擁有一定數量的幣的節點也完全可以并且有意愿自己維護一個節點,而不用依賴礦池。尤其是一些大的持幣者——你很難想象他們不愿意維護全節點,也就是說他們并不關心這個鏈上出的塊。另一個最重要的原因是,與POW不同POS出塊是需要持幣人簽名的,因此POS礦池在作惡的時候可能會付出更大的社會代價,而對于POS礦池而言,由于他們實際上挖礦所需要的設備投入遠小于POW,所以他們在現實之中社會地位和信譽的成本反而是最高的。
當然,其實這幾點都改變不了一個結論,就是StakingEconomy這種委托進行共識的做法的確會削弱POS的安全性。
因此,我個人對于StakingEconomy這種東西的觀感并不正面,同時,很多POS項目也同樣對于StakingEconomy所帶來的安全隱患有所意識,所以會對相關機構進行規范,比如要求一定的持幣量。但無論如何,就如同POW礦池一樣,POS的StakingEconomy也是無法避免的,但兩者相比的話,如果被委托的機構是大持幣人的話,那么最終也只是把攻擊成本從50%變成了一個更小的比例,比如10%,但絕不會像是POW一樣,是1/100,000這樣的級別。
以上,我們說明了在POS中進行50%攻擊的成本很高——那么從另一個角度講,如果花了這么高的成本,攻擊者有可能獲利嗎?答案是幾乎沒有任何可能,因為你總得找到有個冤大頭愿意和你進行這么大筆的交易——交易所幾乎不可能對這么大筆交易買單。所以說,唯一的可能是你找到兩個并不懂虛擬貨幣的冤大頭,然后進行一個真正意義上的場外的“雙重支付”……
不過如果真的存在這樣的人的話,似乎我們有簡單得多的方法可以忽悠他們。
然而,這還并不足以說明POS對于POW的安全優越性,因為我們只是說了在POW中適用的51%攻擊無法復制到POS,但POS本身會受到另外的兩種不存在于POW中的攻擊的威脅:長距離攻擊和無利益攻擊。
我們分別來分析一下這兩種攻擊。
2.4
POS的長距離攻擊分析
長距離攻擊的概念是,擁有不超過50%權益的節點可以通過某種方法生成一條更長的鏈,取代目前的最長鏈——這里所謂的“某種方法”通常都需要一段比較長的時間。它涉及到POW和POS的一個重要區別——POW實際上不僅僅能夠生成隨機數,而且能夠實現在異步系統中每隔一段時間生成一個隨機數,這個性質是POS不具備的,所以POS必須引入某些時間的概念。然而,這就給了惡意節點可乘之機,因為誠實節點獲得的出塊權是有時間限制的,而惡意節點沒有。
這一點本身,其實本不應該屬于我們這次的討論范疇,因為我們想要比較POW和POS的本質,而這一個問題其實并不是POS的本質缺陷,換句話說,POS可以通過一些方式,例如VDF,來解決這個問題。然而,有鑒于采用VDF解決這個問題的算法還不成熟,以及我個人認為其實目前的解決方案也是完全夠用的,所以,這里我還是詳細地講一講這個問題。
目前已知的長距離攻擊方法有三種:
1、向前腐化攻擊:當曾經的權益持有者賣掉權益之后,他們就不再受到持有的幣貶值的約束了,然而,如果超過50%的早期持幣者賣掉了手中的幣的話,攻擊者可以買通他們再重新生成一條他們沒有賣掉權益的歷史,然后有可能可以創造出一條更長的鏈。
2、權益流血攻擊:不到50%權益的節點可以通過“藏一條鏈自己的鏈”這一非常簡單的方式進行長鏈攻擊,因為在自己的鏈上,因為出塊的只有自己的節點,所以他們會一直獲得挖礦獎勵。雖然一開始他們生成的鏈一定短于外面的鏈,但是只要他們藏的時間足夠長,他們的權益終將超過50%,并且慢慢地獲得更快的出塊頻率超過外面的鏈。
3、權益粉碎攻擊:這種攻擊方式在不同的POS中有不同的形式,但總體來說,擁有不到50%權益的節點可以利用自己算力上的優勢,或者自己可以隨意改變區塊時間戳的優勢,獲得比誠實節點更多的出塊機會,然后利用這個優勢通過一段較長的時間生成比誠實節點更長的鏈。
通常應對這三種攻擊的應對是檢查點,即一段時間需要生成一個由一些節點認證過的區塊來保證這個區塊之前的鏈不會再更改。
“如果能接受下載客戶端,那么為什么不能下載檢查點?”
對于很多更理想主義的區塊鏈支持者而言,檢查點機制是個不那么“優雅”的權宜之策,因為它犯了幾個區塊鏈支持者不能接受的罪過:
1、理想狀態的區塊鏈中,任何人都不需要相信除了算法和創世區塊之外的任何東西就可以獨立驗證任意交易的合法性。然而,檢查點相當于引入了一個另外的需要信任的東西。即便這個檢查點是所有持幣者簽名認證的,從理論上來講這也是不可接受的,因為對于新加入系統的節點而言,他們需要信任曾經的持幣者;
2、檢查點需要引入簽名,而簽名會破壞匿名性。
關于匿名性的問題,我們同樣放到后文中深入討論,這里我們先說第一個問題。
這里我想要闡述一下我對于檢查點這個機制的觀點——從現實的角度看,這個事真的不能接受么?
實話實說,如果你是個剛剛進入網絡的節點——下載創世區塊和算法,以及下載下載創世區塊,算法和歷史,有什么本質上的區別?后者無非就是多了一種可能性,即惡意節點可以通過長鏈攻擊偽造一份歷史,于是盡管你獲知了正確的算法和創世區塊,你其實并沒有獲得真正的鏈。
但問題在于,對于普通用戶而言,你怎么知道你下載的客戶端用的是正確實現的算法呢?雖然從理論上來說我們需要信任的只是算法而已。但實際上,無論是現實,還是未來,我都有理由相信,沒有人會從頭開始做算法的實現——實際上,每個人還是需要信任某些可信節點來提供的安全的客戶端,也就是軟件,而且,沒有人會去扒開代碼看看這個軟件是否和論文相符。
那么這樣,我們假設需要依賴可信節點來獲取區塊的歷史,這也不是什么十惡不赦的事情。
“鏈外共識是客觀存在的”
然后,就有了第二個問題——的確,長距離攻擊是可能的,正如51%攻擊也是可能的一樣,我們不光要考慮這種攻擊理論上的可能性,也要討論它在實際之中的條件。
我們在前面論證了51%攻擊對于POW的危險性的時候,先是分析了它理論上的可能性,然后,再分析了它在現實中攻擊的條件,發現其實無論是在理論上還是實際上,條件都要比大眾認知中的低得多,于是,我才得出了POW有安全隱患的結論。
那么,我們同樣分析一下以上幾種長距離攻擊在現實中生效的條件。
首先,無論是權益流血攻擊,還是權益粉碎攻擊,成功的概率都依賴于你擁有的權益比例。換句話說,雖然攻擊者沒有超過50%的權益所以沒法正常的生成一條更長的鏈,但是如果他們擁有,例如說40%的權益,那么,他們可以通過以上兩種手段,以及一個比較長的時間來進行長距離攻擊。
于是,大家已經看出這種攻擊不實際的地方了——當惡意節點的權益比較小的情況下,他們發動一次長距離攻擊會長得不現實。如果他們占有的權益比較多的時候,他們一沒有理由來攻擊這個系統,二所需要攻擊這個系統的成本并不比50%的權益低多少——這點本身就是POS的優勢。
唯一一種比較麻煩的長距離攻擊是“向前腐化攻擊”,而且,特指這些曾經的持幣者本身就是攻擊者的情況。因為如果這些攻擊者本身沒有想過要攻擊,只是再賣了幣之后被人買通這種情況是可以被一種叫做Key-EvolvingSignature的東西解決的。所以,他們必須要從持幣的時候就已經開始做好了攻擊的準備,即偷偷開始私藏一條鏈才行。
這其實相當于一個長時間的51%攻擊的情況,即以前的大權益所有者一邊私藏一條鏈,一邊緩慢地把權益賣掉,在權益全部賣光之后,掏出私藏的鏈告訴大家說:“我胡漢三又回來了,你們吃了我的給我吐出來!”
然而,我對于區塊鏈的核心作用的一貫看法是——區塊鏈的意義在于用“機器的共識”代替“人的共識”,但是,在目前這個階段,有些“人的共識”是我們目前解釋不了的,也沒法去取代的。而這個時候,盲目的去假裝這種“鏈外共識”不存在而粗暴地想要用某個算法在摒棄一切鏈外共識的情況下實現絕對的安全,是不實際的也是沒有意義的。
所以,我同意康奈爾大學ElaineShi教授對于這個問題的看法——實際上,如果這種情況真的出現,其實某一種叫做“社會共識”的東西會自然而然地去糾正它。更簡單一點說,對于任何一個POS鏈,假設它的早期權益所有者突然某一天拿著一條更長的鏈回來,對于現在的權益所有者說:把你們的錢都給我,現在的權益所有者,甚至說,不要說現在的權益所有者了,大概所有這條鏈的利益相關方,都會同仇敵愾創造出一個新的規則不承認這條鏈的合法性,即便從算法上這條鏈確實更加“合法”。
那么,一條不會被大部分這條鏈使用者所接受的鏈,和一條新創造出來的分叉鏈又有多大的區別呢?又或者說,在以太坊經過了幾次升級后的現在,一條根據原規則合法的鏈,例如ETC,是不是也可以算作一個長距離攻擊呢?
所以,歸根結底,所謂“社會共識”,無論是在現在,還是我們可見的未來,都是客觀存在的,因此,無論是這種長距離攻擊,還是其他的幾種長距離攻擊,即便上有理論上的可能,實際上,只要它仍舊需要一個很長的時間來進行,例如數月或數年,那么它的威脅其實非常有限。
然后,無論是引入檢查點,或者引入一個“委員會名單”,或者是引入“社會共識”,實際上都是引入一個“有某些可信的鏈外信息存在”的假設。而在我看來,在現實之中,無論是現在還是可見的未來,這對于POS的安全性都不是個問題。
2.5
POS的無利益攻擊分析
真正無解的問題是無利益攻擊。
POS對于無利益攻擊是無解的,這其實在任何POS里都一樣,因為根據POS的原理,它對于在這個系統中毫無利益或者利益很小的節點的約束就是很低的。
在一個極端狀況中,例如整個系統中有一億個節點所有人的利益都很小,那么任何POS算法都不安全,因為惡意節點行為造成的利益損失太少了,所以我們沒有理由認為50%以上的節點是誠實的,反而,如果他們能夠從惡意行為中獲益的話,根據公地悲劇,他們是一定會作惡的。
懲罰機制并不能解決這個問題,因為懲罰必須要和獲益相當,而在這樣的一個所有節點利益微小的系統中,要不然懲罰也只能忽略不計,要不然懲罰太高導致沒有人愿意進入這個系統。
因此,幾乎所有POS,都額外需要引入一個準入機制——要么是通過抵押,要么是有持幣數門檻,所有參與共識的節點必須保證他們擁有足夠讓他們在意從而約束他們行為的權益。
而這點在POW里是不一樣的,因為POW中無論你的算力多少,你損失的電費是逃不掉的。并且,因為你獲益的唯一方式是雙重支付——所以,當你的算力在不超過50%的時候,你作惡是嚴格不劃算的。
換句話說,實際上,對于POW而言,小礦工的作惡行為會受到很重的懲罰,因為在浪費算力的同時幾乎不可能有回報;而對于大礦工,他們的作惡行為則有可能獲益,因為他們聯合起來進行50%攻擊的收益可以遠超成本。
然而,對于POS,小礦工的作惡行為受到的懲罰很輕微,于是,只要作惡能夠獲益,他們就有動力去作惡;然而POS對于大礦工作惡的懲罰則極其嚴重,因為越大的礦工代表他們的權益越多,于是惡意行為造成的損失就越大。
這兩點,才是POW和POS的根本性區別。
如果比較兩者優劣的話,我們可以很明顯地看到:
在一個算力更分散,更平均的系統中,POW更合適。在一個算力更集中,更不平等的系統中,POS更合適。
我們已經比較了POW和POS的安全性問題,也得出了一些結論——但很遺憾的是,在一個非許可的公有鏈的環境中,實際上POW和POS最終都會趨向于一個算力更集中、更中心化和更不平等的系統。
為什么呢?這個問題我們留給下一篇講。
https://bbs.vechainworld.io/topic/264/pow與pos
如果你覺得這樣的文章對你才是真正有價值的,歡迎轉發分享給更多的人。如果這篇文章沒有看懂,可以在評論里留言自己不懂的問題,我們會請作者親自一一解答。如果有不同的看法也歡迎交流。
關于POW與POS的辯論,橙皮書之前還發過這些文章:
《PoW和PoS大辯論:誰擁有真實的開放性?誰能遠離熱力學的終局?》
《PoW與PoS的真正區別:判質費用決定了誰更適合構建貨幣》
親愛的LOEX用戶: LOEX國際站近期將上線XKY,敬請期待。代幣名稱:XKYChain英文縮寫:XKY發行總量:20億信仰鏈是為宗教慈善而生的區塊鏈.
1900/1/1 0:00:00親愛的用戶: 您好! VCC聯合ZG.COM舉辦瓜分送禮活動,具體活動詳情如下:活動一:充值可享等值送.
1900/1/1 0:00:00據BNNBloomberg報道,隨著金價攀升至1500美元的心理關口,另一種投機性資產也在上演復蘇。比特幣距離其歷史峰值還有很長一段路要走;事實上,它低于最近6月份的高點.
1900/1/1 0:00:00尊敬的ZG.TOP用戶:ZG.TOP即將上線非首發Launchpad項目——Fantom打折認購。此項目為Gate.iostartup優選項目.
1900/1/1 0:00:00由ZG.COM主辦的“二十城”計劃將于5月22日舉辦第二站-深圳站活動,本次活動圍繞解密行業發展,全球化戰略,項目上幣規則披露,鏈改等話題展開探討.
1900/1/1 0:00:00尊敬的Hubi全球用戶:喜歡你的旋轉木馬,更想和你閱盡繁華。Hubi祝您七夕快樂!這個七夕不用陪Hubi,Hubi超級合伙人與您相約8·12。Hubi超級合伙人將于8月12日14:00隆重上線.
1900/1/1 0:00:00