以太坊生態的最大挑戰之一是如何在資源有限的前提下實現低延遲和高吞吐量。
系統的去中心化程度取決于網絡中最弱的節點驗證系統規則的能力。可以在低資源硬件上運行的高性能協議被稱為“可伸縮的”。
在本文中,我們將深入探究現代“Layer2方案”的原則,這些方案的安全模型,及其在解決以太坊可擴展性問題上采取的策略。
本文的預設讀者是那些對密碼學技術感興趣的人。如果你想要深入了解以太坊前沿可擴展性技術,以及如何設計并構建這類系統,千萬不要錯過這篇文章。
在本文中,重要的關鍵詞和概念都已加粗,因為這些都是你在了解密碼學貨幣技術時經常遇到的術語。本文涉及的概念比較復雜。如果你在閱讀中遇到困惑,請不要放棄,守得云開見月明。
區塊鏈資源要求
在比特幣和以太坊等去中心化網絡中,運行節點的資源要求主要有三種:
帶寬:下載并廣播區塊鏈相關數據的成本。
計算:在腳本或智能合約中運行計算的成本。
存儲:出于索引目的存儲事務數據的成本,以及為了繼續處理新的事務塊而存儲“狀態”的成本。
影響性能的因素有:
吞吐量:系統每秒可處理事務的數量
延遲:處理一筆事務所需的時間
Opside將于5月上線Pre-alpha測試網:金色財經報道,三層架構ZK-RaaS平臺Opside官網顯示,將于5月上線Pre-alpha測試網。同時,據「Opside激勵測試網預覽」一文顯示,Pre-Alpha測試網旨在測試PoS與PoW共識的混合體、測試ZK-Rollup啟動基地、完成Opside的ETH2.0 共識調整、完成可用的ZK-Rollup執行環境并豐富應用生態、支持多種方式滿足資產在不同層和ZK-Rollup之間的流動。Alpha測試網預計將于8月上線,旨在實現ZK-Rollup證明節點的去中心化、完整的PoW挖礦機制、定序器的去中心化、跨Rollup通信機制。最終測試網預計將于11月上線。[2023/5/2 14:37:51]
比特幣和以太坊等新興密碼學貨幣網絡的理想特性是去中心化。那么問題來了,網絡是如何實現去中心化的呢?
低信任:有了這個特性,任何人都能自主驗證比特幣的總供應量永遠不會超過2100萬個,及其持有的比特幣不是偽造的。運行節點軟件的人可以獨立計算最新狀態,并驗證出塊流程是否遵循所有規則。
低成本:如果節點軟件的運行成本很高,人們就會選擇依靠可信第三方來驗證狀態。成本高意味著信任要求也高,這是我們極力想要避免的。
另一個理想特性是可擴展性:吞吐量能夠隨運行節點的成本增加呈超線性增長。這個定義很棒,但是并未指明與“信任”慣性。因此,我們另外定義了“去中心化可擴展性”:在幾乎不會提高系統信任假設的情況下實現可擴展性。
MicroStrategy聯合創始人將比特幣閃電網絡地址集成到他的公司郵箱:金色財經報道,MicroStrategy聯合創始人兼執行主席Michael Saylor宣布將比特幣閃電網絡地址集成到他的公司郵箱地址,這意味著任何人都可以使用該電子郵箱 - saylor@microstrategy.com - 將比特幣 ( BTC ) 發送給這位 58 歲的億萬富翁。該集成使用Lightning Address協議,該協議允許開發人員將標準的 Lightning 發票或付款請求替換為電子郵件地址等互聯網標識符。閃電網絡是比特幣的第 2 層擴展解決方案,旨在使比特幣支付更便宜、更快捷。在發布有關集成的推文后,他一直在收到粉絲的小額比特幣捐贈。(Coindesk)[2023/4/18 14:09:47]
以太坊的運行時環境是EVM。在EVM中,事務在執行不同操作時需要承擔的成本不同。事務的計算單位叫做“gas”。在以太坊系統中,每個區塊的gas上限被設為1250萬gas。平均每12.5秒可以挖出一個區塊。由此可得,以太坊的延遲是12.5秒,吞吐量是每秒100萬gas。
你可能會問一個問題:每秒100萬gas能做什么?
每秒可完成大約47筆“簡單轉賬”事務。所謂“簡單轉賬”事務,就是指“A向B轉了一筆ETH”這樣最基礎的事務。每筆事務需要2.1萬gas。
ApeCoin發起創建去中心化事件網絡ApeCoinIRL提案,當前反對票超94%:金色財經報道,ApeCoin社區發起了提案AIP-226,其中提到將創建一個去中心化事件網絡ApeCoinIRL,吸引更多Web3和ApeCoin生態系統用戶入場,該網絡將幫助社區創建小型本地聚會、信息活動以及全球博覽會和會議,同時建立在一個集成了主日歷、活動目錄、CRM和票務應用程序的尖端技術堆棧,最終成為DAO中的IRL分銷網絡。不過,該提案似乎并未獲得社區支持,本文撰寫時反對票比例高達94.04%,贊成票比例5.02%,棄權票為0.94%,提案投票截止日期是4月13日。[2023/4/9 13:53:01]
每秒可完成大約16筆ERC20代幣轉賬。這類事務相比ETH轉賬事務需要執行更多存儲操作,因此每筆事務需要約6萬gas。
每秒可完成大約10筆Uniswap資產交換操作。代幣對事務的平均成本約為10.2萬gas。
……選擇你感興趣的事務,用100萬gas除以其gas消耗量。
請注意,隨著事務的執行復雜度提高,系統的吞吐量急劇下降。還有很大的提升空間!
方案1:使用中間方
我們可以使用大家都信任的第三方來達成所有事務。這樣一來,我們就可以得到很高的吞吐量,并將延遲降至亞秒級。簡直太棒了!這樣也不會改變任何系統參數,但是我們需要參與一個由第三方單方面設置的信任模型。第三方可能會對我們進行審查,甚至奪走我們的資產,這就不妙了。
Roblox:計劃今年晚些時候測試沉浸式廣告系統,并通過該系統獲利:金色財經報道,Roblox首席執行官兼聯合創始人David Baszucki證實,該公司計劃在今年晚些時候測試沉浸式廣告系統,因為它傾向于尋找通過該平臺獲利的新方法。
周二,該公司報告第二季度收入為5.912億美元,同比增長30%,但預訂量下降了4%。[2022/8/10 12:16:29]
方案2:擴大區塊容量并提高出塊頻率
我們可以通過減少出塊時間來降低時延,我們還可以通過提高區塊gas上限來提高吞吐量。這一改變可能會導致節點運營成本提高,從而阻礙人們運行節點。
方案1會提高對信任的需求,方案2會增加成本。因此,二者都不是理想的可擴展性方案。
重新認識OptimisticRollup
接下來會涉及一些關于哈希函數和默克爾樹的知識。
了解了這么多之后,我們來模擬一段蘇格拉底式對話,看看能否找到一個既能提高以太坊的實際吞吐量,又不會增加用戶和節點運營者負擔的協議。
問
:我們想要提高以太坊的可擴展性,又不想改變其信任和成本假設。我們該怎么做?
答
:可以嘗試降低現有操作的成本。不過,說起來容易做起來難,我們先來看一下以太坊的架構:
瑞士SIX Swiss Exchange 推遲加密服務部門SDX的推出:金色財經報道,由于當前的市場狀況,瑞士SIX Swiss Exchange 推遲了其加密服務部門 SIX Digital Exchange (SDX) 的推出。
該證券交易所是瑞士的主要證券交易所,也是歐洲同類交易所中的第三大證券交易所。去年9月,國家監管機構為其開了綠燈?向受監管機構推出與加密相關的服務。SDX 計劃為銀行、對沖基金和其他持牌金融公司提供托管和質押服務。據《華爾街日報》報道,現在,由于“當前的市場狀況”,該交易所的加密服務推出已無限期推遲,
在過去的一年里,瑞士的一些傳統金融業者已經涉足加密貨幣行業。除了六家瑞士交易所,其他還有瑞士阿拉伯銀行、BBVA 銀行和全國最大的在線銀行 Swissquote。該證券交易所預計將利用該國的富裕階層,使加密貨幣成為其投資組合的一部分。[2022/6/19 4:38:23]
以太坊網絡中的每個節點目前都存儲并執行來自用戶的每筆事務。事務是在EVM中執行的,并與EVM的狀態進行交互。常見的智能合約優化技術主要聚焦于在最大程度上減少與狀態交互的次數,但是它們起到的作用很有限。
問
:是否存在不與狀態交互就能達成交互的方法,以此降低資源成本?
答
:在極端情況下,我們是否可以將所有執行都轉移到鏈下,并將數據保存在鏈上?我們可以引入第三方,即,排序者,來做到這點。排序者負責在本地存儲并執行用戶提交的事務。為了保持系統的活性,排序者會定期將它們收到的事務的默克爾根以及狀態根提交到以太坊上。這個思路是正確的,因為O(N)筆鏈下事務只需在以太坊上存儲O(1)的狀態數據。
問
:通過使用排序者執行鏈下計算,只將默克爾根發布到鏈上,我們就能增強以太坊的可擴展性了是嗎?
答
:是的。
問
:也就是說,只要我們選擇了排序者,就能大幅降低轉賬成本。那用戶怎么存錢進去呢?
答
:你在以太坊區塊鏈上把錢存進某個合約,就能加入這樣的系統了。排序者會將相應的存款記在你的名下。用戶只需要發送一筆事務稱“我想要取出3ETH,我當前的賬戶余額大于3ETH,這是證明”,就可以取出資金。即使L1上沒有該用戶的實際狀態,該用戶也可以提供默克爾證明并引用排序者發布的狀態根來證明自己在當前狀態下擁有足夠多的資金。
問
:我們已經確定用戶需要提供默克爾證明才能取出資金。用戶如何獲得構建默克爾證明所需的數據?
答
:用戶可以要求排序者來提供數據!
問
:如果總是聯系不上排序者,該怎么辦?
答
:這種情況可能是因為排序者作惡,或因技術問題掉線,這會導致性能退化。因此,我們必須要求排序者將完整的事務數據提交到鏈上,只用于存儲,不用于執行。這里的目的是實現數據可得性。由于所有數據都永久存儲在以太坊上,即使一個排序者倒下了,新的排序者也可以從以太坊上重新找回所有與Layer2相關的數據,重新構建最新的L2狀態,并接替上一個排序者的工作。
問
:如果排序者在線卻拒絕向我提供默克爾證明數據,我可以從以太坊上下載這些數據對嗎?
答
:對的,你可以自己同步一個以太坊節點,也可以從眾多節點托管服務提供商中選擇一家。
問
:我還有個不明白的地方……如何將數據存儲在以太坊上卻不執行它?難道不是每筆事務都要經過EVM執行的嗎?
答
:假設你提交了10筆A向B轉ETH的事務。執行每筆事務需要執行以下操作:增加A的nonce,減少A的余額,并增加B的余額。這需要多次寫入和讀取世界狀態。你可以將所有事務的編碼發送至智能合約的
publish(bytes_transactions)public{}
函數。請注意,這個函數的函數體是空的!也就是說,如此發布的事務數據是不會被解釋、執行或訪問的。它只存儲在區塊鏈的歷史日志中。
問
:我們能信任排序者嗎?如果排序者發布非法的狀態轉換怎么辦?
答
:無論排序者何時發布一批狀態轉換,都會有“爭議期”。在“爭議期”內,任何人都可以發布“欺詐證明”來證明其中某個狀態轉換是無效的。欺詐證明就是通過重放導致鏈上發生狀態轉換的事務,并將得到的狀態根與排序者發布的狀態根進行對比。如果兩個狀態根不同,則欺詐證明成功,狀態轉換被取消。跟在該無效狀態轉換后面的狀態轉換也會被取消。爭議期一過,就無法再對事務提出爭議,即,事務被敲定。
問
:等等!你之前明明說過,只要會增加成本,或引入新的信任假設,就是不可行的可擴展性方案。你這里提到的方案不是要假設時刻有人會報告欺詐嗎?
答
:沒錯。我們假設有一組被稱為“驗證者”的實體負責監控欺詐行為。如果Layer1和Layer2之間出現狀態不匹配的情況,驗證者就會發布欺詐證明。我們還假設驗證者能夠在爭議期內將其欺詐證明發布到以太坊區塊鏈上。我們認為,驗證者的存在是一個弱假設。想象一下,如果有數萬名用戶采用該方案,你只需要1個人來擔任驗證者的角色。聽起來不是那么不切實際吧!另外,改變以太坊的信任模型,或增加運行以太坊節點的成本是一個強假設,會做出我們不想要的改變。這就是我們的中心化可擴展性定義中的“幾乎不會改變底層系統的設想”的意思。
問
:我同意會有人擔任驗證者的角色,因為這個新的解決方案牽涉到很多人的利益。但是,具體怎樣還得取決于實際成本。那么,運行驗證者和排序者需要消耗多少資源?
答
:排序者和驗證者必須運行一個以太坊全節點,以及一個L2全節點來生成L2狀態。驗證者運行創建欺詐證明的軟件,排序者運行打包并發布用戶事務的軟件。
問
:就這些嗎?
答
:沒錯!恭喜!你已經重新發現了OptimisticRollup,這個2019至2021年最有前景的可擴展性方案。我可沒有在說大話,這是以太坊社區經過多年研究得出的成果。也就是你在這段簡短的對話中聽到的。
注:
:我們建議讀者閱讀Vitalik的雄文《區塊鏈資源定價》。
:請注意,存儲“狀態”的成本比存儲原始事務數據的更高。
:OptimisticRollup就是“optimisticcontract”和“onchaindataavailability”的合體。
原文鏈接:
https://research.paradigm.xyz/rollups
作者:GeorgiosKonstantopoulos
翻譯&校對:
閔敏&
阿劍
2月7日隔夜重要動態一覽:21:00-7:00關鍵詞:馬斯克、林肯公園、灰度?1.CNBC主持人:馬斯克或正考慮將比特幣添加至公司財政部?2.
1900/1/1 0:00:00摘要:北京發放5萬份金額200元數字人民幣紅包;愛沙尼亞財政部正收緊加密許可證;尼日利亞央行已全面禁止比特幣及其他數字資產;馬斯克認可比特幣.
1900/1/1 0:00:00BTC午后行情分析及操作建議:截至2021年2月9日下午兩點過十分灰度持倉數據,BTC持倉量64玩枚價值304億美元,溢價率14.25%溢價5.70美元,1日持倉變化+366.88BTC.
1900/1/1 0:00:001.公布時間 北京時間2021年2月5日21:30悉尼時間2021年2月6日00:302.本期看點-推波助瀾VS扼殺搖籃澳大利亞東部標準時間本周六2月6日零點30分.
1900/1/1 0:00:00砸了100下,石頭紋絲未動! 第101下,轟然裂開! 裂開不是因為第101的敲打,是因為之前所有100下的努力!所以我們只管努力向前.
1900/1/1 0:00:00Asclepius是什么?Asclepius是一條醫療智能公鏈,未來基于Polkadot中繼鏈上的平行鏈,是可以有多條鏈的公鏈.
1900/1/1 0:00:00