每一條新公鍊或者Rollup 上都會有不少被重複建造的基礎設施,正在逐漸走向成熟的StarkNet 生態也是一樣。然而,Sphinx 項目不僅僅想要在StarkNet 上實現更高效的訂單簿交易平台,還希望能夠基於StarkNet 高效的底層基礎設施,幫助用戶實現跨鏈交易。
什麼是Sphinx
Sphinx 是第一個部署在StarkNet 上的,支持原生跨鏈的中央限價訂單簿(CLOB) DEX。是的,在底層公鏈的性能已經足夠突破交易效率的瓶頸之後,AMM 效率低下,無常損失等劣勢就會更加明顯。因此新公鏈以及Layer2 上的DEX 逐漸採用訂單簿作為底層交易系統已經成為了一個明顯的行業趨勢。
Sphinx 第二個明顯的優勢,便是其可以支持跨鏈交易。我們知道目前在StarkNet 生態中,由於底層技術已經原生支持了賬戶抽像功能,因此StarkNet 生態中可使用的錢包都是智能合約錢包。也就是說,已經被用戶所熟知的MetaMask 錢包是無法使用的。
但是Sphinx 可以通過構造無信任的橋,允許來自其他鏈(如Ethereum、Polygon、Arbitrum 等)的用戶使用他們熟悉的Metamask 遠程存入資產並進行交易。通過這種方式,Sphinx 將進一步發揮可組合性,充當各條公鏈的流動性聚合層,同時不會出現AMM 的無常損失或滑點等問題。
Sphinx 如何實現跨鏈交易
要想實現Sphinx 的跨鏈交易,首先需要解決兩個問題:
- 將消息從源鏈橋接到StarkNet;
- 代表用戶在StarkNet 上執行;
為了解決第一個問題,Sphinx 需要讓用戶在源鏈簽署一個無gas 的EIP-712 信息(這個信息可以是:提交限價買入訂單、取消訂單或提取資金等)。然後通過一個信息傳遞橋在鏈間進行轉發。當然,這就涉及到選擇一個安全的跨鏈橋的問題。
然而遺憾的是,目前上主流的跨鏈解決方案,要不是基於樂觀假設的,要不是通過multisig 的多錢錢包,由一些中心化實體控制的。這些解決方案都在安全性上進行了妥協。
因此,Sphinx 選擇了與Herodotus 進行合作,使用存儲證明在區塊鏈的共識層實現ZK 跨鏈。也就是利用StarkNet 的廉價計算來讀取Ethereum 上的狀態,並使用SNARK 證明將消息橋接回源鏈上,以此實現真正安全的信息跨鏈。
聚合流動性
在成功地解決了跨鏈交易的問題後,Sphinx 再進一步,可以實現對不同鏈不同AMM 交易資金池之間的聚合。
正如上圖所示,未來Sphinx 可以將不同鏈間的交易價格以及流動性都統一到位於StarkNet 的交易中心,也就是Sphinx 的訂單簿系統中。當實現這一步後,主流公鏈見交易平台的交易價格與流動性都將得到統一,因此用戶也將減少因為套利等原因而被動接受次優價格的問題。
Sphinx 的用戶界面
Sphinx 非常特立獨行的一點是,其在用戶界面上參考了彭博終端使用了命令行界面來與合約交互。
以下截圖是其操作指南,比如用戶希望向系統中提交一個ETH 對USDC 的買單,價格1200USDC/ETH,數量0.5ETH,則需要在命令行界面輸入「BID ETH USDC 1200 0.5」並點擊回車。
好吧,或許對於專業交易者來說這樣可以提高效率,但對於普通用戶來說確實是增加了使用的門檻。當然目前的Sphinx 還處於測試階段,未來在正式版中或許會增加用戶更為熟悉的圖形交互界面。