以太坊Layer-2簡介
Layer-2擴展技術將交易移出鏈上(與layer-1擴展技術相反,后者旨在提高基礎鏈的交易吞吐量)。如果構建得當,Layer-2解決方案可利用區塊鏈的諸多好處(安全性、不可變性、去中心化性等),而不會造成相同的代價(確認時間慢、波動性和高交易成本等),這種權衡和假設是值得的。
在以太坊上構建的layer-2擴展技術的驅動原理是使用欺詐證明,而非有效性證明。有效性證明(如zk-S[NT]ARKS)可用于防止鏈外發生不正確的狀態轉換。不幸的是,除了資源極為密集之外,有效性證明是壟斷性的,其非競爭性生成,因此以有效性證明為中心的系統會趨向于被許可,因此不會去中心化。要了解“去中心化”意味著什么,請參閱前面關于可擴展性問題的文章。也許更重要的是,有效性證明只有在實現無缺陷的情況下,才有其良好的屬性,否則它們的表現無法比欺詐證明更好!
另一方面,欺詐證明在本質上是樂觀的:我們假設在挑戰證明不正確之前,一切都是正確的。這些證明的生成,通常是簡單和廉價的(特別是與生成有效性證明相比),因此任何人都可以參與。
過去幾年,以太坊的兩大主要擴展提案分別是子鏈(即Plasma)和狀態通道(例如雷電網絡等)。
Plasma
Plasma是子鏈設計的一個框架。Konstantopoulos將Plasma子鏈描述為“非托管側鏈”。
該定義規定:1)該側鏈不能竊取你的資金,2)該側鏈不能阻止你申請資金。這是通過使用一個無需信任(或者說幾乎是無需信任的)的雙向錨定來實現的。
子鏈的一個更精確的定義是:“無需信任的側鏈通過定期承諾,從其父鏈借用安全性。”
雙向錨定一直是最大的挑戰。前向錨定(父鏈→側鏈)的實現是很簡單的:其只需將資金鎖定到父鏈上的合約當中。但是,由于側鏈比父鏈更容易受到攻擊/操作,因此,后向錨定(側鏈→父鏈)是問題的根本原因。為解決這一問題,研究者們提出了幾種方法(列出的方法非詳盡):
1. 只支持單向錨定。這可以防止側鏈上的任何人惡意竊取父鏈上的資金。這種設計目前正被建議用于以太坊2.0中的信標鏈,以太幣(ETH)在父鏈(PoW以太坊鏈)上燃燒,同時在側鏈(PoS信標鏈)上標記為等值的BETH,這是沒有辦法反轉的(譯者注:至少在幾年內是這樣)。
2. 使用聯合錨定。在該方案中,一個或多個操作員通過多重簽名方案控制后向錨定過程。換句話說,運營者決定何時可在父鏈上解鎖資金。不幸的是,這種方案導致了側鏈被有效地托管,聯合側鏈的所有意圖和目的與中心化交易所是類似的;
3. Plasma(這篇文章的一半的主題)! Plasma允許幾乎無需信任的雙向錨定,特別是將資產從子鏈反向錨定回父鏈。它通過使用一個退出游戲來實現這一點,退出游戲隱式或顯式地使用欺詐證明,依賴于必須在給定超時內發出的挑戰(challenge)變化。請注意,與流行的觀點相反,Plasma本身并不支持低延遲交易,其只通過樂觀地承諾(commitment)將很多交易作為以太坊鏈上的單個哈希來增加吞吐量。實際上,子鏈交易的延遲可以被認為比沒有任何類似通道功能的父鏈交易的延遲要高。
附加說明
與所有依賴欺詐證明而非有效性證明的layer-2方案一樣,對于父鏈上的大多數區塊生產者,會有一個多數為誠實的信任假設。大多數礦工(在一個PoW鏈)可以審查交易:在防欺詐的情況下,如果挑戰被審查,那么資金就可能被偷。這就是為什么Plasma并不是完全無需信任的原因,實際上這是子鏈設計的一個基本附加說明。
Plasma的研究咋樣了?
關于Plasma研究進展,可以追溯到2018年9月份,讓我們看看Plasma在過去6個月的發展情況。
Plasma Cash(誕生于2018年3月)是Plasma的一個變體,它使用了一個不可替代的、類似通道的數據模型,而Plasma MVP(2018年1月)使用了一個可替代的UTXO數據模型(類似于比特幣)。與支付通道網絡不同,Plasma Cash允許用戶加入網絡,在不進行鏈上交易的情況下發送和接收幣。不幸的是,與支付通道網絡不同,這是通過要求在交易幣時傳遞不斷增長的幣歷史來實現的,并作為幣所有權的證明。這段歷史隨著Plasma鏈區塊的數量而線性增長。
Plasma Prime(誕生于2018年10月)是Plasma研究的下一個重要里程碑。其使用RSA累加器對Plasma Cash 幣歷史數據進行壓縮,而RSA累加器最初被建議用于批處理比特幣的UTXO。Konstantopoulos在這里優雅地寫了一篇關于RSA累加器的深入解釋文章,Bünz則給出了一次技術性討論演講。從高層次講,累加器是一個固定大小的整數,它可以證明由唯一素數標識的集合元素的成員身份或非成員身份,并且我們可以在此基礎上執行加法和除法操作。這有助于使以前Plasma Cash的線性幣歷史變成固定大小(無論其Plasma區塊數有多少)!
Plasma Group,該組織于2019年1月份被公開,這是一家從事于Plasma基礎研究和開發的新型非營利性組織。他們首先發布了Plasma Cashflow鏈的規范。這解決了在Plasma Cash中發現的幣碎片問題,但其沒有解決幣歷史的大小問題。最近,他們發布了一個使用predicates的通用Plasma設計。這種“plapp”設計的要點是,單個Plasma鏈可執行部署在以太坊父鏈上的合約狀態轉換。這意味著開發人員不再需要設置自己的Plasma網絡(包括編寫復雜的P2P客戶端等)來利用Plasma的擴展優勢,而是可以簡單地將predicate合約部署到以太坊上。
Loom Network則運用了Plasma Cash技術和委托權益證明(DPoS )機制運行了一個PlasmaChain。這并沒有提供任何新的研究成果,但確實顯示了早期迭代Plasma是如何被用于小的實際應用的。
Omisego在Rinkeby上發布了一個名為Ari的Plasma MoreVP實現的alpha版本。Hoard使用這個網絡在Hoard演示了一個名叫PlasmaDog的游戲。
未來的工作
MVP型Plasma子鏈的大規模退出問題,導致了該方向的研究陷入了困局。從高層次上講,MVP型Plasma鏈依賴于用戶完全驗證Plasma鏈,并在操作員生成無效區塊或操作員保扣留區塊時退出。退出在父鏈(以太坊)上執行,當前設計的最佳退出方案在退出數量上是線性的。在對抗性條件下,以太坊上運行的所有Plasma MVP鏈的安全累積吞吐量天花板,即為以太坊鏈本身的退出吞吐量。由于這個問題,大部分Plasma研究轉向了Plasma Cash及其衍生品。
而對于Plasma Cash變體而言,主要的減少漸進增長幣歷史的問題已經被解決。當然,使用RSA累加器(正如在Plasma Prime中一樣),并非是沒有缺點的:1)RSA累加器需要一個可信設置,可信設置的去中心化程度在加密貨幣領域中是一個爭議點,2)使用RSA累加器的緊湊和高效可驗證證明,仍然是當前研究的主題。
問:“你們通過10行代碼實現了RSA累加器嗎?” 開發者答:“好吧,是的,但實際上又沒有”
另見(非詳盡)
· Plasma Group (Twitter)(非盈利Plasma研發、Plasma Cashflow)
· Plasma實施者調用
· Learn Plasma(了解Plasma設計的資源)
· OmiseGO [Twitter] (Plasma MVP變體)
· Loom Network [Twitter] (Plasma Cash 變體)
· Georgios Konstantopoulos [Twitter]
· LeapDAO [Twitter] (Plasma Leap)
狀態通道
所謂以太坊的“通道”,是指通道參與者一致同意進行的layer-2構造。這要求所有網絡參與者對通道的任何更新進行數字簽名。這些通道更新可通過鏈上發送來解決爭議。考慮到各方可進行帶外通信以協調簽名,通道的延遲可能非常低,特別是與使用區塊鏈相比。
雖然支付通道的概念(兩個或多個締約方之間的通道促進它們之間的貨幣支付)已經存在了一段時間,但狀態通道的概念,最近在以太坊上得到了更積極的探索。狀態通道允許潛在的任意狀態轉換在鏈外發生,而不僅僅是支付,這為在鏈外執行可擴展的低延遲計算提供了可能性,并且具有與鏈上交易類似的安全性。
注意事項
與Plasma一樣,只有當基礎鏈未被區塊生產者(即以太坊的礦工)審查時,通道才可安全使用。
通道面臨的唯一最大的未解決問題,就是其statefulness(有狀態)的結果,只有最新的狀態是有效的(對抗條件下的要求)。這導致通道只支持副本,而不支持備份。為了說明這兩者之間的區別,請考慮以下幾點:私鑰和助記詞短語可以備份到紙錢包中。這些備份可以被復制、測試,并且在未來無限期地進行工作(理想情況下)。另一方面,安全管理通道狀態副本的要求,要更為復雜,并且在嘗試使用備份時會發生有趣的事情。
最后,通道不同于鏈,它們是基于一組固定的參與者而運行的。這在一定程度上被通道網絡所緩解,但路由和流動性問題使得它們目前無法作為解決方案(以及上述復制問題的復合)。始終在線的通道性質也仍未得到解決。
以太坊狀態通道的研究咋樣了?
盡管上面列出了所有關于狀態通道的注意事項,但是通道相比鏈具有顯著的優勢,包括接近即時的最終性和較低的通信開銷,這使得在很多情況下,使用通道進行通信會更便宜。
自狀態通道的論文在2018年6月份被發布以來,Counterfactual團隊(原名為L4)一直致力于圍繞其通用狀態通道架構構建開發者工具,該架構以反事實合約實例化為中心,其中合約的地址根據其初始化方式進行唯一定義,允許合約在鏈外使用,且只在鏈上創建(在同一地址),以防發生爭議。
為了實現反事實的實例化,一個新的操作碼 CREATE2被開發了出來,最近其通過北京時間3月1日發生的君士坦丁堡硬分叉被部署到了以太坊主網。操作碼實現了描述的功能,而它的缺失是通用layer-2結構部署中的一個關鍵障礙。
Patrick McCorry一直在努力開發Pisa,這是一個監視塔框架,用于在用戶下線時確保通道資金的安全,并且無法監視欺詐性通道關閉鏈。 Pisa監視塔是獨一無二的,因為它們包含了一個證明,表示監視塔被承包觀看一個通道,并允許它在發生不正當行為的情況下受到懲罰。然而,實施這一框架所需的資本鎖定以及由此產生費用的經濟學,仍然是研究者需要去積極探索的主題。
在這些研究成果的基礎上,廣泛的項目使用了簡單的支付通道和特定于應用的狀態通道(太多,無法全部列出!)
另見(非詳盡)
Counterfactual [Twitter] (廣義狀態通道),Jeff Coleman [Twitter], Liam Horne [Twitter] SpankChain [Twitter](支付通道流媒體服務) , Ameen Soleimani [Twitter] FunFair [Twitter](***支付通道) Patrick McCorry [Twitter] (Pisa, watchtowers) 雷電網絡(Raiden Network) [Twitter] (類似于閃電網絡的支付通道網絡) Connext [Twitter](支付通道網絡)
結束語
僅在過去半年的時間,開發者們在以太坊上探索的layer-2擴展技術便取得了很多進展,我們可預計在隨后的幾個月和幾年中,相關技術的研發速度會增快。然而,在我們將這些技術應用到實際的部署階段之前,仍然存在著很多挑戰。如果你有興趣解決這些問題,可以聯系上面列出的任何一個團隊。
關于layer-2技術的發展,以太坊的研究是值得我們跟進的,原文作者也會每兩個月進行更新,有興趣的讀者可關注一下原作者John Adler。
評論
查看更多