千層蛋糕:Layer-2 指南
ECN以太坊中国
2021-05-24 03:14
本文约5005字,阅读全文需要约20分钟
隨著越來越多Layer-2 團隊將其技術部署到以太坊主網上,不斷將擴容以太坊的願景轉化為現實,Layer2 上的風景變得讓人越來越著迷。

來源| aztec-protocol

隨著越來越多Layer-2 團隊將其技術部署到以太坊主網上,不斷將擴容以太坊的願景轉化為現實,Layer2 上的風景變得讓人越來越著迷。

大家好👋

隨著越來越多Layer-2 團隊將其技術部署到以太坊主網上,不斷將擴容以太坊的願景轉化為現實,Layer2 上的風景變得讓人越來越著迷。

隨著越來越多Layer-2 團隊將其技術部署到以太坊主網上,不斷將擴容以太坊的願景轉化為現實,Layer2 上的風景變得讓人越來越著迷。

但如果用戶還沒有融入到這個生態中,並且還沒搞懂Layer-2 相關的術語,那麼用戶就有可能會踩雷了。

令人失望的是,大多數人解釋Layer-2 解決方案都是因為與其的利益相關,並且會偏向某個特定的技術(ie 沒錯,就是他們的協議所使用的那種技術!)

二級標題

二級標題

什麼是L2,為什麼它這麼重要?

Eth 1.0 的交易吞吐量有限,導致了極高的交易費。

ETH 交易費主要來自:

➤ 狀態存儲變更的費用

➤ 交易數據的費用

➤ 計算的費用

Layer-2 解決方案則將上述一項或多項工作委託給一個構建於以太坊之上的次級網絡。

二級標題二級標題

Optimistic Rollups

一個optimistic rollup 就像是微型版本的以太坊,它自己作為一個網絡也能承載智能合約和交易。

Optimistic rollup 會定期將交易區塊廣播至Layer-1 的一個智能合約中。這些“區塊”包括區塊中每一筆交易的完整交易數據,除此之外什麼也沒有。 Layer-1 上的智能合約不執行任何計算或進行任何存儲更新。這大幅減少了發布一個區塊的成本。

之所以稱之為樂觀(optimistic) 的rollup,因為該方案假設默認情況下每一筆交易都是有效的—— Layer-1 上的智能合約不會直接檢查其有效性。

相反,如果有用戶認為某筆交易不正當(如,雙花交易),他們可以發布一個“欺詐證明”。而這時,Layer-1 上的智能合約就可以利用rollup 發布的區塊數據來驗證那些涉嫌欺詐交易的有效性。

該操作成本非常高,但只有在懷疑有不正當行為時才必須這樣做。

如果作惡行為坐實了,那麼發布該optimistic rollup 區塊的實體(通常稱為驗證者) 將丟失一些他們所質押的加密貨幣。

圖片描述

圖片描述

等待欺詐證明的時間會大幅減緩提款時間

Optimistic rollup 中執行交易的主要成本是將交易數據發佈到鏈上的費用。所有rollups 都面臨這個數據可用性問題,不管是optimistic rollup 還是其他的rollup。為了防止自己的資金被凍結,用戶需要擁有權限以訪問rollup 的所有交易數據。要么將這些數據發佈在Layer-1 上,要么需要用戶額外的信任假設(比如,相信一些側鏈會允許用戶訪問這些數據)。

在我撰寫本文時,如果你所使用的rollups 沒有將其交易數據發布至鏈上,這意味著你只能祈禱你所依賴的中心化服務商不會凍結你的資金了。

優點:

➤ 功能豐富。可以復制Eth1.0 的架構並支持只能合約。

➤ 與zk-rollups 相比,更容易構建和部署

缺點:

二級標題

二級標題

ZK Rollups

由二級網絡處理計算和存儲。

L2 將交易數據廣播至主網,並提供有效性證明—— 這是一種數學證明,證明交易是有效的。也就是說,將L2 上的批量交易匯總成一筆大交易,並發送至L1 某個智能合約中。

zkRollups 中的前綴“zk” 代表著“zero knowledge” (零知識)。然而,zkRollups 不提供隱私保護—— 所有交易都默認公開,像optimistic rollups 一樣。之所以稱之為“zk”,是因為這種有效性證明通常是由零知識證明系統生成的(例如,ZK-SNARK 或ZK-STARK)。

這樣做的好處在於,以太坊主網上就少了存儲項更新和計算的開銷。沒有必要樂觀地假設交易是有效的,如果證明是有效的,就可以確定交易是有效的。

這意味著zkRollups 的提款時間比optimistic rollups 要快許多,並且需要的信任假設也更少。

而房間裡的白像是,零知識證明給一筆交易增加了驚人的計算開銷。

為計算創建一個零知識證明比直接運行該計算要慢大概100 萬倍!這時一個粗略的估計,會根據所涉及的計算而有所不同,但對於在Solidity 智能合約中的計算類型來說,這個估計是準確的。

zkRollups 通過將生成證明委託給具有大量計算資源的第三方“rollup 提供商” 來處理這個問題。用戶將依賴這些第三方服務商來為他們創建交易。 Rollup 提供商可以審查或者搶跑交易,就像以太坊礦工可以做的那樣。所需的算力越多,能夠作為rollup 提供商的主體就更少了,因此我們必須要從協議架構就充分解決審查問題。

當需要將智能合約移植到L2 時,高昂的計算開銷給我們帶來了一些難題。完全兼容EVM 是我們的目標,想要達到這個目標,就必須解決這個100 萬倍的減速問題。 EVM 對SNARK 極其不友好,因為字長是256-位,並且原生支持SHA3 和其他SNARK-不友好的哈希算法。即便將計算證明委託給擁有大量計算資源的第三方也可能不足夠。一種可能的解決方案就是,通過FPGAs 或者ASICs 把zkSNARK 證明器算法直接寫到矽中。 Rollup 提供商將需要這種硬件來創建證明。

創建zk 證明比運行一個普通程序要慢得多。我們研究的Plonk 和Plookup 將SNARKs 的速度提高了一個數量級,但是與optimistic rollups 相比,zkRollups 仍然存在性能問題。

通常,SNARK 和STARK 編程語言不得不適應其底層證明系統的低效率。這兩種語言通常難以實現可變長度循環和動態內存訪問(如動態數組和向量)。我們最新的Plookup 研究中緩解了其中一些問題,但並非全部。

這意味著zkRollup 可能會要求開發者將其合約移植到自定義語言中(例如Starkware 的Cairo語言)。

對於那些不旨在實現完全EVM 兼容性的zkRollups 來說,有一個好處就是交易更加便宜。如果無需遵循EVM 語義,那麼就有可能減少每筆基本交易的廣播數據量。 Hermes network 就是這樣做的。

優點:

➤ 交易成本可能比optimistic rollups 更便宜

➤ 不需要欺詐證明,提款時間更短

缺點:

➤ 與optimistic rollups 相比,添加功能速度更慢

二級標題

二級標題

隱私Rollups

Aztec 已於2021 年3 月在主網上線了隱私rollup。用戶可以將ETH 封裝到一個隱私屏蔽罩(privacy shield) 中,並通過我們的在線隱私錢包zk.money 發送隱私交易。

隱私rollups 的技術與zkRollups 的非常相似,但他們的用途完全不同。隱私rollups 旨在為L2 用戶提供強大的隱私保證。用戶匿名持有資金。當執行交易時,發送者和接收者都是匿名的,並且連轉賬金額也是加密的。

為此,我們使用了最先進的零知識證明系統Plonk。我們在2019 年發明了Plonk,它很快便成為在區塊鏈上開發零知識證明的團隊中的行業標準。

在設計上實現隱私需要一個與zkRollup 截然不同的rollup 架構。我們採用的方法為“隱私優先”,因為我們知道,如果想要將公開的L2 改造為擁有可編程的隱私性,那麼往往需要犧牲用戶體驗或者激進地重構整個協議。

當前基於以太坊的隱私解決方案是混幣器(mixer)。混幣器可用於匿名化用戶的資金數額,但幾乎沒有其他用途。我們的隱私L2 的完整版本將包括更多功能:

➤ 完全可編程的隱私型智能合約。隱私貨幣將有更高級的交易邏輯

➤ NFT 的隱私所有權

➤ 可以完全隱藏NFT 的屬性,僅為該NFT 的所有者可見

➤ 反洗錢和KYC 檢查可以直接通過編程寫入隱私代幣/dApps 中(例如,KYC tokens —— 用戶可以在無需知道他們真實身份的前提下與可信任的對手方進行交易)

優點:

優點:

優點:

➤ 實現隱私交易。用戶的金融活動不會被第三方分析

➤ Rollup 提供商也不能審查或者搶跑用戶的交易。對那些提供商來說,每一筆交易就像一串隨機數字

缺點:

缺點:

缺點:

➤ 比公開的L2 貴(但比主網便宜),直至數據可得性方案/Eth 2.0 推出

➤ 用戶必須在本地構建隱私交易zk 證明,不能委託給第三方。因而zk 證明系統必須快如閃電

二級標題

二級標題

在喧鬧中尋求信號

L2 領域競爭激烈,想要在同行之前發布解決方案並且收穫大批用戶需要頂住極大的壓力。

這可能會出現一些偷工減料的方案,並且需要添加額外的信任假設,而這些對用戶來說是模糊的。

目前最大的問題就是數據可用性問題。

如果L2 沒有將其交易數據發布至鏈上,L2 的管理者就有可能凍結用戶的資金。

每個L2 團隊都正努力地開拓當前擴容解決方案技術的邊界。雖然這值得敬佩,但他們很有可能利用一些技術黑話來隱藏協議的缺陷。

如果用戶正在考慮使用L2,那麼應該判斷某個方案能不能充分解決下列問題:

➤ 該L2 如何獲得數據可用性?如果其交易費比以太坊上普通的轉賬費用低20 倍以上,那麼他們可能沒有將所有數據廣播至鏈上

➤ 用戶可以僅憑藉發布至以太坊主網上的信息單方面從L2 中提款嗎?

➤ 該協議有無公開的技術描述,以供第三方驗證呢?

此外,對於zkRollups 和隱私rollups,用戶還需要考慮以下問題:

➤ 鏈上數據是否可證明有效?所有這些數據都會作為公共輸入發送到rollup 的電路中嗎?

二級標題

二級標題

未來的圖景

接下來的一年將是L2 領域裡非常激動人心的時刻。無數協議將正式在主網部署,該行業裡多年的研發與工程工作將迎來最繁榮的時刻。

對於Aztec 的隱私rollup 來說,我們關注的重點是將可編程的隱私智能合約帶給大家。我們的Plonk 和Noir 編程語言旨在將高級程序編譯成高度優化的ZKSNARK 電路,這些電路的速度足夠快,得以在瀏覽器中構建證明。該項技術將成為Aztec 3.0 rollup 架構的基石,用戶將可以使用Noir 自定義電路。

通過將可編程隱私與擴容結合,我們為推動web3 技術成為主流添加了最後一個缺失的環節。最終,web3 將能夠與傳統的web2 技術在同一平台上競爭,並且以能否提供強大的隱私保證作為標準。我們希望能夠培育一個繁榮的隱私加密貨幣和NFT 生態系統,能夠以保護隱私的方式與更多DeFi 協議和更多傳統金融服務進行交互。

我們已經推出了zk.money,向大家證明這並不是什麼瘋狂的未來技術。我們已經開發了一些關鍵技術,以構建這個雄心勃勃的項目,現在我們要開始努力工作以實現我們的願景。

ECN以太坊中国
作者文库