比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

Vitalik:區塊鏈可擴展性的限制_ITA

Author:

Time:1900/1/1 0:00:00

文章來源:ETH中文站

稿源|vitalik.ca

作者|VitalikButerin

感謝FelixLange,MartinSwende,MariusvanderWijden和MarkTyneway的反饋和校對。

我們能將區塊鏈的可擴展性提升到多少?是否真的能像ElonMusk所說的那樣“區塊時間加速十倍,區塊大小增長十倍并且手續費降低一百倍”,而不會導致極度中心化并違背區塊鏈的本質屬性?如果答案是否定的,那我們能達到什么程度?改變公式算法會怎樣?更重要的是,如果引入類似ZK-SNARK或分片的功能會怎樣?一個分片型的區塊鏈在理論上能夠不斷添加分片,那么是否真的可以這么做呢?

事實證明,無論是否使用分片,都有重要且非常微妙的技術因素限制了區塊鏈的可擴展性。許多情況都有解決方案,但是即使有了解決方案,也存在局限性。這篇文章將探討其中的許多問題。

如果只是簡單地拔高參數,問題似乎就能得到解決。但是我們會因此付出什么代價?

普通用戶能夠運行節點對于區塊鏈的去中心化至關重要

想象一下凌晨兩點多,你接到了一個緊急呼叫,來自世界另一端幫你運行礦池(質押池)的人。從大約14分鐘前開始,你的池子和其他幾個人從鏈中分離了出來,而網絡仍然維持著79%的算力。根據你的節點,多數鏈的區塊是無效的。這時出現了余額錯誤:區塊似乎錯誤地將450萬枚額外代幣分配給了一個未知地址。

一小時后,你和其他兩個同樣遭遇意外的小礦池參與者、一些區塊瀏覽器和交易所方在一個聊天室中,看見有人貼出了一條推特的鏈接,開頭寫著“宣布新的鏈上可持續協議開發基金”。

到了早上,相關討論廣泛散布在推特以及一個不審查內容的社區論壇上。但那時450萬枚代幣中的很大一部分已經在鏈上轉換為其他資產,并且進行了數十億美元的defi交易。79%的共識節點,以及所有主要的區塊鏈瀏覽器和輕錢包的端點都遵循了這條新鏈。也許新的開發者基金將為某些開發提供資金,或者也許所有這些都被領先的礦池、交易所及其裙帶所吞并。但是無論結果如何,該基金實際上都成為了既成事實,普通用戶無法反抗。

Navitas Global投資加密礦企Soluna Holding1400萬美元:金色財經報道,加密采礦數據中心開發商Soluna Holdings宣布與Navitas Global就其位于德克薩斯州的Project Dorothy 1B數據中心達成1400萬美元的投資伙伴關系。Navitas將為Dorothy 1B項目的最后階段基礎設施建設和25mw比特幣礦機提供投資資本,以換取Dorothy 1B項目49%的股權。該協議包括200萬美元的貸款,以完成建設和1200萬美元的股權投資。Soluna將提供運營和維護專業知識,并將繼續擁有Dorothy 1B項目51%的股份。[2023/5/16 15:04:46]

或許還有這么一部主題電影。或許會由MolochDAO或其他組織進行資助。

這種情形會發生在你的區塊鏈中嗎?你所在區塊鏈社區的精英,包括礦池、區塊瀏覽器和托管節點,可能協調得很好,他們很可能都在同一個telegram頻道和微信群中。如果他們真的想出于利益突然對協議規則進行修改,那么他們可能具備這種能力。以太坊區塊鏈在十小時內完全解決了共識失敗,如果是只有一個客戶端實現的區塊鏈,并且只需要將代碼更改部署到幾十個節點,那么可以更快地協調客戶端代碼的更改。能夠抵御這種社會性協作攻擊的唯一可靠方式是“被動防御”,而這種力量來自去一個中心化的群體:用戶。

想象一下,如果用戶運行區塊鏈的驗證節點(無論是直接驗證還是其他間接技術),并自動拒絕違反協議規則的區塊,即使超過90%的礦工或質押者支持這些區塊,故事會如何發展。

如果每個用戶都運行一個驗證節點,那么攻擊很快就會失敗:有些礦池和交易所會進行分叉,并且在整個過程中看起來很愚蠢。但是即使只有一些用戶運行驗證節點,攻擊者也無法大獲全勝。相反,攻擊會導致混亂,不同用戶會看到不同的區塊鏈版本。最壞情況下,隨之而來的市場恐慌和可能持續的鏈分叉將大幅減少攻擊者的利潤。對如此曠日持久的沖突進行應對的想法本身就可以阻止大多數攻擊。

Hasu關于這一點的看法:

“我們要明確一件事,我們之所以能夠抵御惡意的協議更改,是因為擁有用戶驗證區塊鏈的文化,而不是因為PoW或PoS。”

哥倫比亞政府選擇基于Algorand區塊鏈的Vitalpass作為官方數字疫苗接種護照:9月11日消息,由Auna Ideas基金會和Koibanx共同創建并利用Algorand區塊鏈開發的COVID-19數字疫苗接種護照Vitalpass,已被哥倫比亞政府選為其官方免疫接種證書。

據悉,哥倫比亞是拉丁美洲第一個采用這種技術的國家。此前,薩爾瓦多政府與拉丁美洲區塊鏈資產代幣化和金融基礎設施公司Koibanx簽署了一項協議,以在Algorand之上開發其區塊鏈基礎設施。(雅虎財經)[2021/9/11 23:17:57]

假設你的社區有37個節點運行者,以及80000名被動監聽者,對簽名和區塊頭進行檢查,那么攻擊者就獲勝了。如果每個人都運行節點的話,攻擊者就會失敗。我們不清楚針對協同攻擊的啟動群體免疫的確切閾值是多少,但有一點是絕對清楚的:好的節點越多,惡意的節點就越少,而且我們所需的數量肯定不止于幾百幾千個。

那么全節點工作的上限是什么?

為了使得有盡可能多的用戶能夠運行全節點,我們會將注意力集中在普通消費級硬件上。即使能夠輕松購買到專用硬件,這能夠降低一些全節點的門檻,但事實上對可擴展性的提升并不如我們想象的那般。

全節點處理大量交易的能力主要受限于三個方面:

算力:在保證安全的前提下,我們能劃分多少CPU來運行節點?

帶寬:基于當前的網絡連接,一個區塊能包含多少字節?

存儲:我們能要求用戶使用多大的空間來進行存儲?此外,其讀取速度應該達到多少?(即,HDD足夠嗎?還是說我們需要SSD?)

許多使用“簡單”技術對區塊鏈進行大幅擴容的錯誤看法都源自于對這些數字過于樂觀的估計。我們可以依次來討論這三個因素:

算力

錯誤答案:100%的CPU應該用于區塊驗證

正確答案:約5-10%的CPU可以用于區塊驗證

限制之所以這么低的四個主要原因如下:

我們需要一個安全邊界來覆蓋DoS攻擊的可能性(攻擊者利用代碼弱點制造的交易需要比常規交易更長的處理時間)

Vitalik:以太坊2.0或需多年才能解決擴容問題:以太坊聯合創始人Vitalik Buterin表示,以太坊基礎層可擴展性還有很長路要走,很可能在很多年之后都無法實現區塊鏈基礎層擴容。按照Vitalik說法,基于應用程序基礎層擴容或許會在以太坊2.0最后一個主要階段完成之后才會出現,所以可能需要等待幾年。Vitalik表示,他鑒于當前情況建議將以太坊擴容工作全部放在二層Layer 2解決方案上,同時他建議一旦「以太坊1.5階段」完全通過權益證明,那么基本上就不會關注擴容問題了。如果用戶不確信「以太坊1.5階段」能夠解決容量問題,那么還可以采取折衷方法,即:擁有少量執行分片(比如4-8個)和更多數據分片。Vitalik建議在錢包中直接構建二層協議,比如MetaMask或Status,他也強調在「跨二層協議傳輸」方面需要做更多工作,二層解決方案可以某種方式成為協議本身一部分,而以太坊1.0則可以用作為Optimistic Rollup客戶端。[2020/10/3]

節點需要在離線之后能夠與區塊鏈同步。如果我掉線一分鐘,那我應該要能夠在幾秒鐘之內完成同步

運行節點不應該很快地耗盡電池,也不應該拖慢其他應用的運行速度

節點也有其他非區塊生產的工作要進行,大多數是驗證以及對p2p網絡中輸入的交易和請求做出響應

請注意,直到最近大多數針對“為什么只需要5-10%?”這一點的解釋都側重于另一個不同的問題:因為PoW出塊時間不定,驗證區塊需要很長時間,會增加同時創建多個區塊的風險。這個問題有很多修復方法,例如BitcoinNG,或使用PoS權益證明。但這些并沒有解決其他四個問題,因此它們并沒有如許多人所料在可擴展性方面獲得巨大進展。

并行性也不是靈丹妙藥。通常,即使是看似單線程區塊鏈的客戶端也已經并行化了:簽名可以由一個線程驗證,而執行由其他線程完成,并且有一個單獨的線程在后臺處理交易池邏輯。而且所有線程的使用率越接近100%,運行節點的能源消耗就越多,針對DoS的安全系數就越低。

帶寬

錯誤答案:如果沒2-3秒都產生10MB的區塊,那么大多數用戶的網絡都大于10MB/秒,他們當然都能處理這些區塊

正確答案:或許我們能在每12秒處理1-5MB的區塊,但這依然很難

如今,我們經常聽到關于互聯網連接可以提供多少帶寬的廣為傳播的統計數據:100Mbps甚至1Gbps的數字很常見。但是由于以下幾個原因,宣稱的帶寬與預期實際帶寬之間存在很大差異:

TokenBetter平臺GTX(Gravitation-X)日內漲幅為289%:據TokenBetter行情顯示,截至今日18:50(UTC+8),TokenBetter平臺內創新區幣種GTX(Gravitation-X)日內漲幅為289%,24H最高報價0.1499USDT,現報價0.08517USDT。

Gravitation-X(GTX)隨著區塊鏈技術的發展和區塊鏈產業數量的增長,區塊鏈項目的財務應用出現了競爭。因此,我們必須通過創建可用的游戲模型來解決競爭問題,這是毀滅證明,縮寫為 POD。

Gravitation-X 的 POD 不僅基于智能合約,還基于 DAPP 系統設置。 從開始每天都會銷毀大量的代幣。隨著更多令牌被釋放,更多將被銷毀,目標是通過結合 CryptoNote 協議和智能合約等一些經過驗證的最佳技術,創建一種先進區塊鏈技術,增強可靠性,隱私性,安全性,可用性和可移植性,從而實現創建私人智能合約。[2020/8/2]

“Mbps”是指“每秒數百萬bits”;一個bit是一個字節的1/8,因此我們需要將宣稱的bit數除以8以獲得字節數。

網絡運營商,就像其他公司一樣,經常編造謊言。

總是有多個應用使用同一個網絡連接,所以節點無法獨占整個帶寬。

P2P網絡不可避免地會引入開銷:節點通常最終會多次下載和重新上傳同一個塊(更不用說交易在被打包進區塊之前還要通過mempool進行廣播)。

當Starkware在2019年進行一項實驗時,他們在交易數據gas成本降低后首次發布了500kB的區塊,一些節點實際上無法處理這種大小的區塊。處理大區塊的能力已經并將持續得到改善。但是無論我們做什么,我們仍然無法獲取以MB/秒為單位的平均帶寬,說服自己我們可以接受1秒的延遲,并且有能力處理那種大小的區塊。

存儲

錯誤答案:10TB

正確答案:512GB

正如大家可能猜到的,這里的主要論點與其他地方相同:理論與實踐之間的差異。理論上,我們可以在亞馬遜上購買8TB固態驅動(確實需要SSD或NVME;HDD對于區塊鏈狀態存儲來說太慢了)。實際上,我用來寫這篇博文的筆記本電腦有512GB,如果你讓人們去購買硬件,許多人就會變得懶惰(或者他們無法負擔800美元的8TBSSD)并使用中心化服務。即使可以將區塊鏈裝到某個存儲設備上,大量活動也可以快速地耗盡磁盤并迫使你購入新磁盤。

動態 | EOS 的Activity指數為43,721,037 排名第一:據IMEOS報道,截止12月16號11點,blocktivity.info上顯示,排名第一的 EOS 的Activity指數為43,721,037 ,排名第二、第三分別為 TLOS 和 IOST 。Acitivity指數為最近24小時內在區塊鏈上執行的操作數量。[2019/12/16]

一群區塊鏈協議研究員對每個人的磁盤空間進行了調查。我知道樣本量很小,但仍然...

此外,存儲大小決定了新節點能夠上線并開始參與網絡所需的時間。現有節點必須存儲的任何數據都是新節點必須下載的數據。這個初始同步時間(和帶寬)也是用戶能夠運行節點的主要障礙。在寫這篇博文時,同步一個新的geth節點花了我大約15個小時。如果以太坊的使用量增加10倍,那么同步一個新的geth節點將至少需要一周時間,而且更有可能導致節點的互聯網連接受到限制。這在攻擊期間更為重要,當用戶之前未運行節點時對攻擊做出成功響應需要用戶啟用新節點。

交互效應

此外,這三類成本之間存在交互效應。由于數據庫在內部使用樹結構來存儲和檢索數據,因此從數據庫中獲取數據的成本隨著數據庫大小的對數而增加。事實上,因為頂級(或前幾級)可以緩存在RAM中,所以磁盤訪問成本與數據庫大小成正比,是RAM中緩存數據大小的倍數。

不要從字面上理解這個圖,不同的數據庫以不同的方式工作,通常內存中的部分只是一個單獨(但很大)的層(參見leveldb中使用的LSM樹)。但基本原理是一樣的。

例如,如果緩存為4GB,并且我們假設數據庫的每一層比上一層大4倍,那么以太坊當前的~64GB狀態將需要~2次訪問。但是如果狀態大小增加4倍到~256GB,那么這將增加到~3次訪問。因此,gas上限增加4倍實際上可以轉化為區塊驗證時間增加約6倍。這種影響可能會更大:硬盤在已滿狀態下比空閑時需要花更長時間來讀寫。

這對以太坊來說意味著什么?

現在在以太坊區塊鏈中,運行一個節點對許多用戶來說已經是一項挑戰,盡管至少使用常規硬件仍然是可能的(我寫這篇文章時剛剛在我的筆記本電腦上同步了一個節點!)。因此,我們即將遭遇瓶頸。核心開發者最關心的問題是存儲大小。因此,目前在解決計算和數據瓶頸方面的巨大努力,甚至對共識算法的改變,都不太可能帶來gaslimit的大幅提升。即使解決了以太坊最大的DoS弱點,也只能將gaslimit提高20%。

對于存儲大小的問題,唯一解決方案是無狀態和狀態逾期。無狀態使得節點群能夠在不維護永久存儲的情況下進行驗證。狀態逾期會使最近未訪問過的狀態失活,用戶需要手動提供證明來更新。這兩條路徑已經研究了很長時間,并且已經開始了關于無狀態的概念驗證實現。這兩項改進相結合可以大大緩解這些擔憂,并為顯著提升gaslimit開辟空間。但即使在實施無狀態和狀態逾期之后,gaslimit也可能只會安全地提升約3倍,直到其他限制開始發揮作用。

另一個可能的中期解決方案使使用ZK-SNARKs來驗證交易。ZK-SNARKs能夠保證普通用戶無需個人存儲狀態或是驗證區塊,即使他們仍然需要下載區塊中的所有數據來抵御數據不可用攻擊。另外,即使攻擊者不能強行提交無效區塊,但是如果運行一個共識節點的難度過高,依然會有協調審查攻擊的風險。因此,ZK-SNARKs不能無限地提升節點能力,但是仍然能夠對其進行大幅提升(或許是1-2個數量級)。一些區塊鏈在layer1上探索該形式,以太坊則通過layer2協議(也叫ZKrollups)來獲益,例如zksync,Loopring和Starknet。

分片之后又會如何?

分片從根本上解決了上述限制,因為它將區塊鏈上包含的數據與單個節點需要處理和存儲的數據解耦了。節點驗證區塊不是通過親自下載和執行,而是使用先進的數學和密碼學技術來間接驗證區塊。

因此,分片區塊鏈可以安全地擁有非分片區塊鏈無法實現的非常高水平的吞吐量。這確實需要大量的密碼學技術來有效替代樸素完整驗證,以拒絕無效區塊,但這是可以做到的:該理論已經具備了基礎,并且基于草案規范的概念驗證已經在進行中。

以太坊計劃采用二次方分片(quadraticsharding),其中總可擴展性受到以下事實的限制:節點必須能夠同時處理單個分片和信標鏈,而信標鏈必須為每個分片執行一些固定的管理工作。如果分片太大,節點就不能再處理單個分片,如果分片太多,節點就不能再處理信標鏈。這兩個約束的乘積構成了上限。

可以想象,通過三次方分片甚至指數分片,我們可以走得更遠。在這樣的設計中,數據可用性采樣肯定會變得更加復雜,但這是可以實現的。但以太坊并沒有超越二次方,原因在于,從交易分片到交易分片的分片所獲得的額外可擴展性收益實際上無法在其他風險程度可接受的前提下實現。

那么這些風險是什么呢?

最低用戶數量

可以想象,只要有一個用戶愿意參與,非分片區塊鏈就可以運行。但分片區塊鏈并非如此:單個節點無法處理整條鏈,因此需要足夠的節點以共同處理區塊鏈。如果每個節點可以處理50TPS,而鏈可以處理10000TPS,那么鏈至少需要200個節點才能存續。如果鏈在任何時候都少于200個節點,那可能會出現節點無法再保持同步,或者節點停止檢測無效區塊,或者還可能會發生許多其他壞事,具體取決于節點軟件的設置。

在實踐中,由于需要冗余(包括數據可用性采樣),安全的最低數量比簡單的“鏈TPS除以節點TPS”高幾倍,對于上面的例子,我們將其設置位1000個節點。

如果分片區塊鏈的容量增加10倍,則最低用戶數也增加10倍。現在大家可能會問:為什么我們不從較低的容量開始,當用戶很多時再增加,因為這是我們的實際需要,用戶數量回落再降低容量?

這里有幾個問題:

區塊鏈本身無法可靠地檢測到其上有多少唯一用戶,因此需要某種治理來檢測和設置分片數量。對容量限制的治理很容易成為分裂和沖突的根源。

如果許多用戶突然同時意外掉線怎么辦?

增加啟動分叉所需的最低用戶數量,使得防御惡意控制更加艱難。

最低用戶數為1,000,這幾乎可以說是沒問題的。另一方面,最低用戶數設為100萬,這肯定是不行。即使最低用戶數為10,000也可以說開始變得有風險。因此,似乎很難證明超過幾百個分片的分片區塊鏈是合理的。

歷史可檢索性

用戶真正珍視的區塊鏈重要屬性是永久性。當公司破產或是維護該生態系統不再產生利益時,存儲在服務器上的數字資產將在10年內不再存在。而以太坊上的NFT是永久的。

是的,到2372年人們仍能夠下載并查閱你的加密貓。

但是一旦區塊鏈的容量過高,存儲所有這些數據就會變得更加困難,直到某時出現巨大風險,某些歷史數據最終將……沒人存儲。

要量化這種風險很容易。以區塊鏈的數據容量(MB/sec)為單位,乘以~30得到每年存儲的數據量(TB)。當前的分片計劃的數據容量約為1.3MB/秒,因此約為40TB/年。如果增加10倍,則為400TB/年。如果我們不僅希望可以訪問數據,而且是以一種便捷的方式,我們還需要元數據(例如解壓縮匯總交易),因此每年達到4PB,或十年后達到40PB。InternetArchive(互聯網檔案館)使用50PB。所以這可以說是分片區塊鏈的安全大小上限。

因此,看起來在這兩個維度上,以太坊分片設計實際上已經非常接近合理的最大安全值。常數可以增加一點,但不能增加太多。

結語

嘗試擴容區塊鏈的方法有兩種:基礎的技術改進和簡單地提升參數。首先,提升參數聽起來很有吸引力:如果您是在餐紙上進行數學運算,這就很容易讓自己相信消費級筆記本電腦每秒可以處理數千筆交易,不需要ZK-SNARK、rollups或分片。不幸的是,有很多微妙的理由可以解釋為什么這種方法是有根本缺陷的。

運行區塊鏈節點的計算機無法使用100%的CPU來驗證區塊鏈;他們需要很大的安全邊際來抵抗意外的DoS攻擊,他們需要備用容量來執行諸如在內存池中處理交易之類的任務,并且用戶不希望在計算機上運行節點的時候無法同時用于任何其他應用。帶寬也會受限:10MB/s的連接并不意味著每秒可以處理10MB的區塊!也許每12秒才能處理1-5MB的塊。存儲也是一樣,提高運行節點的硬件要求并且限制專門的節點運行者并不是解決方案。對于去中心化的區塊鏈而言,普通用戶能夠運行節點并形成一種文化,即運行節點是一種普遍行為,這一點至關重要。

然而,基礎的技術改進是可行的。當前,以太坊的主要瓶頸是存儲大小,而無狀態性和狀態逾期可以解決該問題,并使其能夠最多增長約3倍,但不能再多,因為我們希望運行節點比當前更容易。采用分片的區塊鏈可以進一步擴展,因為分片區塊鏈中的單個節點不需要處理每筆交易。但即使是分片區塊鏈,容量也有局限性:隨著容量的增加,最低安全用戶數增加,歸檔區塊鏈的成本(以及如果沒有人歸檔鏈,數據存在丟失的風險)就會上升。但是我們不必過于擔心:這些限制足以我們在保證區塊鏈完全安全性的同時每秒處理一百萬筆交易以上。但是要在不損害區塊鏈最寶貴的去中心化特性的前提下實現這一點,我們需要付出更多努力。

原文鏈接:https://vitalik.ca/general/2021/05/23/scaling.html

Tags:區塊鏈VIT以太坊ITA銀行區塊鏈VITO價格怎么購買以太坊幣BABYSAITAMA價格

幣安交易所app下載
金色前哨 | BTC采用進行時 薩爾瓦多總統:不會改變該國宏觀經濟_比特幣

薩爾瓦多國會6月9日投票批準總統提交的比特幣作為法定貨幣的提案,薩爾瓦多成為全球首個承認比特幣為合法貨幣的國家。薩爾瓦多的比特幣采用引發多方關注,比特幣相關法律問題也引發熱議.

1900/1/1 0:00:00
金色趨勢丨尊重市場是成功交易者一定有的心態_C20

上圖為BTC?2010-2020年這10年周期的長期周線走勢,目前BTC已經完成了三次獎勵減半,我們從圖中可以發現,每一輪減半周期時間內.

1900/1/1 0:00:00
金色晚報 | 6月7日晚間重要動態一覽_區塊鏈

12:00-21:00關鍵詞:國務院辦公廳、工信部、英偉達、英國央行1.中央財經大學發布《數字金融藍皮書》:區塊鏈將逐漸融入金融機構核心業務2.

1900/1/1 0:00:00
“聰明錢”為南美力量崛起背書 政客們的“激光眼”浪潮或將鑄造比特幣的新港灣_UBA

比特幣在過去24小時節節攀升,連下5城,收復了從32000至36000美元所有失地,截止發稿為止,比特幣價格為36,169.49美元,日內漲幅12.81%。已經將周一的一波暴跌損失全部填平.

1900/1/1 0:00:00
美參議員Elizabeth Warren因能源消耗問題和勒索軟件抨擊加密貨幣,呼吁立法者“直面”這一問題_REN

在6月9日參議院關于央行數字貨幣的聽證會上,小組委員會主席ElizabethWarren發表評論抨擊加密貨幣,呼吁立法者“直面”這個問題.

1900/1/1 0:00:00
比特幣成為薩爾瓦多法定貨幣背后:美國棄子,依然是美元奴隸_比特幣

6月9日,歷史性時刻來臨。薩爾瓦多以“絕對多數”投票贊成正式通過法案,使比特幣在該國成為法定貨幣,這意味著薩爾瓦多成為了史上第一個正式將比特幣定為法定貨幣的國家.

1900/1/1 0:00:00
ads