本文作者為VitalikButerin,并經由Alyson編譯。
前段時間,特斯拉創始人馬斯克發推表示,狗狗幣在理想情況下可將區塊確認時間加快10倍、將區塊大小增加10倍,并降低手續費用100倍,然后它將輕松獲勝。
這個表態引起了加密行業很多KOL的批評,以太坊創始人Vitalik今日也撰文談及此事,表示簡單地提升區塊鏈網絡參數會導致更多的麻煩,并詳細闡述了區塊鏈網絡提升性能所需要面對的問題與限制,故此鏈捕手對本文進行了翻譯,并作出不影響原意的刪減。
你能將區塊鏈的可擴展性推進多遠?正如馬斯克希望的那樣,你能否真正實現「將區塊確認時間縮短10倍,將區塊大小增加10倍并將手續費降低100倍」,而又不會導致極端的中心化并損害使區塊鏈的基本屬性?如果沒有,你能走多遠?如果你更改共識算法怎么辦?更重要的是,如果你更改技術以引入諸如ZK-SNARK或分片之類的功能,會發生什么情況?
事實證明,無論分片與否,都有重要且相當微妙的技術因素限制了區塊鏈的擴展性。在許多情況下,這些限制都有解決方案,但是即使有了解決方案,也存在局限性。這篇文章將探討這些問題。
一、節點需要足夠分散
在凌晨2:35,你會收到來自世界另一端合伙人的緊急電話,他幫助你管理礦池。從大約14分鐘前開始,你的合伙人就告訴你,你的礦池和其他幾個人從仍然承載著79%網絡的區塊鏈中分離出來。根據你的節點,多數鏈的區塊是無效的。這里出現了余額錯誤:關鍵區塊似乎錯誤地將450萬枚額外代幣分配給了一個未知地址。
一個小時后,你正在與其他兩個小礦池進行電報聊天。你最終看到有人將一個鏈接粘貼到一條推特上,其中包含一條已發布的消息。這條推文的開頭是「宣布新的鏈上可持續協議發展基金」。
Gravity DEX開發團隊成立新項目Crescent:3月11日消息,開發流動性模塊Gravity DEX的B-Harvest團隊分拆成立了一個名為Crescent的新項目,正在尋求完全重構和擴展Gravity DEX。Crescent由Ignite Ventures資助,并與Ignite團隊合作支持Crescent項目。
Crescent已經公布了治理代幣CRE分配模型,總量2億枚,其中將向ATOM委托者(delegator)空投1億枚,另外1億枚作為戰略儲備。空投方面,5000萬枚CRE可在Crescent網絡啟動后推出Crescent DEX(DEXdrop)時索取,具體空投數量會根據二次空投系統確定,即按UTC時間2022年1月1日00:00快照時委托數量的平方根來決定,如果參與一些治理提案,能獲得通過固定乘數獲得更多獎勵;剩余5000萬枚將在一定時期內分配給使用Crescent Boost的ATOM委托人。[2022/3/11 13:50:06]
到了早上,在推特與社區論壇上的爭論無處不在。但是到那時,這450萬枚代幣中的很大一部分已經在鏈上轉換為其他資產,并且進行了數十億美元的DeFi交易。79%的共識節點,以及所有主要的區塊鏈探索者和輕錢包的節點都遵循了這一新鏈條。
也許新的開發者基金將為某些發展提供資金,或者也許所有這些都被領先的交易所吞并。但是,不管結果如何,該基金在所有意圖和目的上都是既成事實,而普通用戶則無力反擊。
這可以在你的區塊鏈上發生嗎?你所在區塊鏈社區的精英可能協調得很好,包括礦池、區塊瀏覽器和托管節點。他們很可能都在同一個電報頻道和微信群組中。如果他們真的想對協議規則進行突然更改以促進自己的利益,那么他們可能會這樣做。要使這種協同的社會攻擊無效,唯一可靠的方法是通過被動防御,而這個群體實際上是分散的:用戶。
Vitalik:從多個來源確認烏克蘭加密貨幣捐贈地址是合法的:2月27日消息,針對此前烏克蘭官方推特宣布接受加密貨幣捐贈,以太坊創始人Vitalik表示從幾個來源得到一些確認它是合法的,并暫時刪除我的警告。[2022/2/27 10:18:31]
想象一下,如果用戶正在運行驗證區塊鏈的節點,然后自動拒絕破壞協議規則的區塊,故事將會如何發展。如果每個用戶都運行一個驗證節點,那么攻擊很快就會失敗:一些礦池和交易所會在這個過程中分叉出來,看起來相當愚蠢。
但是,即使一些用戶運行驗證節點,攻擊也不會讓攻擊者大獲全勝;相反,它會導致混亂,不同的用戶會看到不同的區塊鏈視圖。至少,隨之而來的市場恐慌和可能持續的分裂將極大地減少攻擊者的利潤。駕馭這樣一場曠日持久的沖突的想法本身就會阻止大多數襲擊。
Paradigm研究合伙人Hasu的推特
如果你有一個由37個節點運行程序和80000個被動偵聽程序組成的社區來檢查簽名和阻止區塊頭,則攻擊者獲勝。如果你的社區中每個人都運行一個節點,那么攻擊者就會失敗。我們不知道針對協同攻擊的群體免疫力的確切閾值是多少,但有一件事是絕對清楚的:更多的節點是好的,更少的節點是壞的,我們肯定需要幾十個或幾百個以上的節點。
二、節點工作的限制在哪里?
為了最大限度地增加可以運行節點的用戶數,我們將重點放在常規的消費類硬件上。完整節點處理大量事務的能力存在三個關鍵限制:
計算能力:安全運行一個節點的CPU所需的百分比是多少?
帶寬:考慮到當前互聯網連接的現實情況,一個區塊可以包含多少個字節?
存儲:我們可以要求用戶存儲多少GB磁盤?另外,它必須多快才能被讀取?
以太坊公益組織 Nomic 基金會獲 Vitalik 等捐贈1500萬美元:2月12日消息,以太坊公益組織Nomic基金會于2月9日宣布正式成立,專注于改進和擴展以太坊的開發者平臺,同時接管 Hardhat 和 Nomic Labs 的其他開放工程項目和相關團隊,未來將繼續擴展 Hardhat 工具套件。Hardhat是一個編譯、部署、測試和調試以太坊應用的開發環境。
據介紹,以太坊基金會、Vitalik Buterin、Coinbase、Consensys、The Graph、Polygon、Chainlink、Gnosis、a16z、a_capital 和 Kaszek Ventures 已經向該組織捐贈 1500 萬美元,其中以太坊基金會捐贈 800 萬美元。接下來,該組織還將向幾個 DAO 提交資金提案,以達到 3000 萬美元的總資金。[2022/2/12 9:47:48]
許多人錯誤地認為,使用「簡單」技術可以使區塊鏈擴展多遠,這是由于對這些數字過于樂觀。我們可以逐一審視以下三個因素:
1)計算能力
錯誤的答案:100%的CPU能力可以花在塊驗證上。
正確答案:大約有5-10%的CPU能力可用于塊驗證。
限制比例如此之低的主要原因有四個:
我們需要一個安全邊際來覆蓋DoS攻擊的可能性;
節點脫機后需要能夠同步區塊鏈。如果我斷開網絡一分鐘,我應該能夠在幾秒鐘內趕上;
運行節點不應很快耗盡電池電量,使所有其他應用程序變慢;
節點還需要執行其他非區塊生產任務,主要圍繞在p2p網絡上驗證和響應傳入的事務和請求。
請注意,直到最近,大多數對「為什么只有5-10%?」?的解釋專注于一個不同的問題:由于PoW區塊是隨機出現的,因此驗證區塊所花費的時間較長,會增加同時創建多個區塊的風險。
Vitalik Buterin:并不認為zkPorter具有比Optimistic Rollup更強的安全保證,且沒有緊密耦合性:以太坊聯合創始人Vitalik Buterin針對Matter Labs披露的zkPorter擴容方案表示:并不認為zkPorter具有比Optimistic Rollup更強的安全保證,寧愿將資產放在Optimistic Rollup中,而不是鏈下數據可用性系統中。zkPorter鏈下數據可用性的安全級別要低于基礎鏈,且沒有緊密耦合性(Tight coupling)。另一方面,分片中的數據可用性層將受到整個以太坊網絡的保護,并兼具緊密耦合性。如果某些應用程序同時使用鏈下數據可用性也是可以的,但前提是鏈下數據在基于分片的數據可用性可用之前明確為臨時措施,但是我認為這沒有必要。[2021/4/14 20:17:45]
有許多解決此問題的方法。但是這些修補程序不能解決其他四個問題,因此它們無法像許多人最初認為的那樣在可拓展性方面帶來巨大的收益。
并行性也不是萬能的。通常,即使是看似單線程的區塊鏈客戶端也已經并行化:簽名可以由一個線程驗證,而執行則由其他線程完成,并且有一個單獨的線程在后臺處理事務池邏輯。而且,越接近所有線程100%的使用率,運行節點所消耗的能量就越多,并且抵御DoS的安全邊際也越低。
2)帶寬
錯誤的答案:如果我們每2-3秒就有10MB的數據塊,那么大多數用戶的網絡速度都>10MB/秒,因此他們當然可以處理。
正確答案:也許我們可以每12秒處理1-5MB的塊,雖然很難。
如今,我們經常聽到關于互聯網連接可以提供多少帶寬的廣告統計數據:通常聽到100Mbps甚至1Gbps的數字。但是,由于以下幾個原因,宣傳的帶寬數據和實際帶寬之間存在很大差異:
OKEx將于今日19時開放VITE充提:據官方公告,OKEx已完成VITE主網升級,將于2020年9月3日19:00開放VITE充提。[2020/9/3]
「Mbps」是指「每秒數百萬個比特」,一個比特是一個字節的1/8,因此需要將宣傳的比特數除以8才能得到宣傳的字節數;
就像所有公司一樣,互聯網提供商經常說謊;
總是有多個應用程序使用相同的互聯網連接,因此節點無法占用整個帶寬;
p2p網絡不可避免地會帶來其自身的開銷:節點經常會多次下載并重新上傳同一區塊。
當Starkware在2019年進行實驗時,他們首次發布了500kb的區塊,這是因為交易gas成本的降低首次使這種可能性成為可能,實際上有幾個節點無法處理該大小的區塊。
自那以后,區塊鏈處理大型數據塊的能力已得到提高,并將繼續提高。但無論我們做什么,我們仍遠不能天真地獲得以MB/秒為單位的平均帶寬,說服自己我們可以接受1s的延遲,并能夠擁有如此大小的數據塊。
3)存儲
錯誤答案:10TB。
正確答案:512G。
正如你可能猜到的那樣,這里的主要論點和其他地方一樣:理論和實踐之間的區別。理論上,你可以在亞馬遜上購買8TB的固態硬盤。實際上,用來寫這篇博客文章的筆記本電腦有512GB,如果你讓人們去買自己的硬件,他們中的許多人會變得懶惰(或者他們買不起800美元的8TB固態硬盤),而使用中心化的供應商。
而且,即使你可以將區塊節點安裝并運行到一些存儲磁盤上,高水平的活動也很容易迅速燒毀磁盤,迫使你不斷地購買新磁盤。
此外,存儲大小決定了新節點能夠聯機并開始參與網絡所需的時間。現有節點必須存儲的任何數據都是新節點必須下載的數據。初始同步時間(和帶寬)也是用戶運行節點的主要障礙。在寫這篇博客時,同步一個新的geth節點花了我大約15個小時。
三、分片區塊鏈的風險
如今,在以太坊區塊鏈中,運行一個節點已經對許多用戶構成挑戰。因此,我們遇到了瓶頸。核心開發人員最關心的問題是存儲大小。因此,目前,在解決計算和數據瓶頸方面的努力,甚至是對共識算法的更改,都不太可能導致大量的gaslimit增加。即使解決了以太坊最大的突出DoS漏洞,也只能使gaslimit增加20%。
解決存儲大小問題的唯一方法是無狀態和狀態到期。無狀態性允許一類節點在不維護永久性存儲的情況下驗證區塊鏈。狀態到期會清楚最近未訪問的狀態,從而迫使用戶手動提供續訂的證明。
這兩種路徑都已經使用了很長的時間,并且關于無狀態性的概念驗證實現也已經開始。這兩項改進相結合,可以極大地緩解這些擔憂,并為大幅提高gaslimit打開空間。但是,即使在實施了無狀態和狀態到期之后,gaslimit可能也只能安全地增加大約3倍,直到其他限制開始占主導地位為止。
分片從根本上繞過了上述限制,因為它將區塊鏈上包含的數據與單個節點需要處理和存儲的數據解耦。它們使用先進的數學和密碼技術來間接驗證區塊,而不是節點通過親自下載和執行來驗證區塊。
因此,分片區塊鏈可以安全地擁有非分片區塊鏈無法達到的交易吞吐量水平。這確實需要大量的密碼學智慧來創建高效而簡單的完全驗證方式,成功地拒絕無效區塊,但這是可以做到的:理論已經很成熟,基于規范草案的概念驗證已經在進行中。
以太坊正計劃使用二次方分片,因為節點必須能夠處理單個分片和信標鏈(必須為每個分片執行一定數量的管理工作),所以總可拓展性受到限制。如果分片太大,節點將無法再處理單個分片,如果分片太多,節點將無法再處理信標鏈。這兩個約束的乘積形成了上限。
可以想象,通過進行立方分片甚至指數分片,可以走得更遠。在這樣的設計中,數據可用性抽樣肯定會變得復雜得多,但這是可以做到的。但是,以太坊不會比二次曲線走得更遠。原因是,交易分片實際上無法實現額外的可拓展性增益,除非其他風險變得非常高。
那么這些風險是什么?
1)最小用戶數
可以想象,只要有一個用戶愿意參與,非分片區塊鏈就可以運行。分片區塊鏈不是這樣的:沒有一個節點可以單獨處理整個區塊鏈,因此需要足夠的節點來一起處理。如果每個節點可以處理50個TPS,而區塊鏈需要處理10000個TPS,那么鏈上至少需要200個節點才能運行。
如果該區塊鏈在任何時間出現少于200個節點的情況,那要么節點無法跟上區塊鏈,要么節點無法檢測到無效區塊,或者可能會發生許多其他不良情況,這具體取決于節點軟件的安裝方式。
如果分片區塊鏈的容量增加10倍,則最小節點數也將增加10倍。那么,你可能會問:為什么我們不從一點點容量開始,在看到大量用戶涌入時再增加容量;而如果用戶數減少,則減少容量?因此我們能掌握實際需要它的部分。?
這里有一些問題:
區塊鏈本身無法準確地檢測到有多少個唯一節點,因此這將需要某種治理來檢測和設置分片數量。超出容量限制很容易成為分裂和沖突的源頭。
如果許多用戶突然意外退出,該怎么辦?
增加分叉啟動所需的最小節點數,會使得抵御惡意收購變得更加困難。
幾乎可以肯定,最低節點數最好不超過1000。因此,似乎很難證明具有超過數百個分片的區塊鏈是合理的。
2)歷史可檢索性
用戶真正珍視的區塊鏈的重要屬性是永久性。當公司破產或失去維護該生態系統的能力時,存儲在服務器上的數字資產將在10年后被清除。另一方面,以太坊上的NFT是永久存在的。
是的,人們將在2371年仍在下載和檢索你的加密貓。
但是一旦區塊鏈容量過高,存儲所有這些數據就會變得更加困難。如果某個時刻遇到了很大的風險,歷史的某些部分中將沒有人來存儲。
量化這種風險很容易。以區塊鏈的數據容量為單位,乘以30即可得到每年以TB為單位存儲的數據量。當前的分片計劃的數據容量約為1.3MB/秒,因此約為40TB/年。如果將其增加10倍,則將變為400TB/年。
如果我們希望數據不僅可以訪問,而且可以方便地到達,則還需要元數據,因此每年需要4PB,或者10年后需要達到40PB。這是大多數分片區塊鏈可以安全獲得的合理上限。
因此,看起來在這兩個維度上,以太坊分片設計實際上已經大致瞄準了相當接近合理的最大安全值。參數可以增加一點,但不能增加太多。
四、總結
嘗試擴展區塊鏈的方法有兩種:基本的技術改進和簡單的增加參數。首先,增加參數聽起來很有吸引力:如果你在餐巾紙上進行數學運算,就很容易說服自己,家用筆記本電腦每秒可以處理數千筆交易,不需要ZK-SNARK、rollups或分片。不幸的是,這種方法從根本上有缺陷,其中有很多微妙的原因。
運行區塊鏈節點的計算機無法耗費100%的CPU容量來驗證區塊鏈;他們需要很大的安全邊際來抵抗意外的DoS攻擊,他們需要備用容量來執行諸如在內存池中處理的事務。并且用戶不希望在計算機上運行節點以使該計算機無法同時用于任何其他應用程序。
帶寬同樣也有開銷:10MB/s的連接并不意味著你每秒可以擁有10MB的塊,每12秒最多可能有1-5MB的塊,與存儲相同。增加運行節點的硬件配置并將節點的運行限制在特定參與者上并不是解決方案。對一個要去中心化的區塊鏈來說,普通用戶能夠運行節點并且擁有一種運行節點的常見活動文化是至關重要的。
基本的技術改進肯定是起作用的。當前,以太坊的主要瓶頸是存儲容量,無狀態性和狀態到期可以解決此問題,并允許將其增加多達約3倍,因為我們希望運行一個節點比現在變得更容易。分片的區塊鏈可以進一步擴展,因為分片的區塊鏈中沒有單個節點需要處理的交易。
但即便如此,容量還是有限制的:隨著容量的增加,最低節點數也會增加,而歸檔鏈的成本也會增加。
但是我們不必太擔心:這些限制足夠高,我們可以在區塊鏈完全安全的情況下每秒處理超過一百萬筆交易。但要做到這一點,而不犧牲區塊鏈的去中心化,還需要付出努力。
Tags:區塊鏈以太坊VITCRE區塊鏈可以看作是以太坊幣最新價格美元行情curriculum-vitaeDecred-Next
鏈捕手消息,基于波卡的合成資產協議Coinversation宣布與智能合約平行鏈Plasm達成戰略合作,通過這次合作,Coinversation將與Plasm團隊緊密合作.
1900/1/1 0:00:00本文來源于律動BlockBeats,原文標題:《HowCityCoinsCanFundYourCity》,作者為PatrickStanley,Freehold,并經由StacksChina編譯.
1900/1/1 0:00:00鏈捕手消息,去中心化交易平臺DeversiFi宣布完成一輪500萬美元融資。本輪融資由ParaFiCapital領投,DefianceCapital、LightspeedVenturePartn.
1900/1/1 0:00:00本文發布于星球日報,作者:秦曉峰。近期,加密市場迎來大回調。比特幣接連跌破四萬、三萬美元關口,其他加密貨幣價格基本腰斬,「幣圈崩盤」登上微博熱搜.
1900/1/1 0:00:00鏈捕手消息,據此前報道,智安智能鏈上AMM協議Uranium“被黑”,損失金額達5000萬美元.
1900/1/1 0:00:00本文作者為PackyMcCormick,并經由胡韜編譯。以太坊是近期加密市場最關注的話題,EIP1559和ETH2.0使得以太坊的敘事即將迎來根本性轉折,那么這將對行業帶來哪些影響?海外媒體人P.
1900/1/1 0:00:00