以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

Vitalik:協議設計中的“封裝復雜性” vs. “系統復雜性”_VIT

Author:

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

以太坊協議設計的主要目標之一是最小化復雜性:使協議盡可能簡單,同時仍然使區塊鏈能夠做好一個有效的區塊鏈網絡需要做到的事情。以太坊協議在這方面還遠遠不夠完美,特別是因為它的很多部分都是在 2014-16 年設計的,當時我們對它的理解要少得多,但我們仍然在盡可能地積極努力降低復雜性。

然而,這個目標的挑戰之一是復雜性很難定義,且有時,你必須在兩個引入不同種類復雜性和具有不同代價的選擇之間進行權衡。我們如何比較?

有一個強大的智能工具可以讓我們對復雜性進行更細致的思考,那就是區分我們所謂的封裝復雜性?(encapsulated complexity) 和系統復雜性?(systemic complexity)。

當一個系統的子系統內部復雜,但向外部呈現一個簡單的“接口” (interface) 時,就是出現了「封裝復雜性」。當系統的不同部分甚至不能被清晰地分開,并且相互之間有復雜的交互時,「系統復雜性」就出現了。

Vitalik:以太坊需要改進的不僅是協議的功能,需要對應用程序和錢包進行深度改變:金色財經報道,以太坊創始人Vitalik Buterin發布《The Three Transitions》文章。Vitalik稱,當以太坊從一個年輕的實驗性技術過渡到一個成熟的技術棧,能夠真正為普通用戶帶來開放、全球和無需許可的體驗,堆棧需要大致同時經歷三個主要的技術過渡:向L2擴展過渡,每個人都轉向Rollup;向錢包安全過渡,每個人都使用智能合約錢包;向隱私過渡,確保保護隱私的資金轉移可行。

由于上述原因,這三個轉變至關重要。但它們也具有挑戰性,因為要妥善解決這些問題需要密切協調。需要改進的不僅是協議的功能;在某些情況下,我們與以太坊交互的方式需要從根本上改變,需要對應用程序和錢包進行深度的改變。[2023/6/9 21:27:01]

以下是幾個例子。

BLS 簽名 vs. Schnorr?簽名

BLS 簽名和 Schnorr 簽名是兩種常用的可由橢圓曲線構成的加密簽名方案。

BLS 簽名在數學上看起來非常簡單:

現場 | Vitalik:公鏈的價值來自于不同應用的鏈接:金色財經現場報道,10月27日,第六屆區塊鏈全球峰會于上海開幕,峰會的圓桌討論環節,以太坊創始人Vitalik Buterin分享表示,我們的加密技術生態系統重要的是整個生態系統的發展,我們的價值來自于不同應用的鏈接,以及不同區塊鏈間的交互。

針對鏈的升級,我認為解決方式在于在協議上,此外我們要優化不同層的性能,通過技術融合我們做一些改變,針對隱私保護,零知識證明是一個重要的技術方式,但對于隱私保護來說,有些信息需要公開,有些需要保護,需要具體場景具體考慮。

此外,如果想把傳統的金融服務遷移到公鏈上,是很多公鏈無法做到,從安全角度來看,系統也需要檢驗,這是需要時間的。[2020/10/27]

H 是一個哈希函數,m 是消息,k 和 K 是私鑰和公鑰。到目前為止,很簡單。然而,真正的復雜性隱藏在 e 函數的定義中:橢圓曲線配對(elliptic curve pairings),這是所有密碼學中最難以理解的數學部分之一。

波場與WAVES達成戰略合作,將利用Gravity連接區塊鏈智能合約語言:據官方消息,波場已與WAVES達成戰略合作,Waves和TRON將一起利用Gravity來連接各自區塊鏈的智能合約語言,即Ride和Solidity。Gravity是一個無基礎代幣的預言機,具有跨鏈通信網絡。TRON和Waves正在通過Gravity建立一座橋梁,這將允許兩個生態系統為兩個用戶群提供更多的服務。波場和Waves的生態系統計劃將這一趨勢擴展到其他區塊鏈生態系統并以此為鏈間DeFi行業帶來革命性改變。[2020/8/14]

現在,我們來看看 Schnorr 簽名。Schnorr 簽名只依賴于基本的橢圓曲線。但是簽名和驗證邏輯有點復雜:

所以…哪種類型的簽名“更簡單”?這取決于你在乎什么!BLS 簽名具有巨大的技術復雜性,但復雜性都隱藏在 e 函數的定義中。如果你把 e 函數看作一個黑盒,BLS 簽名實際上是非常簡單的。另一方面,Schnorr 簽名的總體復雜性較低,但有更多的部分,能以一種微妙的方式與外部世界互動。

動態 | Waves發布互操作性協議Gravity Hub:金色財經報道,俄羅斯開源區塊鏈平臺Waves正在推出Gravity Hub,這是一個與區塊鏈無關的協議,旨在解決互操作性問題。它還會將來自外部世界的數據饋送到區塊鏈。Gravity Hub本質上是一個沒有任何代幣的區塊鏈,但是可以與Waves平臺、Waves Enterprise或以太坊等其他區塊鏈進行通信。[2019/12/12]

例如:

進行 BLS 多簽 (兩個密鑰 k1 和 k2 的組合簽名) 很簡單:只需 σ1+σ2。但是 Schnorr 多簽名需要兩輪交互,并且需要處理一些棘手的 Key Cancellation 攻擊。

Schnorr 簽名需要生成隨機數,BLS 簽名不需要。

橢圓曲線配對通常是一個強大的“復雜性海綿”,因為它們包含大量封裝復雜性,但使解決方案具有更少的系統復雜性。這也適用于多項式承諾領域:將 KZG 承諾 (需要配對) 的簡單性與更復雜的內積證明 (inner product arguments,不需要配對) 的內部邏輯進行比較。

現場 | Vitalik Buterin:“中心化”系統涉及高成本 分片技術能減少交易固定成本:金色財經現場報道,今日,由金色財經提供戰略媒體支持的以太坊產業發展峰會在香港舉辦,會上以太坊創始人Vitalik Buterin發表觀點:中心化系統通常涉及較高的固定成本,以太坊技術可以減少相關交易成本。[2018/9/8]

密碼學 vs. 加密經濟學

在許多區塊鏈設計中出現的一個重要設計選擇是密碼學 (cryptography) 與加密經濟學 (cryptoeconomics) 的比較。這 (比如在 Rollups 中) 常常是在有效性證明 (即 ZK-SNARKs) 和欺詐證明之間做出選擇。

ZK-SNARKs 是復雜的技術。雖然 ZK-SNARKs 工作原理背后的基本思路可以在一篇文章中解釋清楚,但實際上實現一個 ZK-SNARK 來驗證一些計算涉及到比計算本身多很多倍的復雜性 (因此,這就是為什么用于 EVM 的 ZK-SNARKs 證明仍在開發中,而用于 EVM 的欺詐證明已經在測試階段)。有效地實現一個 ZK-SNARK 證明涉及到了對特殊目的進行優化的電路設計、使用不熟悉的編程語言以及許多其他挑戰。另一方面,欺詐證明本身就很簡單:如果有人提出挑戰,你只需直接在鏈上運行計算。為了提高效率,有時會添加一個二進制搜索方案,但即使這樣也不會增加太多的復雜性。

雖然 ZK-SNARKs 很復雜,但它們的復雜性是封裝復雜性。另一方面,欺詐證明的相對較低的復雜性,是系統復雜性。以下是欺詐證明引入的一些系統復雜性的例子:

它們需要謹慎的激勵工程來避免驗證者的困境。

如果在達成共識的情況下完成,它們需要為欺詐證明提供額外的交易類型,同時還要考慮到如果許多參與者同時競相提交欺詐證明會發生什么。

它們依賴于一個同步網絡。

它們允許審查攻擊 (censorship attacks) 也被用來進行盜竊。

基于欺詐證明的 Rollups 要求流動性提供者支持即時提款。

由于這些原因,即使從復雜性的角度來看,基于 ZK-SNARKs 的純加密解決方案也可能是長期安全的:ZK-SNARKs 有著更復雜的部分,這是一些人在選擇 ZK-SNARKs 時必須考慮到的;但 ZK-SNARKs 有著更少的懸空警告,這是每個人都必須考慮到的。

各種例子

PoW (中本聰共識):較低的封裝復雜性,因為該機制非常簡單和容易理解,但有著更高的系統復雜性 (如自私挖礦攻擊)。

哈希函數:較高的封裝復雜性,但有著非常容易理解的屬性,因此系統復雜性很低。

隨機洗牌算法:洗牌算法既可以是內部復雜 (比如 Whisk),但卻能夠確保強大的隨機性,且易于理解;也可以是內部簡單,但卻能夠產生較弱且難以分析的隨機性屬性 (比如系統復雜性)。

礦工提取價值 (MEV):一個強大到足以支持復雜事務 (complex transactions) 的協議在內部可能相當簡單,但那些復雜的事務可能會對協議的激勵機制產生復雜的系統影響,因為它們會以非常不正常的方式提議區塊。

Verkle 樹:Verkle 樹確實有一些封裝復雜性,實際上比普通的 Merkle 哈希樹要復雜得多。然而,從系統上講,Verkle 樹提供了與鍵值 (key-value) 映射完全相同的相對干凈和簡單的界面。主要的系統復雜性“泄漏” (leak) 是攻擊者操縱 Verkle 樹使一個特定值有一個非常長的分支 (branch) 的可能性;但 Verkle 樹和 Merkle 樹的風險是相同的。

我們如何權衡呢?

通常,封裝復雜性較低的選擇也是系統復雜性較低的選擇,因此有一個選擇顯然更簡單。但在其他時候,你必須在一種復雜性和另一種復雜性之間做出艱難的選擇。在這一點上應該清楚的是,如果是封裝復雜性,那么其危險性就會更低。一個系統復雜性帶來的風險不是一個簡單的規范長度的函數;規范中一個 10 行代碼的小片段與其他部分相互作用會比 100 行代碼的函數更復雜,否則就會被視為一個黑盒。

然而,這種偏好封裝復雜性的方法存在局限性。任何一段代碼中都可能出現軟件 bugs,當代碼越來越大時,出現錯誤的概率接近 1。有時,當你需要以意想不到的新方式與子系統交互時,最初的封裝復雜性可能會變成系統復雜性。

后者的一個例子是以太坊當前的兩級狀態樹 (two-level state tree),其特征是帳戶對象樹,其中每個帳戶對象依次有自己的存儲樹。

這個樹結構是復雜的,但在一開始,這種復雜性似乎被很好地封裝:協議的其余部分作為可讀寫的鍵/值存儲與樹交互,所以我們不必擔心樹是如何構造的。

然而,后來,這種復雜性被證明具有系統性影響:帳戶擁有任意大的存儲樹的能力意味著沒有辦法可靠地期望某個特定的狀態部分 (例如。“所有以 0x1234 開頭的帳戶”) 具有可預測的大小。這使得將狀態分割成多個部分變得更加困難,使同步協議的設計和分布存儲進程的嘗試變得更加復雜。為什么封裝復雜性會變成系統性的?因為 interface 改變了。解決方法是什么?目前轉向 Verkle 樹的提議還包括轉向一個均衡的單層樹設計。

最終,在任何給定的情況下,哪種類型的復雜性更受歡迎是一個沒有簡單答案的問題。我們所能做的最好的事情是適度地支持封裝復雜性,但不要太多,并在每個具體的情況下演練我們的判斷。有時候,犧牲一點系統復雜性來極大地降低封裝復雜性確實是最好的做法。其他時候,你甚至會誤判什么是封裝的,什么不是。每種情況都是不同的。

撰文:Vitalik Buterin,以太坊聯合創始人

編輯:南風

Tags:VIT區塊鏈以太坊ARKTAVITT幣為什么要有區塊鏈怎么得到以太坊幣交易XMARK

幣贏交易所
全面解析Fantom:運作機制、代幣場景與生態現狀_TOM

原標題:《Fantom & FTM Token Explained: Why Is It So Unique?》在 2022 年之后,我們看到了 5 年 M 的區塊鏈和 M 的區塊鏈.

1900/1/1 0:00:00
你真的了解穩定幣嗎?_QUO

本文來自微信公眾號老雅痞(id:laoyapi)。穩定幣 "具有合法性”,因為它們避免了加密貨幣的所謂主要缺陷:其價格高波動性.

1900/1/1 0:00:00
金色Web3.0日報 | OpenSea在黑客事件后用戶活動下降近20%_NFT

1.DeFi代幣總市值:1069.79億美元 DeFi總市值 數據來源:coingecko2.過去24小時去中心化交易所的交易量:41.

1900/1/1 0:00:00
數字人民幣App再更新:第三批試點城市將揭曉_數字人

1、改善無障礙服務,密碼支持“旁白”朗讀;2、優化找回登錄密碼流程,安全又便捷;3、改進人臉識別功能,持續提升準確度;郵儲銀行在雄安新區發放首批數字人民幣企業貸款貼息資金:金色財經報道.

1900/1/1 0:00:00
以太坊研究者:為什么單片式 L1 區塊鏈是“死胡同”?_ROLL

我從來沒有寫過一篇關于“Optimistic Rollups vs. ZK-Rollups”的文章。它們都很棒.

1900/1/1 0:00:00
金色前哨|俄羅斯財政部草案:允許交易加密貨幣_加密貨幣

據俄羅斯財政部2月18日向俄羅斯政府提交的“關于數字貨幣”的聯邦法律草案,雖然禁止在俄羅斯聯邦境內使用加密貨幣作為支付手段,但將被視為一種投資工具.

1900/1/1 0:00:00
ads