上週,我們與L2BEAT 的聯合創始人兼研究員Piotr Szlachciak 就L2 擴容方案的現狀和不足進行了一次精彩的討論。
L2BEAT 的誕生
Piotr 決定創建L2BEAT,是因為當前沒有一個工具來展示以太坊Layer 2 方案的使用情況。此外,團隊發現自身在哲學上與以太坊擴展方案是一致的,即以太坊主網無法自行擴展,而是需要Rollup 擴容方案。
「通過L2BEAT,我們想告訴用戶有哪些選擇,有哪些風險,因為當前整個生態系統還不夠成熟。 L2BEAT 的使命是推廣Rollup 擴容方案,進行用戶教育,並探索系統中存在的問題。」 -Piotr 提到。
L2BEAT 定義的Layer 2
根據Piotr 的說法,如果我們要對Layer2 做一個適當定義,那麼首先要討論Layer2 是否包括Polygon 。當然還有幣安智能鏈(BSC),但是正如Piotr 相信的那樣,每個人都同意BSC 是一條獨立的鏈,它並不應該被歸類為Layer2,因為它完全由幣安運作,並且它沒有繼承以太坊的安全性。
至於Polygon,一方面他們聲稱自己是一條基於Plasma/Commit 的混合鏈,這是他們自認為以太坊二層擴容方案的標誌。另一方面,L2BEAT 團隊發現Polygon 的一些說法並不准確,因為Polygon 並不是Plasma:
「你可以稱Polygon 是commit 鏈,但這並不重要,因為它只是一個帶有一些驗證器的側鏈,這些驗證器是由以太坊智能合約在一層選擇的。基本上,Polygon 的狀態根提交給以太坊鏈,但它不做任何實際承諾之外的事情」。 -Piotr 解釋道。
在詳細說明為什麼L2BEAT 團隊不認為Polygon 是合適的二層時,Piotr 提到如果Polygon 鏈出現問題,以太坊鏈無法確定在以太坊主鏈上發布的數據是否正確。
那麼,正因為如此,沒有辦法對該狀態進行無信任的操作,如果有一種從Polygon 提取資金的方法依賴於該狀態的正確性,那麼以太坊就沒有辦法檢查該狀態是否正確。
Piotr 認為,適當的二層解決方案實際上包括一些驗證狀態的機制。這就是為什麼他對L2BEAT 的定義指出,適當的L2 解決方案是那些真正依賴以太坊來確保其安全性的解決方案。此外,當他們在以太坊上發布狀態時,有一種方法,即通過使用Validity 或zkproofs 或欺詐證明來確定發布的狀態是否正確。
簡單來說,以太坊必須能夠確定L2 鍊是否沒有問題。例如,比特幣不是以太坊的L2,因為以太坊無法確定比特幣上發生的事情是否正確。
根據Piotr 的說法,這並不意味著Polygon 或比特幣不安全,或者那裡發生的事情不正確。而只是意味著它們不是以太坊的L2,因為以太坊無法決定那裡發生的事情是否正確。
L2BEAT 的指標及L2BEAT 追踪的內容
L2BEAT 從追踪L2 的TVL (鎖定的總價值)開始,這是一個唾手可得的成果,因為計算TVL 的算法就是將所有的代幣乘以價格。 TVL 是一個判斷用戶實際活動的很好的指標。可以說,用戶越多,他們的活動越多,他們需要的流動性就越大,所以更多的資金會被鎖定在那個特定的L2 鏈上。 Piotr 還提到,情況也不一定總是這樣,例如NFT 並不需要流動性,因為當你進行NFT 相關活動時,並不會顯示在L2BEAT 的TVL 中。
L2BEAT 團隊還決定跟踪其他指標,即所謂的實驗指標,因為不能100% 確定它們是正確的。比如,L2BEAT 正在跟踪流入和流出的資金。特別是對於Arbitrum,還添加了交易數量的測試指標。
L2BEAT 跟踪和試驗所有這些指標的原因是,他們不想依賴於人們聲稱的自己的交易量或吞吐量是多少,他們想自己對其進行驗證。由於解決方案是Rollup 的,團隊至少可以部分地做到這一點,因為Rollup 必須提交狀態和交易。這就是為什麼至少在理論上,L2BEAT 團隊可以從鏈上提交的數據中讀取它們,處理它們,然後顯示統計數字。
L2BEAT 的風險
在L2BEAT 上有一個標籤,顯示了與不同L2 方案相關的所有風險。 Piotr 分享了一些非常有趣和有爭議的發現:
「我不相信當前任何一個項目已經為今天的主流世界做好了準備。如果我們相信加密貨幣的原始願景,即去中心化、無需許可和抗審查,那麼這些項目並不符合標準。雖然他們可能在某種程度上保證不會丟失你的資金,而且他們可能是無需許可的,即你不需要在任何地方申請即可進入項目,但他們並不完全是抗審查的,而且他們也是部分中心化的,因為他們中的大多數是可以升級的,即可以更改你正在使用的合約代碼。」
Piotr 認為,理論上,這些系統和技術將允許去中心化的擴展,但在實際上目前情況並非如此。
可升級性
根據Piotr 的說法,在區塊鏈的世界中,有一個分叉的概念,這意味著新的規則被引入,我們有軟分叉和硬分叉。有時甚至基礎層也會改變它的規則,自然,建立在基礎層上的系統(以前可能只有dAPP ,現在還有二層),也可以有系統來更改其代碼。我們通過治理,它可以決定,例如,我們允許另一個資產可以被轉移到這個協議。然而,更基本的可能是智能合約本身存在一種機制,允許人們將代碼更改為一個新的版本。
例如,像Uniswap (V2)這樣的協議有一個很好的系統,協議的代碼永遠不會改變,因此你可以確保永遠可以使用相同的方法來訪問系統,而係統也總會以同樣的方式工作。與此相反,我們可以使用另一種協議來引入一些升級機制——比如通過替換合約代碼。
Piotr 提供了Maker 的例一個子,它存在一些設定係統參數的治理方式,比如係統的抵押以及哪些資產可用。
正如Piotr 所解釋的,通過匯總和其他解決方案,我們可以看到一些參數可以被調整,但我們也看到一些更基本的東西也會被允許調整。有這樣一種智能合約設計叫做代理,代理就是兩個智能合約的組合——其中一個智能合約用於大家與之交互,並指向另一個真正持有代碼的合約。代理有一個所有者,所有者並不能改變用於交互的合約,卻可以改變持有代碼的合約。
如果有人是這樣一個合約的惡意所有者,而用戶在這個合約中投入了資金——合約非常簡單,它規定如果你把錢投入這個合約,合約會儲存你的餘額,然後你就可以提取資金。作為惡意所有者,他可以更改合約,禁止所有人提取資金,並且只允許自己提取所有用戶的資金,進而欺騙所有人,很有可能這個人從一開始就打算這麼做。
Piotr 認為,這就是為什麼對於現在市場上的絕大多數解決方案,你必須信任運營商的原因,因為運營商掌握著這些代理的私鑰和所有權,由此,如果他們願意,他們就能夠竊取大量資金。
根據Piotr 的說法,一些解決方案,即使他們沒有使用代理的方式,也會在代碼中明確包含「暫停智能合約,提取所有資金」的方法。他們只是簡單地說明了這一點,甚至沒有使用可升級機制。 Piotr 強調,讓用戶知道這些東西的存在是非常重要的。 「這並不意味著你不應該使用這些協議,當然你可以使用任何你想要的東西,只是要有這樣一個認知,就是,在使用這些協議前,你必須投入一些信任」。
高階用戶需要注意的重要事項
NFT 和Layer 2
Piotr 分享了一些NFT 和Layer 2 有關的有趣發現。如果你在二層上鑄造了一些NFT,當你提取這些NFT 的時候,會發生什麼可能並不可預期。通常情況下,你會在以太坊上鑄造NFT 並在以太坊上轉移。但如果你在二層上鑄造了一個NFT,並想在以太坊上提取它,但它在以太坊上其實並不存在。實際會發生的情況是,一些解決方案包括一個名為「withdraw and mint」 的功能。在某種意義上,所發生的事情是,當NFT 被提取時,它是在以太坊上被重新鑄造的。
通用的optimistic rollups
當你正在構建一個更複雜的協議,而你已經有一份代碼在以太坊L1 上運行,而且一切順利,並且這個optimistic rollup 是EVM 兼容的,因此你會理所當然的認為可以把現有的協議直接部署到L2 上,就能正常工作了。但有一個問題是,如果協議(L2)出現故障並且需要退出時會發生些什麼。因此,即使你可以只是複制粘貼代碼,你也需要意識到一個事實,即需要設計一個退出機制來關閉和提取所有的資產。 L1 上不需要這種機制,因為我們默認以太坊L1 會永遠存在。然而,L2 是有可能關閉的,而當L2 關閉時,用戶必須可以無信任地退出。因此,如果你在L2 上建立一個協議,你需要考慮這種情況,即如果L2 協議失敗,你需要考慮接下來要做什麼。
「我真的非常期待看到整個L2 生態在未來的發展!」 Piotr 說道。
L2Show 推薦查看L2BEAT 網站!
在YouTube 上的#L2Show 上觀看與Piotr 的討論。
L2Show 是一個YouTube 節目,致力於展示二層的開發和在此基礎上構建的項目。 L2Show 由DeGate引入生態系統,DeGate 是一個以訂單簿為中心的二層DEX,由Agne K主持。