作者|Mika Honkasal
摘 要:
Ethereum的可擴充套件性有限,交易費用正在不斷上漲。使用者經常要為與許多常用的智慧合約支付約50美元。
增加區塊鏈的交易吞吐量是一件具有挑戰性的任務,因為交易必須由參與共識的每個節點處理。
最有希望的Layer 2擴充套件解決方案是ZK Rollup和Optimistic Rollup,它們是為了解決之前Plasma實現的弱點而開發的
用Layer 2技術擴充套件區塊鏈
區塊鏈犧牲了計算和儲存的效率以獲得更好的信任。使用者可以相信他們所做的交易在未來是有效的,而開發者可以相信他們的程式碼總是可以供使用者使用的。
這是因為區塊鏈上的資料具有極高的冗餘度。交易必須由每一個參與維護區塊鏈的節點來處理,而且不斷擴大的交易資料集必須永遠儲存。在這個過程中保持較低的進入門檻,可以使區塊鏈保持去中心化。
如今,最常用的區塊鏈是比特幣和以太坊。每一個區塊每秒大概可以分別處理5筆和15筆交易。在以太坊中,交易不僅僅是點對點的支付,還有更復雜的智慧合約互動,需要比普通交易更多的處理能力。
根據節點實現的不同,以太坊區塊鏈規模為160GB,近期去中心化金融產品的需求加速了增長。昨天,使用者支付了370萬美元的交易費用和450萬美元的通脹補貼來處理和儲存他們的交易。Gas Price上漲導致許多最常用的智慧合約互動費用在5-50美元之間,使用者需要支付基本的互動費用。對於比特幣來說,每筆交易的平均費用接近5美元。
如何擴充套件區塊鏈
有效的區塊鏈擴充套件解決方案可以增加資料儲存或計算(交易處理)能力,而不會給維護區塊鏈的節點增加大量成本。
請注意,要想在擴充套件方面取得進展,需要能夠實現指數級改進的解決方案。以最大的容量執行時,以太坊處理的交易數量微乎其微,相比之下,它上面的活動才能被稱為真正的、可觀的經濟活動。
2015年關於改變比特幣區塊大小的備受矚目的辯論是一個很好的例子,它說明了在巨集偉的計劃中,精力被浪費在一個相對微不足道的改進上。2-8倍的改進可能對緩解短期壓力很有用,但它也給所有節點帶來了未來更高的交易處理成本。這就限制了可以參與共識的人群,從而降低了去中心化程度。
在底層擴充套件區塊鏈的主要解決方案不應該是(大幅)增加所有節點的成本,而是將交易驗證工作分割成更小的碎片("shards")。分片是許多頂級區塊鏈專案擴充套件的方式--包括NEAR、Ethereum 2.0和Polkadot。透過從區塊鏈的全域性驗證器池中隨機抽樣和輪換每個碎片的驗證器,可以證明由此產生的安全性與使用整個驗證器池(當前的方法)接近。
"Layer 2 "擴充套件解決方案的常見定義一般是指任何連線到以太坊的系統,它透過將交易(透過一種或另一種方法)批次化到主區塊鏈,幫助提高交易處理能力。
然而,隨著互操作性解決方案變得越來越普遍,什麼是側鏈(或完全是另一個區塊鏈)和Layer 2技術,更好的分類取決於底層安全模型。側鏈可以是特定於應用的(如去中心化的交換鏈),也可以是通用的,並對自己的安全性負責。Layer 2的安全性來自於底層區塊鏈(如Ethereum)。
Layer 1區塊鏈如NEAR和Solana有自己的驗證人,負責區塊生產,但已經建立了與以太坊的橋樑,將允許在鏈之間進行代幣轉移。tBTC有效地使比特幣成為以太坊的側鏈(或以太坊成為比特幣的側鏈,取決於你的角度)。
從比特幣的角度來看,以太坊的驗證人可以竊取使用者的資金。這意味著如果以太坊是比特幣的側鏈,那麼兩者沒有共享的安全性,因為比特幣無法對以太坊執行其規則。這就是為什麼Liquid不能被認為是比特幣的完全安全的側鏈--它有自己的驗證人,可以竊取使用者的資金。
這些模式一般有兩種不同的型別:狀態通道和非託管側鏈(Plasma和Rollup)。對於這些方法,一般模式大約是:
資產可以從鏈上移動到鏈下環境(如ETH到Plasma鏈)。
交易在鏈外環境中進行。
鏈外發生的快照會提交給底層區塊鏈(如以太坊)。
透過在經濟上激勵參與者(節點和使用者)提交正確的資料--或者透過向底層區塊鏈提供完整(零知識)證明--來保證安全性。
狀態通道
狀態通道是支付通道的一般形式,這也是比特幣的閃電網路所建立的技術。
彼此之間要開通一個狀態通道,使用者將區塊鏈的部分狀態(比如他們的ETH)鎖定在一個智慧合約中。在通道中,使用者可以透過簽署按順序排列的交易來更新彼此的狀態(如交易)。如果發生糾紛或要退出通道,使用者將最新更新的狀態(如賬戶餘額)傳送給底層區塊鏈,最新更新的狀態就是真相。狀態通道可以很好地保護隱私,因為交易對底層區塊鏈是隱藏的,只登記使用者的進入和退出。
從概念上看,狀態通道很簡單,但其設計有一些固有的侷限性。
狀態通道需要使用者(或一些值得信賴的第三方)保持線上監控通道,以防其他使用者試圖用舊資訊退出。它們也不太容易通用於輕鬆構建智慧合約,因為對於開發者來說,與這些渠道進行互動比僅僅部署現有的智慧合約程式碼更加複雜。
此外,狀態通道的資本使用效率低下,因為它們需要高額的抵押品。
從Plasma到Rollup
長期來看,可能更重要的一類Layer 2擴充套件解決方案是非託管側鏈。這是因為它們有可能在上面執行去中心化的金融和其他Web3應用。
非託管側鏈的關鍵在於,使用者可以上鍊和下鏈,其效能容量比L1區塊鏈高得多,而不必信任側鏈的操作者,即擁有與在以太坊主鏈上交易時相同的安全保障。
最初有希望的非託管側鏈設計是Plasma,幾年前它被炒作成擴充套件區塊鏈的銀彈。以安全和使用者友好的方式實現Plasma的複雜性導致這種模式失寵。
Plasma建立在一個簡單的前提下。如果Plasma鏈上的驗證者試圖向底層區塊鏈提供關於狀態轉換的錯誤資訊,即透過提供不正確的餘額帶著使用者資金退出鏈,使用者可以挑戰這些資訊,並構建自己的證明,證明Plasma鏈上發生了什麼交易。
在實踐中,Plasma遇到了一系列需要解決的併發症。比如:
資料不可用 一種攻擊,Plasma鏈的驗證者可以向底層鏈釋出資料,但將交易資料留給自己。這樣一來,使用者就沒有必要的資料來挑戰驗證者提供的資訊。
線上要求。要求每個使用者必須保持線上,並在惡意Plasma鏈驗證者退出的情況下監控所有交易。
大規模退出問題。如果所有使用者都需要退出Plasma鏈,那麼整個Plasma鏈的狀態就必鬚髮布到底層區塊鏈上,對於以太坊來說,這樣的證明規模實際上是不可能處理的。
雖然Plasma現金等新的迭代為現有問題提供瞭解決方案,但確保使用者資金安全退出的新問題不斷出現。2018年12月,化名BarryWhiteHat以零知識證明的形式提供了這個問題的解決方案。
在ZK Rollups中,側鏈的驗證者("中繼者")收集--或卷展--許多交易,以生成一個簡潔的zk證明,證明所有進行的交易都是有效的。然後將證明發布在Ethereum鏈上。
這種方法完全避免了使用者能夠安全退出Plasma鏈的複雜性。但是,這種方法也有兩個普遍的缺點:
在Ethereum鏈上釋出的zk-proof的規模很大--這意味著與Plasma相比,zk-Rollups犧牲了最大的交易吞吐量。
以一般的方式構建簡潔的zk-proof來執行智慧合約是很困難的。目前,ZK Rollups更多的侷限於代幣轉讓等特定操作--雖然,去中心化交易所Loopring已經在主網上線,並建立在ZK-Rollups上。
Optimistic Rollups類似於Plasma,但區別在於所有的交易資料必須在鏈上提供--向底層區塊鏈提供比Plasma更多的交易資料,並允許任何人構建交易有效性證明。具體來說,必須將足夠多的資料釋出到以太坊鏈上,以重建整個Optimistic Rollups側鏈的狀態。
雖然這種方法犧牲了交易處理的另一個指數(對於智慧合約),因為必須在鏈上釋出更多的資料,但與ZK Rollups相比,Optimism的方法允許實現智慧合約的靈活性和與Ethereum虛擬機器的相容性。
作為一個缺點,Optimistic Rollups需要1-2周(取決於實施情況)的爭議期,以確保使用者有足夠的時間來爭議無效的狀態轉換。加快退出過程的解決方案是建立一個退出市場,使用者可以解除安裝所持側鏈的風險。
雖然從底層區塊鏈中獲取安全性聽起來是最安全的選擇,但有一種觀點認為,應用程式負責自己的安全,只使用 "Layer 1"區塊鏈作為在特定應用程式鏈之間傳輸訊息的方式,是一種模式。
這就是Cosmos設計背後的理念。這個理念是,應用與基礎層相比,可能會因為太有價值而成為基礎層安全的寄生蟲。應用程式(穩定幣、預測市場等)支付的費用不一定會隨著它們所促進的價值轉移而擴充套件,這些應用程式可能會變得比底層區塊鏈更有價值,導致例如以太坊成為應用程式的安全弱點。
這確實在使用者體驗方面帶來了額外的障礙。在一個側鏈的生態系統中,使用者必須獨立地信任他們與之互動的每個側鏈(及其運營商)的安全性。
在實踐中會起作用(以及效果如何?)
狀態通道最有可能在處理某些應用的交易中發揮作用。例如,Graph Protocol正計劃為資料庫索引服務實現狀態通道支付--而且狀態通道足夠靈活,也可以為條件支付編碼簡單的規則。
在特定應用鏈中,SKALE計劃在年底前推出,並將帶來與Ethereum互通的特定應用鏈。此外,通往NEAR協議和Solana的橋樑有望為整個生態系統帶來更多的可擴充套件性--儘管兩者都可以被視為以太坊的競爭對手。
在這些情況下,應用程式可以將其功能擴充套件到以太坊之外,可能會減少生態系統對單一鏈的依賴。例如,Flux Market--NEAR上的預測市場協議,將在MakerDAO的去中心化穩定幣DAI中提供投注市場。
ZK Rollups和Optimistic Rollups都是將應用拴在以太坊生態系統上的解決方案,因為它們建立在上面並依靠以太坊提供安全保障。例如,去中心化交易所Loopring建立在ZK Rollups上,7月份處理了1760萬美元的交易量(0.4%的市場份額)。
開發Optimistic Rollups最知名的團隊是Optimism之前是Plasma Group,顧名思義,它在之前從事Plasma的實現工作。2020年1月,該團隊從Paradigm和IDEO籌集了350萬美元的風險資金。Optimistic Rollups已經在Ethereum testnet上用Unipig進行了演示,Unipig是Uniswap的一個版本,用於相互交易 "UNI''和 "PIG "代幣。
對於這些解決方案中的每一個,仍然存在的大問題集中在可組合性上。在Ethereum上,智慧合約能夠相互同步呼叫。這種可組合性的缺乏改變了終端使用者的體驗,因為從Rollup鏈上跳上跳下會引入存款與提款的摩擦。
這與當今Web3使用者體驗最好的部分之一形成鮮明對比,使用者可以透過單一的Metamask點選與所有應用進行互動。
如果應用程式將自己部署到自己的側鏈中,即使是在較差的可擴充套件性方面,Optimistic Rollups仍然提供了10-30倍的交易處理能力,這應該給以太坊足夠的空間。Ethereum 2.0有助於這些可擴充套件性解決方案,因為它為資料的釋出提供了更多的空間。
Ethereum 2.0將分三個階段推出,其中最後一個階段將啟用智慧合約。然而,已經在第二階段之後,使用以太坊作為資料層,可以將交易處理能力提高到每秒5萬筆交易。
目前需求大於供給,什麼樣的方案才能滿足最直接的交易處理需求值得期待。在某種程度上,上述所有技術(包括理論上限最高的Plasma)都有可能在未來某個環節發揮作用,並且在不斷改進。Connext最近推出了Spacefold,它將實現跨不同L2的狀態通道延伸和橋接。
目前,其它區塊鏈有機會吸引以太坊上的服務進入更可擴充套件的環境。然而,幾乎所有的Layer 2開發都發生在以太坊上,如果這些解決方案找到了產品與市場的契合點,那麼其它競爭者能夠提供的功能就會變得很單薄。