編者按:本文來自巴比特,譯者灑脫喜,作者VitalikButerin,Odaily星球日報經授權轉載。
北京時間2月20日-22日,由Findora主辦的2020斯坦福區塊鏈大會在斯坦福大學舉行,本次會議重點關注了區塊鏈系統中的安全工程和風險管理方法,探討通過加密技術的應用、去中心化協議、形式化方法和實證分析等,來提高區塊鏈系統的安全性。在第二天的會議上,以太坊聯合創始人VitalikButerin發表了題為《越過51%攻擊》的演講,在會議中,他首先提到了51%攻擊的不同類型,例如最常見的回滾交易攻擊,此外還有審查攻擊、輕客戶端攻擊、勸阻攻擊,以及最嚴重的覆巢式攻擊,他認為工作量證明加密貨幣很容易受到這些攻擊的影響,而權益證明加密貨幣,可以通過99%容錯共識、及時性檢測器等技術來檢測攻擊鏈以及審查攻擊,從而消除51%攻擊帶來的威脅。
(圖:Vitalik在2020斯坦福區塊鏈大會演講)以下是Vitalik的演講內容:51%攻擊能做什么?51%攻擊有不同的種類,它們可以對不同的應用執行不同的操作,并產生不同的結果和后果。你可能熟悉的一種51%攻擊是回滾區塊。你進行了一筆交易,把錢發送到了一家交易所,然后用這些幣換取了另一個幣,你提走這些換得的幣,然后進行一次51%攻擊,恢復你的存款交易……這就是過去10年來,我們一直在討論的主要的51%攻擊類型,也是我們考慮最多的一類。一、其他類型的51%攻擊1、1交易審查攻擊實際上,交易審查也是另一種51%攻擊!鑒于layer2協議和DeFi都是最近的大趨勢,交易審查變得尤其危險。在很多layer2協議的環境中,審查就意味著盜竊!因此,如果你能夠審查挑戰交易,那么你就可以從人們那里偷到錢。這不適用于zkRollup,但這種攻擊確實適用于人們現在正在考慮的絕大多數協議。在DeFi的背景下,審查尤其危險,因為它是一種工具,你可以通過它操縱市場,然后獲取價值。如果你能審查每一筆接觸Uniswap的以太坊區塊鏈交易,然后等待一天,那么以太幣的價格可能會有點波動,我就能從這次攻擊中提取出大量的套利價值。可以說,審查是危險的,在DeFi協議和layer2協議中,交易審查也可以被視為與盜竊相等。1、2輕客戶端攻擊很多人都在運行輕客戶端,如果你運行的是輕客戶端,那么51%攻擊可能會導致這些輕客戶端接受包含完全無效交易區塊的鏈。錯誤的簽名、格式錯誤的交易、未經授權的簽名,他們可以得到網絡接受的可用區塊。1、3數據不可用攻擊這里誰熟悉數據可用性問題?好吧,雖然不是所有人,但有很多人了解了它。這里的想法是,你可以在發布區塊頭的地方創建一條鏈。輕客戶端可以看到這條鏈,但不能在區塊體中發布部分或全部數據。這是糟糕的,原因是,如果數據沒有發布,那么它可能是正確的,也可能不是,而且又沒有辦法生成證據向其他人證明它可能是正確的,并且你拒絕了人們可能要創建未來交易的信息。也就是說,不可用的區塊也是很危險的。1、4勸阻攻擊勸阻攻擊是一個術語,它指惡意破壞其他參與者,導致其他參與者失去收入,并驅使他們與你合謀,或者被迫退出。1/3以上算力的自私挖礦就是這樣的一個例子。也就是說,51%攻擊也是非常強大的勸阻攻擊。1、5關于區塊鏈的不可篡改性所以說,51%攻擊是非常強大的,這類攻擊對于區塊鏈的不可篡改性而言是個威脅。誰還記得這個?一家交易所被盜走了一堆錢,他們考慮推動比特幣區塊鏈為期一天的逆轉,以便拿回這些錢。如果這樣的事情是可能的,那么區塊鏈內部的東西就可能被還原,區塊鏈就失去了其成為區塊鏈的關鍵屬性,這是可怕的。另外,51%攻擊不是民主的,它們是富豪統治的,所以作為一種民主方法,對他們而言是沒有什么好處的。二、現實中發生過的51%攻擊,以及最糟糕的51%攻擊場景
現場 | V神:rollups和分片結合以太坊TPS可達到2.5萬至10萬:金色財經現場報道,首屆區塊鏈服務網絡(BSN)全球技術創新發展峰會暨湖北區塊鏈技術創新大會11月27日在武漢舉行。以太坊創始人Vitalik在會上發表主旨演講表示,rollups可以提高擴展性,把以太坊的TPS從15-45提高至1000-4000。再把rollups和分片結合在一起,可以把以太坊的TPS提高到2.5萬至10萬。他還表示,rollups已經基本準備好了,但分片將需要更多的時間。企業會用私有鏈的原因之一是公鏈的可擴展性非常差,但以太坊 2.0將有非常好的擴展性。[2020/11/27 22:19:49]
在現實當中,51%攻擊是可以完成的,這是一張來自2015年香港比特幣擴容大會的照片。在這張照片當中,掌控比特幣90%算力的一些人坐在了一起,擺出了一副“我擁有權力”的姿態,哈哈。51%攻擊是可以完成的,例如ETC、BitcoinGold等都遭遇過51%攻擊,我肯定我漏說了1-2個,這些攻擊都是已經發生的。覆巢式攻擊實際是,我們目前所看到的51%攻擊,并不是最糟糕的。對于這類攻擊來說,覆巢式攻擊是最糟糕的噩夢場景。基本上,你需要獲得足夠的硬件來攻擊一條鏈,等它恢復之后,然后再次進行攻擊,因為你仍然持有這些硬件。最后,社區會受夠了這種折磨,他們會更換工作量證明算法,由于在短時間內他們沒有辦法構建ASIC,所以你只需要租用大量的CPU和GPU算力繼續攻擊,然后,這條鏈就死了,除非他們切換到權益證明算法能打破這個循環嗎?
這是我在2016年寫的一篇博文,我試圖描述什么是權益證明是不同的,在工作量證明中,你只有獎勵,因此你對參與攻擊或者不參與攻擊的懲罰,只有區塊獎勵這部分。而在權益證明和第二層的欺詐證明可以解決這個問題。如果你不能審查別人的區塊,那么你就不能阻止它們被納入區塊鏈。因此,只要激勵措施的懲罰是有效控制的,那么惡意破壞(Griefing)也不會是什么大問題。我們可以歸結為兩件事:數據可用性攻擊和審查攻擊。數據無效和數據不可用這是我在2017年和musalbas等人共同撰寫的一篇論文,我在其中描述了一種基本上允許區塊鏈客戶端不實際下載所有數據的情況下,驗證區塊鏈數據可用性的方案。這個方案的簡單稻草人版本是這樣的:檢查一個區塊是否可用最愚蠢的方法就是下載完整的東西。但在這里,我們假設一個可擴展的、可能是分片的區塊鏈,其中有超過2MB/秒的數據會被上傳到鏈上,而客戶端將無法下載所有的內容。對于一個想要檢查數據可用性的客戶端,我們要做的就是隨機抽樣測試。它會隨機選擇一些數據片段,比如30個片段、40個片段、80個片段……它會隨機選擇位置,要求提供這些位置的merkle證明,只要你收到你接受的所有位置的有效回復,那你就會接受該區塊,將其視為有效的。如果你接受使用此方案的區塊,那么你很可能知道該區塊是有效的。如果只有不到50%的數據可用,比如這里左邊的所有數據都可用,這里右邊的所有數據都可用,那么至少有一個檢查將很有可能是失敗的。通過這種方案,攻擊者就能夠欺騙少數特定的客戶端。但是,如果攻擊者欺騙了足夠多的客戶端,以至于它們下載的子葉數據占到了總數據的一半,那么這些客戶端就可以繼續從那里重建數據。這并不能證明區塊是完全可用的,它可能缺少了一部分,但它確實證明至少有一半的區塊是可用的。如果我們有一些技術可以從50%的數據中恢復整個數據塊,那就太好了。擦除編碼這就是擦除編碼的用武之地,所以我們要取數據,假設它是一個多項式求值,我們將在更多的點上求值相同的多項式,現在,任何50%的數據都足以恢復所有數據。有了這個方案之后,你就可以驗證區塊是有用的,并且區塊是潛在非常大的尺寸下是可用的,同時個人要下載20-200KB的數據。這是第一部分。這包括數據可用性攻擊,它是以太坊2.0分片解決方案的一部分,這至少允許我們賦予分片區塊鏈同樣的可用性保證。證明正確性那如何證明一個根是此擦除編碼的根呢?你如何證明自己沒有把垃圾數據卡在里面?你可以使用欺詐證明,例如這個2D的,如果你編碼錯誤,然后有人可以做一個簡短的欺詐證明,你可以將它廣播到網絡,然后網絡就可以拒絕該區塊。這個2D方案是在2017年開始研究的。最近則有一些關于編碼merkle樹的東西,你在merkle樹中編碼每一個level,這有很好的特性。也有一些方法不依賴于欺詐證明,比如使用STARK或SNARK來證明merkle根的計算是正確的,而另一種可能則涉及多項式承諾——你會得到你的數據,你會把它解釋為多項式的求值,你會計算出多項式,然后你在一大堆點上做一大堆多項式承諾的opening,你的數據可用性檢查將是要求80個位置而不是80個opening,或者如果你使用聰明的代數得到某種多開口,你就可以獲得更高的效率。這些方案的好處是,它們不依賴于欺詐證明,因此用于驗證區塊數據的方案已被發表了,它們不再有任何額外的內置延遲假設。分片:越過委員會目前存在的分片區塊鏈,通常會依賴于委員會,其想法是,你有一大堆節點,你隨機抽取一些節點,你需要其中的大多數或絕大多數節點在某個區塊上簽名,以便網絡接受該區塊是有效的。問題是,任何一種基于委員會的方案,都將受到超過某個閾值不良行為者的審查。如果我們要談論抵抗51%攻擊,那么我們就要談論一個系統,在這個系統中,即使大多數人開始攻擊,那么少數人應該能夠繼續操作系統本身。固定閾值的分片方案,并不能真正幫助到你。所以這里的解決方案是,協議需要更充分地依賴一組數據可用性檢查方案,而不是依賴于委員會。關于審查在場的各位,有哪些人想阻止審查呢?可以,有很多人,所以,現狀不是很好。這是nrryuya的一篇文章,他在形式化驗證以太坊方面做了一些工作,他寫了一篇文章說,在目前的以太坊2.0設計中,有一些策略可以讓大多數人審查區塊,這種審查與單區塊延遲是不可區分的,很難去確定誰該負責。這里的攻擊是相當卑鄙的,攻擊者攻擊一些驗證者,并使它們為另一個區塊投票,使用其他驗證者為自己的區塊投票,該區塊實際上包含了要審查的內容...但他們自己的選票不足以超過51%,所以他們試圖審查的內容,實際上永遠不會被包含在內。這是多層次的間接作用。在以太坊1.0和以太坊2.0中,一個進行51%攻擊的惡意方可以進行審查,而當審查力度足夠大時,就很難確定是否需要對此采取措施。納入叔塊這是我們目前能做的最基本的事情:納入叔塊。這里的想法是,在以太坊1.0中,不屬于區塊鏈的區塊可以稍后被包含進來,而新的方案則是,我們添加了協議規則,該規則表示叔塊中的交易也會被處理。所以,你就有了這樣一條區塊鏈,其中,叔塊也被納入在里面。想法:及時性檢測器想象一下,如果我們至少可以有在線的客戶端,那么在網絡上的客戶端可以下載東西,并定期與其它客戶端通信。讓它們檢查是否看到一個區塊準時到達。如果它們看到某個區塊是按時到達的,并且它們看到該區塊在很長一段時間內沒有被某條鏈接受,那么該區塊將自動被取消資格。如果一個區塊沒有準時到達,那么你可以用它來進行51%回滾攻擊。它的思路是,客戶端在本地檢測到某個區塊是否在它應該到達的時候到達,并將其用作確定要遵循鏈的信息。不是每個節點都能遵循協議的,因為離線節點也會存在。除非51%攻擊正在進行中,否則如果沒有攻擊發生,那么獲勝的區塊鏈將是一條好的鏈,如果攻擊正在發生,而你又處于離線狀態,那么你幾乎必須檢查社交層,看看發生了什么,但只有少數參與者會這樣做,其他人會有一個相當明確的共識。問題:邊緣攻擊如果你生成一個區塊,無論該區塊的定義是什么,它都能準時到達,一些節點將看到它在不同的時間到達。因此,節點可能不同意一個區塊“是否被審查太久”,以及一個區塊“是否按時發布”,它們可能不同意這些時間參數。而攻擊者可以利用這一點,導致其他人在攻擊是否發生的問題上,產生長期的分歧,并帶來很多治理問題。所以,這就要求我們有更好的及時性檢測器改進版及時性檢測器我們回到拜占庭將軍問題,回到1982年由萊斯利·蘭伯特(LeslieLamport)撰寫的論文。事實證明,這篇論文包含了一個算法,而人們并沒有真正去談論這個算法,但他們可能應該多談一些。它把這句話用不可偽造的書面信息抽象地隱藏起來。蘭伯特聲稱,他有一個共識算法,可以容忍高達99%的錯誤攻擊者。這個算法是有效的,它的優點是,只要你有同步性假設,它就可以工作,不僅是在做共識的礦工和驗證者之間,而且是在礦工和客戶端之間,以及客戶端和其它客戶端之間。它對誰應該在線有一個更強的假設,其使用這個假設來獲得更高程度的容錯,但它是一個非常危險的假設,我們不愿意自己去做。我將描述單個證明者的版本。在這里,假設一個證明者是誠實的,然后一共有n個證明者,我們就只需要1/n的證明者是誠實的。這里的想法是,假設一個區塊被發布,然后客戶端和證明者有一個期限,他們需要在這個期限之前接收該區塊,以便認為該區塊是準時的。對于客戶端來說,最后期限是t,對于證明者來說,最后期限則是t+δ。所以這里的提議者將發布一個區塊b,我們假設提議者有點邪惡,其試圖進行邊緣攻擊,節點1在截止日期之前看到它,節點2也在截止日期之前看到它。證明者發送了該區塊,但是由于網絡同步性假設,如果有一個節點接受了該區塊,那么這意味著證明者保證在他們的截止日期之前接受該區塊,因為區塊可以被發送給證明者。如果哪怕一個客戶端認為某個區塊是及時的,那么證明者也會保證在他們的截止日期之前看到它,因此證明者會添加他們自己的簽名,并且由于網絡同步性,另一個客戶端將在一個簽名區塊的截止日期之前,看到該區塊加上一個簽名。將其擴展到多個證明者的方法是簡單的,你有很多證明者,客戶端將是t+δ*k。我在eth.research上有一篇文章是專門講這方面的研究的,所以如果你想了解更多的細節,請隨時查看。講講大概的想法,你有一組攻擊者,每個攻擊者都可以將截止日期延遲一點,因此如果一個攻擊者接收到一個區塊,那么只要網絡延遲低于你的δ參數,它就會將一個區塊的及時性傳播到網絡的其余部分。有趣的事實如果你有這種及時性檢測器,你會按照自聲明的時間順序處理所有及時區塊,就是這樣。唯一的問題是,它需要很長的區塊時間,如果你想處理驗證者的存款、取款和罰沒,那這可能是一個有趣的協議,但它不是運行區塊鏈的最佳協議。更好的說法是,你可以使用及時性檢測器檢測攻擊鏈以及審查攻擊。四、總結
聲音 | V神:再次恭喜Sparkpool礦池為繆爾冰川升級揭幕:在以太坊完成“繆爾冰川(Muir Glacier)”升級后,以太坊創始人V神發推稱,再次恭喜Sparkpool礦池為繆爾冰川升級揭幕!據此前消息,在12月8日以太坊完成伊斯坦布爾升級后,V神曾在推特上恭喜Sparkpool礦池挖出此次升級的首個區塊。Eth.Btc.com數據顯示,過去24小時,Sparkpool礦池以33.97%的算力占比位列第一;Ethermine礦池算力占比為24.28%,排名第二,兩大礦池控制了58.25?%的以太坊網絡算力。注:以太坊今日下午16:30分左右已達到原定“繆爾冰川”升級區塊高度9200000,升級已激活。本次“繆爾冰川”硬分叉解決方案旨在再次延遲難度炸彈,硬分叉升級后,在400萬個新區塊被開采出來之前,難度炸彈將會被凍結,這意味著以太坊至少未來幾年內不會受到難度炸彈的威脅。[2020/1/2]
反審查技術不如其他技術完美,因為它確實依賴于網絡和客戶端之間的同步假設,你可以將此持續時間設置為你想要的任何時間,但它與你愿意容忍的審查級別有關。你可以保證在線節點集之間的一致性,在發生攻擊的情況下,你可以就“一條鏈是否是攻擊鏈”,以及其他所有事情達成共識。你可以將此作為部分社會共識的開始,以確定恢復的方式,這有助于你為攻擊者分配更強程度的懲罰,因為你可以更可靠地確定攻擊者是誰。一般來說,如果攻擊者發布了一條不可用的鏈,那么數據可用性檢查將捕獲它,如果其發布了無效區塊,那么欺詐證明可以捕獲它,如果你對區塊進行長時間的審查,那么這條鏈將自動被網絡忽略。如果你審查了一個中等時間的區塊,那么你可以使用及時性檢測器來干凈地處理它,如果攻擊者試圖不參與或破壞委員會,則相應就不使用委員會。好了,我們有了一系列的工具,它們基本上可以大大降低我們對51%攻擊的恐懼感,或者能夠忽略它們,或者從中恢復過來。謝謝大家。
動態 | V神就ETH2.0通脹率設定提出提案 建議增加質押回報:以太坊創始人V神(Vitalik Buterin)就ETH 2.0通脹率設定發表提案,建議增加質押回報。按照Vitalik Buterin在 Github上發表的提案,年通脹率將低于2%。[2019/4/21]
聲音 | V神:完全同意并支持下架BSV:關于日前幣安下架BSV一事,V神發推特表示他完全同意并支持下架BSV。同時他認為言論自由是個困擾了很多人的話題,或許應該寫篇博客來談談對這一話題的看法。[2019/4/16]
聲音 | V神回應此次ETH大跌:只是億萬富豪間的博弈游戲 不必太在意:金色財經9月8日報道,以太坊行業峰會間隙,Vitalik就近期ETH暴跌原因,接受金色財經采訪。Vitalik認為,\"這次比特幣和以太坊價格的暴跌與去年9月的下跌原因是高度類似的。\"他表示,這種價格起伏情況已經是第三次發生了,建議人們不必過于在意,因為說白了這些隨機數字的變化只不過是一些億萬富豪之間的博弈游戲罷了。以太坊分片技術在這半年來,已經取得了不少的進展,盡管還沒有到實現和落地的那一步,但我們已經越來越接近了。Vitalik透露,現在以太坊核心開發團隊正在開發并希望完成5個不同的項目,包括Plasma協議。無論如何,最后的結果最重要。[2018/9/8]
編者按:本文來自鏈聞ChainNews,作者:Ruya,星球日報經授權發布。從最初的「鏈治百病」到回歸理性,直到今日,也只有DeFi生態和少數的游戲有足夠多的用戶量,就最大的區塊鏈平臺、市值19.
1900/1/1 0:00:00這些天新冠病肺炎疫情,雖在國內被有效控制有好轉的跡象,但隨著日本、韓國、意大利、伊朗等多個海外國家確診病例數據的攀升,新冠病有肆虐全球的風險.
1900/1/1 0:00:00今天和大家分享兩則消息,都和交易所有關。第一則消息是FCoin交易所創始人張健的太太和岳父母在杭州被堵.
1900/1/1 0:00:00編者按:本文來自巴比特資訊,編譯:Wendy,星球日報經授權發布。過去幾周,比特幣價格大幅上漲——自年初以來,比特幣價格上漲了40%,令人瞠目結舌.
1900/1/1 0:00:00韓元兌比特幣交易繼續上漲30%;大額轉賬下跌13%;全網算力繼續下跌;報告:約有2310萬個實體持有比特幣.
1900/1/1 0:00:00編者按:本文來自區塊律動BlockBeats,作者:0x29,Odaily星球日報經授權轉載。時隔106天,比特幣重新站上1萬美金,再次登上熱搜,這讓許久被社會話題占據的社群,重新把焦點匯聚在行.
1900/1/1 0:00:00