以太坊生態的最大挑戰之一是如何在資源有限(例如,CPU、帶寬、內存、磁盤空間)的前提下實現低延遲和高吞吐量。
系統的去中心化程度取決于網絡中最弱的節點驗證系統規則的能力。可以在低資源硬件上運行的高性能協議被稱為 “可伸縮的(scalable)”。
在本文中,我們將深入探究現代 “Layer 2 方案” 的原則,這些方案的安全模型,及其在解決以太坊可擴展性問題上采取的策略。
本文的預設讀者是那些對密碼學技術感興趣的人。如果你想要深入了解以太坊前沿可擴展性技術,以及如何設計并構建這類系統,千萬不要錯過這篇文章。
在本文中,重要的關鍵詞和概念都已加粗,因為這些都是你在了解密碼學貨幣技術時經常遇到的術語。本文涉及的概念比較復雜。如果你在閱讀中遇到困惑,請不要放棄,守得云開見月明。
在比特幣和以太坊等去中心化網絡中,運行節點的資源要求主要有三種:
帶寬:下載并廣播區塊鏈相關數據的成本。
計算:在腳本或智能合約中運行計算的成本。
存儲:出于索引目的存儲事務數據的成本,以及為了繼續處理新的事務塊而存儲 “狀態” 的成本 。
影響性能的因素有:
吞吐量:系統每秒可處理事務(transaction)的數量
上海市《徐匯區關于支持元宇宙發展的若干意見》正在面向社會征求意見:8月2日消息,據上海市徐匯區政府官方文件通知,徐匯區已于近日發布《徐匯區關于支持元宇宙發展的若干意見(征求意見稿)》,現公開征求市民和有關單位的意見,征求意見截止日期為2022年8月20日。征求意見稿提到,將對聚焦虛擬現實、增強現實、數字孿生、人工智能、區塊鏈、物聯網等元宇宙底層支撐技術的企業進行扶持,助力企業等創新主體開展研發攻關,推動企業加快建設5G/6G、GPU、交互、云化、物聯網等元宇宙后端基礎設施,鼓勵企業研發生產虛擬主機、VR(虛擬現實)、AR(增強現實)、MR(混合現實)、腦機交互等元宇宙終端設備,支持企業在社交消費、教育醫療、文體娛樂、政務管理等領域開展符合法律規定的元宇宙場景內容搭建和生產。
其中,對開展元宇宙關鍵技術研發的企業,補助總額最高可至500萬元。特別重大的項目,可按“一事一議”原則依法給予支持。征求意見適用于工商注冊和稅務登記關系均在徐匯區,信用記錄良好的元宇宙相關領域企業及機構。[2022/8/2 2:54:04]
延遲:處理一筆事務所需的時間
比特幣和以太坊等新興密碼學貨幣網絡的理想特性是去中心化。那么問題來了,網絡是如何實現去中心化的呢?
低信任:有了這個特性,任何人都能自主驗證比特幣的總供應量永遠不會超過 2100 萬個,及其持有的比特幣不是偽造的。運行節點軟件的人可以獨立計算最新狀態,并驗證出塊流程是否遵循所有規則。
Lbank藍貝殼:關于更新處理Grams回購計劃進程的公告:據官方消息,Lbank藍貝殼表示將于八月份完成Grams的退款結算。經過LBank團隊最近三個月的不懈努力,Lbank藍貝殼相關的Grams退幣的相關溝通已結束,目前正在進行最終的資金結算環節。LBank團隊已經完成所有kyc資料提交,待相關方面打款后,Lbank藍貝殼將第一時間與用戶進行資產的結算與發放。據了解,Lbank藍貝殼關于Grams合計退款數量為:6,098,400 USDT,預計8月份內將會完成退款結算,并請沒有將相關資產轉入回購賬戶的用戶,盡早轉入,確保第一時間能獲得退款,請廣大用戶及時關注公告以及社區消息。[2021/8/4 1:34:08]
低成本:如果節點軟件的運行成本很高,人們就會選擇依靠可信第三方來驗證狀態。成本高意味著信任要求也高,這是我們極力想要避免的。
另一個理想特性是可擴展性:吞吐量(和延遲)能夠隨運行節點的成本增加呈超線性增長(減少)。這個定義很棒,但是并未指明與 “信任” 慣性。因此,我們另外定義了“去中心化可擴展性”:在幾乎不會提高系統信任假設的情況下實現可擴展性。
以太坊的運行時環境是 EVM(以太坊虛擬機)。在 EVM 中,事務在執行不同操作時需要承擔的成本不同(例如,存儲操作的成本大于添加操作)。事務的計算單位叫做 “gas”。在以太坊系統中,每個區塊的 gas 上限被設為 1250 萬 gas。平均每 12.5 秒可以挖出一個區塊。由此可得,以太坊的延遲是 12.5 秒,吞吐量是每秒 100 萬 gas。
波蘭金融監管機構發布關于幣安的公開警告:在幣安面臨全球監管機構的審查之際,波蘭金融監管機構向消費者發出了關于該加密貨幣交易所的警告。波蘭金融監管局(PFSA)就幣安在世界各地日益嚴重的監管問題發表了一份聲明,強調該公司的業務在中歐國家不受監管。(CoinTelegraph)[2021/7/8 0:37:01]
你可能會問一個問題:每秒 100 萬 gas 能做什么?
每秒可完成大約 47 筆 “簡單轉賬” 事務。所謂 “簡單轉賬” 事務,就是指 “A 向 B 轉了一筆 ETH” 這樣最基礎的事務。每筆事務需要 2.1 萬 gas。
每秒可完成大約 16 筆 ERC20 代幣轉賬。這類事務相比 ETH 轉賬事務需要執行更多存儲操作,因此每筆事務需要約 6 萬 gas。
每秒可完成大約 10 筆 Uniswap 資產交換操作。代幣對事務的平均成本約為 10.2 萬 gas。
……選擇你感興趣的事務,用 100 萬 gas 除以其 gas消耗量(1250 萬/12.5/gas)。
請注意,隨著事務的執行復雜度提高,系統的吞吐量急劇下降。還有很大的提升空間!
方案 1:使用中間方
我們可以使用大家都信任的第三方來達成所有事務。這樣一來,我們就可以得到很高的吞吐量,并將延遲降至亞秒級。簡直太棒了!這樣也不會改變任何系統參數,但是我們需要參與一個由第三方單方面設置的信任模型。第三方可能會對我們進行審查,甚至奪走我們的資產,這就不妙了。
孫宇晨關于太陽幣Sun的推文被Wallstreetbets官方轉發:據官方最新消息,WallStreetBets?Reddit社區轉發了波場TRON創始人兼BitTorrent?CEO孫宇晨關于太陽幣SUN的推文。推文內容:“太陽幣SUN 已成為SUN Network的核心代幣。SUN Network 計劃是波場主網的擴容計劃,包含智能合約應用側鏈(DAppChain)、跨鏈通訊等一些列擴容項目。其中 DAppChain 為波場的側鏈項目,著重為波場主網提供無限擴容能力,同時幫助 DApp 以更低的 Energy 消耗,安全高效地在波場上運行。”[2021/1/30 18:28:38]
方案 2:擴大區塊容量并提高出塊頻率
我們可以通過減少出塊時間來降低時延,我們還可以通過提高區塊 gas 上限來提高吞吐量。這一改變可能會導致節點運營成本提高,從而阻礙人們運行節點(就像 EOS、Solana 和 Ripple 那樣)。
方案 1 會提高對信任的需求,方案 2 會增加成本。因此,二者都不是理想的可擴展性方案。
接下來會涉及一些關于哈希函數和默克爾樹的知識。
了解了這么多之后,我們來模擬一段蘇格拉底式對話,看看能否找到一個既能提高以太坊的實際吞吐量,又不會增加用戶和節點運營者負擔的協議。
動態 | CoinField將于10月15日公布關于正在開展的XRPL項目的更多信息:此前,加拿大交易平臺CoinField的首席執行官Bob Ras透露,其團隊目前正在開展一個基于XRP Ledger的重大項目。CoinField的開發人員在過去的6個月里一直在研究這個項目。CoinField在本月初宣布,CoinField啟動XRP驗證器,為即將到來的XRPL項目做準備。更多信息將在2019年10月15日向公眾宣布。該公司還將在11月8日上午11:50(CET)的馬耳他AI和區塊鏈峰會上正式介紹該新生態系統的詳細信息。 (globenewswire)[2019/10/8]
問:我們想要提高以太坊的可擴展性,又不想改變其信任和成本假設。我們該怎么做?
答:可以嘗試降低現有操作的成本(參見上述三類操作)。不過,說起來容易做起來難,我們先來看一下以太坊的架構:
以太坊網絡中的每個節點目前都存儲并執行來自用戶的每筆事務。事務是在 EVM 中執行的,并與 EVM 的狀態(例如,合約存儲項、余額等)進行交互(這一成本很高)。常見的智能合約優化技術主要聚焦于在最大程度上減少與狀態交互的次數,但是它們起到的作用很有限。
問:是否存在不與狀態交互就能達成交互的方法,以此降低資源成本?
答:在極端情況下,我們是否可以將所有執行都轉移到鏈下,并將數據保存在鏈上?我們可以引入第三方,即,排序者(sequencer),來做到這點。排序者負責在本地存儲并執行用戶提交的事務。為了保持系統的活性(liveness),排序者會定期將它們收到的事務的默克爾根以及狀態根提交到以太坊上。這個思路是正確的,因為O(N) 筆鏈下事務只需在以太坊上存儲 O(1) 的狀態數據。
問:通過使用排序者執行鏈下計算,只將默克爾根發布到鏈上,我們就能增強以太坊的可擴展性了是嗎?
答:是的。
問:也就是說,只要我們選擇了排序者,就能大幅降低轉賬成本。那用戶怎么存錢進去呢?
答:你在以太坊區塊鏈上把錢存進某個合約,就能加入這樣的系統了。排序者會將相應的存款記在你的名下。用戶只需要發送一筆事務稱 “我想要取出 3 ETH,我當前的賬戶余額大于 3 ETH,這是證明”,就可以取出資金。即使 L1 上沒有該用戶的實際狀態,該用戶也可以提供默克爾證明并引用排序者發布的狀態根來證明自己在當前狀態下擁有足夠多的資金。
問:我們已經確定用戶需要提供默克爾證明才能取出資金。用戶如何獲得構建默克爾證明所需的數據?
答:用戶可以要求排序者來提供數據!
問:如果總是聯系不上排序者,該怎么辦?
答:這種情況可能是因為排序者作惡,或因技術問題掉線,這會導致性能退化(甚至盜竊)。因此,我們必須要求排序者將完整的事務數據提交到鏈上,只用于存儲,不用于執行。這里的目的是實現數據可得性。由于所有數據都永久存儲在以太坊上,即使一個排序者倒下了,新的排序者也可以從以太坊上重新找回所有與 Layer2 相關的數據,重新構建最新的 L2 狀態,并接替上一個排序者的工作。
問:如果排序者在線卻拒絕向我提供默克爾證明數據,我可以從以太坊上下載這些數據對嗎?
答:對的,你可以自己同步一個以太坊節點,也可以從眾多節點托管服務提供商中選擇一家。
問:我還有個不明白的地方……如何將數據存儲在以太坊上卻不執行它?難道不是每筆事務都要經過 EVM 執行的嗎?
答:假設你提交了 10 筆 A 向 B 轉 ETH 的事務。執行每筆事務需要執行以下操作:增加 A 的 nonce,減少 A 的余額,并增加 B 的余額。這需要多次寫入和讀取世界狀態。你可以將所有事務的編碼發送至智能合約的publish(bytes _transactions) public { }函數。請注意,這個函數的函數體是空的!也就是說,如此發布的事務數據是不會被解釋、執行或訪問的。它只存儲在區塊鏈的歷史日志中(寫入日志的成本很低)。
問:我們能信任排序者嗎?如果排序者發布非法的狀態轉換怎么辦?
答:無論排序者何時發布一批狀態轉換,都會有 “爭議期”。在 “爭議期” 內,任何人都可以發布 “欺詐證明” 來證明其中某個狀態轉換是無效的。欺詐證明就是通過重放導致鏈上發生狀態轉換的事務,并將得到的狀態根與排序者發布的狀態根進行對比。如果兩個狀態根不同,則欺詐證明成功,狀態轉換被取消。跟在該無效狀態轉換后面的狀態轉換也會被取消。爭議期一過,就無法再對事務提出爭議,即,事務被敲定。
問:等等!你之前明明說過,只要(a)會增加成本,或(b)引入新的信任假設,就是不可行的可擴展性方案。你這里提到的方案不是要假設時刻有人會報告欺詐嗎?
答:沒錯。我們假設有一組被稱為 “驗證者” 的實體負責監控欺詐行為。如果 Layer 1 和 Layer 2 之間出現狀態不匹配的情況,驗證者就會發布欺詐證明。我們還假設驗證者能夠在爭議期內將其欺詐證明發布到以太坊區塊鏈上。我們認為,驗證者的存在是一個弱假設。想象一下,如果有數萬名用戶采用該方案,你只需要 1 個人來擔任驗證者的角色。聽起來不是那么不切實際吧!另外,改變以太坊的信任模型,或增加運行以太坊節點的成本是一個強假設,會做出我們不想要的改變。這就是我們的中心化可擴展性定義中的 “幾乎不會改變底層系統的設想” 的意思。
問:我同意會有人擔任驗證者的角色,因為這個新的解決方案牽涉到很多人的利益。但是,具體怎樣還得取決于實際成本。那么,運行驗證者和排序者需要消耗多少資源?
答:排序者和驗證者必須運行一個以太坊全節點(而非歸檔節點),以及一個 L2 全節點來生成 L2 狀態。驗證者運行創建欺詐證明的軟件,排序者運行打包并發布用戶事務的軟件。
問:就這些嗎?
答:沒錯!恭喜!你已經重新發現了?Optimistic Rollup ,這個 2019 至 2021 年最有前景的可擴展性方案。我可沒有在說大話,這是以太坊社區經過多年研究得出的成果。也就是你在這段簡短的對話中聽到的。
:我們建議讀者閱讀 Vitalik 的雄文《區塊鏈資源定價》。
:請注意,存儲 “狀態(賬戶余額、合約字節碼和 nonce)” 的成本比存儲原始事務數據的更高。
:Optimistic Rollup 就是 “optimistic contract(樂觀合約)” 和 “on chain data availability(鏈上數據可得性,又稱 “數據匯總”)” 的合體。
要點: Opium Finance為DeFi中的各種風險類型(例如破產風險和智能合約風險)提供用戶友好的代幣化保護產品.
1900/1/1 0:00:00零知識證明(ZKP)發展至今,大多數方案都是基于低級別表述語言實現的,例如 QAP、R1CS 或 Circuit.
1900/1/1 0:00:00算法穩定幣旨在通過自動調整穩定幣的供應量以滿足需求來維持穩定的價格。我們將在這里介紹三種主要類型:基本模型、儲備支持模型和鑄幣稅共享模型(這一部分僅做簡單介紹,后續將在第3部分中詳細展開).
1900/1/1 0:00:00親愛的用戶,我們很高興地宣布,Seaweed Finance ISO 將于 2021 年 3 月 13 日11:00(UTC+8)開啟ISO認購通道.
1900/1/1 0:00:00Metaverse 是目前科技和游戲領域最火的概念之一,理解 Metaverse 有助于我們更好理解加密行業中同樣是聚光燈下的寵兒:NFT 和區塊鏈游戲.
1900/1/1 0:00:00ABOUT CoinList BZZ購買預約流程 作者:藍貝殼云儲 隨著主網即將軟上線,Swarm官方宣布將在6月14日于CoinList上開啟其代幣BZZ的公開售賣活動.
1900/1/1 0:00:00