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

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

Author:

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

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

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

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

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

B-Harvest將于4月14日推出代替Gravity DEX的新項目Crescent:4月8日消息,Gravity DEX開發團隊B-Harvest宣布代替Gravity DEX的新項目Crescent(CRE)計劃于4月14日推出,并將由Cosmos Hub轉向基于Cosmos的同名區塊鏈Crescent。B-Harvest團隊還計劃通過一系列新功能充實該平臺,包括跨區塊鏈借貸工具以及新的訂單簿DEX模型。一旦Crescent啟動,B-Harvest的舊協議Gravity將繼續運行,Crescent將向用戶提供質押收益獎勵,以吸引用戶將流動性遷移到新協議。

此前報道,Gravity DEX開發團隊成立代替Gravity DEX的新項目Crescent,Crescent已經公布了治理代幣CRE分配模型,總量2億枚,其中將向ATOM委托者(delegator)空投1億枚,另外1億枚作為戰略儲備。(CoinDesk)[2022/4/8 14:13:10]

以下是幾個例子。

BLS簽名vs.Schnorr?簽名

Vitalik Buterin:并不認為zkPorter具有比Optimistic Rollup更強的安全保證,且沒有緊密耦合性:以太坊聯合創始人Vitalik Buterin針對Matter Labs披露的zkPorter擴容方案表示:并不認為zkPorter具有比Optimistic Rollup更強的安全保證,寧愿將資產放在Optimistic Rollup中,而不是鏈下數據可用性系統中。zkPorter鏈下數據可用性的安全級別要低于基礎鏈,且沒有緊密耦合性(Tight coupling)。另一方面,分片中的數據可用性層將受到整個以太坊網絡的保護,并兼具緊密耦合性。如果某些應用程序同時使用鏈下數據可用性也是可以的,但前提是鏈下數據在基于分片的數據可用性可用之前明確為臨時措施,但是我認為這沒有必要。[2021/4/14 20:17:45]

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

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

聲音 | Vitalik:Libra 短期不足以影響以太坊 DeFi 生態 傳統領域并非以太坊強項:以太坊創始人 Vitalik Buterin 在回答“Facebook 區塊鏈項目 Libra 會影響以太坊 DeFi 生態嗎?”時表示,他認為短期內不會有太大影響,畢竟 Libra 明年才會推出,推出后也只是發布代幣,再往后才會推出智能合約。而目前以太坊的 DeFi 的規模已經相當大,而且在這兩年只會越來越壯大,以太坊的生態也會有更多方向的發展。如果 Libra 與以太坊架起橋梁,以太坊也會進行相應開發,讓 Libra 用戶進入以太坊的生態。總體來說,參與 Facebook 的 Libra 生態成員的類型自然相對保守,因此他們會在 Libra 生態中搭建傳統的設施,而這并不是以太坊的強項。[2019/6/29]

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

聲音 | Vitalik Buterin:可伸縮性、隱私性和可用性是以太坊的三大發展重點:據Invest In Blockchain消息,以太坊聯合創始人Vitalik Buterin在與Abra首席執行官Bill Barhydt交流時分享了以太坊的三大發展重點:可伸縮性、隱私性以及可用性。其表示,以太坊網絡需要每秒處理100,000筆交易才能成為未來可行的平臺。此外,Vitalik Buterin還表達自己對比特幣作為一種價值儲存手段將如何發揮作用的看法,其認為如果比特幣的意圖是充當一種貨幣,那么轉向“權益證明”(Proof-of-Stake)會更好。[2019/3/21]

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

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

Vitalik Buterin:BTC本身是有問題的,BCH值得去爭取:Vitalik在推特上發文稱,“BCH是比特幣名稱的合理競爭者,雖然社區支持隔離見證(SegWit)已經一年有余,但目前并未得出合理的擴容方案。”[2017/11/16]

例如:

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

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

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

密碼學vs.加密經濟學

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

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

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

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

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

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

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

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

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

各種例子

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

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

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

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

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

我們如何權衡呢?

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

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

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

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

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

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

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

編輯:南風

Tags:以太坊VITTERNAR以太坊價格今日行情實時VITES幣Statter Networklunar幣今日最新價格

比特幣價格
P2P和虛擬幣 新司解直接影響定罪+量刑_比特幣

昨日各大法律媒體爭相轉發了最高院關于修改《最高人民法院關于審理非法集資刑事案件具體應用法律若干問題的解釋》的決定,一石激起千層浪,對于非法集資在司法實踐中的定罪量刑必將產生重大影響.

1900/1/1 0:00:00
什么是加密領域的成功領導?_區塊鏈

雖然我之前曾表示不愿意在我的寫作中探索領導力的實際概念,但與更聰明的朋友的對話總是讓我開始思考——所以我們匯聚在這里.

1900/1/1 0:00:00
餐桌上怎么變出元宇宙?_ATL

實體的餐飲與虛擬的元宇宙,看起來風馬牛不相及,但最近全世界的餐飲企業都掀起了一股注冊元宇宙商標的熱潮.

1900/1/1 0:00:00
如果被全球金融體系拒之門外 俄羅斯會轉向比特幣嗎?_IFT

為應對俄羅斯入侵烏克蘭,西方國家采取了重大行動,限制俄羅斯進入全球金融體系。俄羅斯是否會面臨最終制裁還有待觀察.

1900/1/1 0:00:00
Coinbase公布21年Q4財報:收入創新高并達到24.9億美元 月活用戶達1140萬_COIN

北京時間今日凌晨5:00,Coinbase公布2021年第四季度和全年財報。受加密市場波動性影響,Coinbase第四季度收入達24.9億美元,較第三季度翻了一倍并創造歷史新高,凈利潤為8.4億.

1900/1/1 0:00:00
頂級買家幾乎「投降」 比特幣HODLer主導市場_HOD

隨著俄羅斯和烏克蘭之間爆發武裝沖突,全球市場面臨著非常清醒的一周。作為一種全球宏觀資產,而且由于市場永不“打烊”,比特幣的價格因此出現了很大波動.

1900/1/1 0:00:00
ads