摘要
在側鍊和L2 之間轉移資金的需求日漸旺盛
目前的方法:經由L1 (以太坊) —— 速度慢、成本高,但是去信任;經由App (或LP) —— 需要信任,但是速度快且成本低
我們提議一個去信任的、安全的和低成本的“側鏈-StarkEx” 橋接,其依賴於以太坊的安全性
通過擴展StarkEx 和多個側鏈之間的橋樑,我們創建了一個連接這些側鏈的有效橋樑
介紹
雖然以太坊仍然是DeFi 的“資本”區塊鏈,具有高牽引力和安全性並連接至多個鏈,但以太坊越來越擁擠,交易成本高昂且不穩定。這促使用戶使用其他平台如側鏈(Polygon、BSC、Solana) 和L2s (Optimistic Rollups 或者ZK-Rollups)。這些平台在成本、安全性、性能和Apps 方面各不相同—— 加劇了流動性的碎片化。
因此,越來越多的用戶需要在多個平台之間轉移資金。
側鏈之間的去信任橋接解決方案上線了(例如Hop 或者MovR)。然而,L2s 和側鏈之間的去信任互操作性仍不能得到解決方案。
從設計上講,與Optimistic Rollups 的互操作性是有問題的,因為最終確定時間長意味著運營橋接需要很高的資本要求,這導致了資金轉移的成本很高。
ZK-Rollups 呢?跨L1 和ZK-Rollup 的去信任存款和提款已經可用(如 dYdX、DeversiFi、Loopring)。並且,zk-rollup 通過條件式轉移(Conditional Transfers) 使最終確定時間較短。
但是,zk-Rollups 目前與側鏈互操作性不兼容。原因出自技術方面:目前部署在L1 上的zk-Rollups 證明了特定計算語句的有效性(即使其背後的工具如Cairo 語言是圖靈完備的)。這使得它們與Rollup 中需要“互操作性智能合約”的方案不兼容。
而我們去中心化的、無需許可的zk-Rollup 解決方案StarkNet 將解決這一問題。但是現在可以藉助我們去信任的可擴展引擎StarkEx 做些什麼呢?下面我們將演示StarkEx 如何支持側鏈的互操作性。
StarkEx 於2020 年6 月上線主網,促成了數百萬筆總計價值為數十億美元的交易。我們將展示StarkEx 系統和方案,以闡述其如何支持低成本且快速地將資產轉入且轉出側鏈—— 這將為在zk-Rollups 和側鏈上運行的dApps 之間更好的互操作性鋪平道路。但我們先考慮一下,一個良好的互操作性系統由什麼定義。
良好互操作性解決方案的品質
側鍊和L2 之間的一個好的互操作性解決方案應需要最小化的信任,並提供簡化的用戶體驗。更精確地說:
信任最小化:應該要求用戶信任盡可能少的實體。
快速終結:資金應快速可用。
敲定時間短:資金應快速可用。
成本低:低成本的解決方案必須在各自的平台上提供低交易價格和在橋接上提供高資本效率(因為流動性提供者承擔的成本將抵消給用戶)
L2-側鏈之間的互操作性
到目前為止,用戶如果想要在側鍊和L2 之間轉移資金,就必須要在兩個幼稚的選項中做出選擇:去信任但成本高且速度慢的方案(圖一);成本低、速度快,但需要信任的方案(圖二)。
圖一:經由L2 實現側鍊和L2 之間的資產轉移
圖二:經由App 實現側鍊和L2 之間的資產轉移
由StarkEx 支持的解決方案
圖三展示了我們提議的解決方案,即StarkEx 為L2 和側鏈之間提供互操作性,同時滿足上述提到的三個品質。請注意,這個方案(使用StarkEx 作為管道) 同樣適用於側鏈之間的互操作性。
圖三:由StarkEx 支持、以太坊提供安全保障的側鏈橋接
StarkEx 的優點
以免一些用戶不熟悉StarkEx,下文簡單介紹了其基本概念。讀者可以在此處找到StarkEx 的完整文檔:https://app.gitbook.com/@starkware/s/starkex-v3/~/settings/share。但是要想讀懂本文提議的橋接方案,了解下文的背景已經足夠了:
StarkEx 去信任
由於StarkEx 依賴於STARK 證明,因此如果沒有證明能夠證實某狀態確實有效,那麼L1 上就不會發生狀態更新。這意味著只能根據以Cairo 語言實現的邏輯在StarEx 內部進行資產轉移,該邏輯強制執行以下操作:
-
沒有用戶在相關轉賬請求上的有效簽名,不能從用戶那裡轉移資金
-
L1 上已提交的StarkEx 狀態反映了L2 環境中發生的所有資產轉移記錄
-
StarkEx 不能再次執行同樣的資產轉移請求
這樣做的結果是,運營者(比如交易所) 無法盜取用戶的資產。強制交易、應急艙口和專用升級機製完善了去信任這一版圖,使StarkEx 變得完全非託管。
StarkEx 速度快
一旦某筆交易進入StarkEx 的交易隊列,運營者可以認為該筆交易已成功結算。這意味著用戶可以立即提交後續交易;無需等待交易在鏈上完成結算。
StarkEx 成本低
在StarkEx 的zk-Rollup 模式下,即使是複雜的永續交易的交易成本也低至1100 gas,這比L1 上便宜200 倍。 Validium 模式下的交易成本更加低。此外,StarkEx 資本效率高,一旦包含其執行的證明在鏈上發布,就會立即敲定交易—— 這通常發生在交易後的幾個小時。
將資金從StarkEx 提到側鏈中
圖四:StarkEx-側鏈的互操作性—— 提款
第一步:用戶向App 發送鏈下請求,指定他們想要提出的資產數量和類型。該App 驗證用戶在其StarkEx Vault 中是否有足夠的資金。
第二步:App 在側鏈中的互操作性合約中鎖定指定的資產數量和類型。然後App 將這些資金與StarkEx (未簽名的) 資金轉移請求相匹配。該請求命令StarkEx 將相關資產從用戶的Vault 中轉移到App 的Vault 中。
第三步:用戶對步驟二中的轉移請求進行簽名,以激活側鏈上的互操作性合約。然後該交易就會立即解鎖用戶的資金,以在側鏈上使用。
回退流程:如果用戶未能在有限的時間範圍內簽名,則App 將從互操作性合約中收回資金。
第四步:該App 現在可以在StarkEx 上執行轉賬請求並在那裡接收用戶的資金。
滿足要求
1、這個方案是去信任的:用戶先在StarkEx 上獲得側鏈上的資金,然後才向StarkEx 上的運營者轉移資產(如果沒有前者,後者就不可能發生)。
-
StarkEx 強制要求,想要從用戶那裡獲取資金,App 必須獲得用戶的簽名。
-
提供簽名可以解鎖用戶在側鏈中的資產。
2、速度快:側鏈敲定時間的兩倍之後,用戶即可訪問資金。
3、交易成本低:不涉及L1 交易,App 可以在StarkEx 上立即訪問資金,然後幾個小時候在L1 上也可以訪問資金了。
從側鏈充值資金到StarkEx
圖五:StarkEx-側鏈的互操作性—— 存款
第一步:用戶將其資金鎖定在互操作性合約的側鏈賬戶中。這些資金與StarkEx 上的特定轉賬請求參數相耦合,這些參數會將資金轉移到用戶的Vault 中。
第二步:運營者在StarkEx 中執行步驟一的轉賬請求,將資金發送至用戶的StarkEx Vault 中。用戶便可以立即開始交易這些資金。
第三步:1) 步驟二中的轉賬與其他交易一起被批量處理;2) StarkEx 向L1 證明這些交易已發生;3) 並相應地更新鏈上狀態。
第四步:以太坊上的專用合約將新的L1 狀態發送到側鏈的互操作性合約中。該狀態(即StarkEx 上所有交易的默克爾根) 確認用戶已按要求收到StarkEx 上的資金。
第五步:該App 打開默克爾樹承諾,以向側鏈證明用戶確實在步驟二中的StarkEx 上收到了資金,解鎖了App 的互操作性合約中的資金。
回退流程:如果App 未能在有限的時間內完成步驟五,用戶可以從互操作性合約中取回側鏈上的資金。
滿足要求
1、這個方案是去信任的:用戶先在StarkEx 上收到資金,然後App 才能在側鏈上認領資金。 StarkEx 的邏輯和證明強制要求,如果沒有前者,後者就不可能發生。
-
要想在側鏈上接收資金,運營者必須通過StarkEx 向用戶展示相關轉賬記錄。
-
StarkEx 強制要求,只有在用戶收到資金之後才能獲得該轉賬記錄。
2、速度快:一旦在側鏈上確認了一筆交易,App 就可以立即將StarkEx 上的資金交給用戶。
3、成本低:側鍊或者StarkEx 上的交易成本較低,雖然步驟四中L1 交易的成本較高,但這個費用由多個存款請求共同分擔。
此外,該App 在幾個小時之後就可以在側鏈上獲取資金。
下一步是什麼?
StarkEx 的用戶很快就能使用上面介紹的去信任的互操作方案。
至於無需許可的去中心化zk-Rollup 方案StarkNet 的進展:StarkNet Planets Alpha 1 已經上線Ropsten 測試網—— 我們計劃支持與其他生態系統(如側鏈) 的互操作性。由於StarkNet 證明了任何任意邏輯,它可以支持與此處描述類似的機制,或者部署現有的互操作性解決方案。
無論如何,StarkNet 促進了高程度的互操作性,並將成為眾多尋求擴展到以太坊之外的DeFi Apps 的互操作性的中心。
來源| StarkWare