如何在Layer3 上建造安全高效的DEX

撰文:康水躍,Fox Tech CEO;林彥熹,Fox Tech CTO

Layer3 概念目前在區塊鏈社區備受關注,被許多人視為革命性的進步,因為開發者可以在區塊鏈平台之上創建各式各樣的智能合約和去中心化應用(dApps)。 Layer3 是以太坊擴容生態系統的一項偉大工程創新。如果說Layer2 的出現解決了通用型擴容問題,那麼Layer3 的出現則解決了更加高速、更加低成本、定制化的擴容問題。

目前已經有不少建立在Layer2 上的去中心化交易所DEX,那為什麼還需要在Layer3 上建立DEX 呢?大多數建立在Layer2 上的DEX 均採用AMM 模式,少數採用訂單簿模式的Layer2 DEX,比如ZigZag,其交易成本比CEX 高出一截。不管是AMM 模式還是訂單簿模式,Layer3 上DEX 的交易速度、成本都會有更好的用戶體驗。

Layer3 完全可以建造出安全高效的DEX 的原因有以下幾點:

  • Layer3 的DEX 可採用與Layer1 Solidity 相比更強大的語言寫撮合引擎比如Rust;

  • Layer3 能高度定制,簡化用戶交易步驟,不必在每次下單都調用錢包授權;

  • Layer3 的TPS 相比Layer2 再次提升100 倍數量級,成本再次降低1/100 數量級,支持Orderbook 模式;

  • Layer3 與Layer2 一樣,二者的的共識層均由Layer1 擔當,安全性等級足夠高;

  • Layer3 有獨立的數據可用性層,鏈外交易與資產狀態的可見性均能輕易獲知、獲得;

  • 用戶可以使用EOA 錢包或者智能合約錢包實現資產自託管,更好保障資產安全。

圖1: DEX 從Layer 1 到Layer3 的性能變化

區塊鏈基礎設施的分層結構

目前區塊鏈基礎設施主要分為Layer0、Layer1、Layer2、Layer3 四層。這些“Layer”到底指什麼呢?我們最熟悉的Layer1,通常指的是區塊鏈的主網絡,無需通過中心化客戶端服務器即可通過每個節點P2P 進行連接與交易,其中以太坊最為典型。每筆交易都會註冊為一個區塊並存儲在分佈式數據庫中。 Layer1 是這4 個Layer 裡最早出現。為了實現資產跨鏈,出現了Omnichain 互操作協議,也就是Layer0,其主要應用便是各式各樣的跨鏈橋。

經典的區塊鏈Trilemma“三難困境”是指在相同一個layer 裡的不同解決方案,在去中心化、可擴展性、安全性三個方面,難以同時高度滿足。典型案例是ETH 選擇了去中心化和安全性從而犧牲了可擴展性,而像許多後來的公鏈則是依賴去中心化程度較低的框架實現更高的TPS。正因為有“三難困境”的存在,之後隨著交易數量的增加,不可避免出現了交易延遲和費用飆升問題。為了解決網絡擁堵,開發者們提出了基於OP 或者ZK 的Layer2 擴容方案。

在這種多層結構的設計裡,Layer1 為Layer2 提供共識並保障交易安全,而Layer2 將計算從主區塊鏈上分離出來作為相對獨立的執行層,最大限度地減少延遲並降低交易費用。 Layer3 在用戶和底層區塊鏈技術之間提供了一個抽象層,使用戶更容易與dApps 和智能合約互動,同時通過底層區塊鏈確保其安全。 Layer3 能在Layer2 的基礎上進一步做數據壓縮,再通過Layer2 將證明打包回Layer1 進行鏈上驗證,從而實現比Layer2 更加快速和低成本的交易。

在Laye2 完成了通用型擴容目的之後,開發者和用戶將轉入Layer3 以獲得更加定制的功能以及更高的性能,因此預計Layer3 將出現豐富多彩的大型應用。目前有一大批dApps 正在使用去中心化技術將Web2 各式各樣的商業模式搬到Layer2 上實現。 Layer3 將給這些應用帶來更多的可能性、更大的想像空間。

如何運用零知識證明將DEX 接入到Layer3

DEX 是很重要的一類Layer3 應用。如果想在Fox Tech 開發的Layer3 上建造一個名叫OX Exchange 的DEX,那麼實現這個目的最關鍵的技術是什麼?在Layer3 部署這樣的去中心化交易所,零知識證明的使用最為關鍵。

從交互邏輯上來看,用戶在OX Exchange 當中的操作,會以調用智能合約的形式實現,也就是說每一次買入賣出訂單都會轉化為對合約函數的一次調用交易(transaction),而這樣的每一筆交易都會被提交到Layer2 節點當中,並通過zkEVM 執行。

在具體的實現方面,在Layer2 特定部署的智能合約會與Layer3 的應用進行交互。而接收到來自Layer3 的批量交易之後,Layer2 的Fox 節點會進行zkrollup 的證明生成,包括拆分opcode 並生成電路,之後依據零知識證明算法證明執行的正確性。最終將生成的執行正確性證明提交到Layer1 鏈上,通過鏈上合約的驗證,接受狀態更新。

Layer2 的zkrollup 提供的服務可以獲得更低的延遲,更好的用戶體驗。具體來講,OX 需要與位於Layer2 的Fox zkRollup 進行交互,從而利用Fox 的“打包”來獲得更大的吞吐量。 OX 可以提供豐富的前端操作界面,底層複雜的交互邏輯完全對用戶透明,用戶可以像在所有的DEX 當中那樣,連接Web3 錢包就直接使用DEX 的各種服務。

從這個過程當中可以看出,Layer2 的zkRollup 層依舊在承擔著鏈下執行計算,鏈上提交證明更新狀態的職責,而Layer3 則主要負責執行更為具體的直接與用戶交互的訂單引擎功能。通過將復雜的計算從鏈上分層次執行,可以高效地提高效率,讓交易成本以及吞吐量發生質的變化,用戶體驗也因此得到顯著提升。

圖2: Layer3 DEX 架構圖

如何通過數據可用性DA 來保障用戶資產安全

在所有Web 3.0 項目中,數據可用性(Data Available) 都扮演至關重要的角色。包括中心化交易所CEX 在內的所有傳統應用通常都不會使用DA,因此用戶數據透明度極低零,而CEX 用戶的資產安全等級完全取決於交易所做惡與否。 Layer3 DEX 由於採用專有的數據可用性(DA),所以在極大降低用戶手續費的同時,也保障了用戶交易數據、資產安全。

Layer3 DEX 具備高吞吐量,這意味著有海量的數據需要處理。這些數據採用“DA 層+L2”的混合存儲模式以兼顧的效率與安全性。部署在L2 的合約只需要紀錄少數關鍵的數據以及一個Merkel 根,而過程中的所有其他數據將記錄在DA 層。當用戶與L3 的應用交互時,交互過程中的原始數據將存入DA 層,而DA 層會對更新後的數據計算新的Merkel 根;與此同時,L3 應用也會向L2 的合約發送一個證明,合約將由此檢查Merkel 根更新的正確性。這樣的機制可以確保L2 合約的狀態與DA 層的一致性,即保證記錄的狀態始終是正確的。

中心化應用的數據就像黑箱,而有了DA 層的L3 應用就像用一個既透明又安全的保險箱。 L3 應用的用戶不用擔心項目方跑路或破產,因為他們資產的安全性不再依託於項目方而是依託於以太坊三層Layer。在像Fox 這樣的zk-Rollup 的例子中,以太坊共識層提供為Layer3 應用提供最好的安全性。

圖3: Layer 3 DEX 的數據可用性DA

Total
0
Shares
Related Posts