原文標題:Powerful Intents: Part 1
原文作者:Mike Calvanese and the team at Brink
原文編譯:Luccy,Joyce,BlockBeats
這是由Mike Calvanese 和Brink 團隊撰寫的關於Intents 的3 部分系列中的第1 部分。
Intents 正在迅速傳播,它們是由賬戶抽象化實現的眾多用戶體驗改進之一,也是Vitalik 在EthCC 的演講中討論的熱門話題。 Intents 讓用戶定義他們期望的鏈上結果,並將實現這些結果的技術工作外包給與網絡和協議直接互動的第三方求解器,最終,抽象層將使Web3 應用程序變得像普通應用程序一樣。它降低了現有的技術學習曲線,將吸引數百萬新用戶。
向Intents 的範式轉變意味著未來的用戶不需要關心諸如提交交易、用ETH 支付gas 費、通過設置滑點限制來減輕AMM 上的MEV、聚合代幣交換以實現最佳路徑路由,或在網絡之間進行資產橋接。
理解Intents 的一個簡單方法是將它們看作用戶希望發生「什麼」的聲明性表達,而不是「如何」實現某事的命令性步驟。
intent (declarative): I will pay 20 bucks for a Hawaiian pizza at my door by 8pm
tx (imperative): hop on to ur scooter, go to Domino's around the corner, order item#4, and bring it. here is your 20 bucks; 18 for pizza, and 2 for gas.
— Can Gurel (@CannnGurel) May 29, 2023
目前的Intents
Intents 並不是一個新概念。
在Uniswap 和AMM 出現之前,像EtherDelta 和0x 這樣的以太坊項目就提供了基於Intents 的訂單簿。 NFT 市場多年來一直使用簽名Intents 進行NFT 掛單和報價,像CoW Swap 和UniswapX 這樣的更新系統,現在為ERC20 限價單提供了更先進的基於Intents 的基礎設施。
觀察當前的格局,「Intents」這個詞似乎與「限價單」同義,因為如今在Web3 中得到廣泛支持的唯一Intents 就是「我想要X,我願意支付Y」。限價單的Intents 架構通常是簡單的,且專注於一個目標:以比當前市場報價更優惠的價格進行交換。用戶簽名他們的限價單Intents,求解器尋找使用AMM、其他流動性來源,或在某些情況下其他Intents 來「填充」已簽名的Intents 的路徑。求解器有動力尋找路徑,因為在用戶的Intents 被滿足後,他們可以保留剩餘部分作為額外收益。
Limit order Intents architecture
許多系統都已經建立起支持限價單使用的場景,但隨著更高級的Intents 工具的開發,我們將看到更多通用的架構,使更強大的用例得以實現。
一些通用Intents 系統的例子包括Anoma 和Flashbots SUAVE,目前都在積極開發中。它們將提供Intents 的Gossip 層,用戶在此將簽名的Intents 廣播到Gossip 節點。這些鏈將特定於Intents,促進用戶在不同網絡上簽名Intents 與求解器執行它們之間的連接。
另一個例子是Brink,一種創建可組合Intents 的解決方案。 Brink 允許用戶和開發者在多個EVM 兼容網絡上構建、簽署和解決基於條件狀態的Intents。
Intents 的未來
讓我們探索Web3 Intents 超越簡單限價指令的幾種方式,以下是一些新概念:
條件Intents:滿足一個或多個條件時允許執行某項操作
連續Intents:表達採取重複行動的願望
多步驟Intents:當解決一個Intents 時,將打開一個或多個新Intents
Intents 圖表:由一組相關Intents 形成的路徑
條件Intents
當前的Web3 應用程序只有一種類型的條件Intents:限價單。將來,我們將擁有可以由任何狀態的任意數量的條件組成的Intents,從而產生各種操作。
如果您是Web3 用戶,您過去曾做出過許多有條件的決定,這些可以表達為Intents、簽名並委託給第三方求解器,如:
價格閾值:「如果A/B 價格低於X,則將B 換成A」。在傳統金融(trad-fi)中,這被稱為「止損」
治理決策:「如果我不支持的治理提案通過,則出售代幣A」。
錢包餘額:「如果我的熱錢包ETH 不足,請將更多ETH 從我的冷錢包轉移到我的熱錢包」。
已用時間/區塊數:「如果開采了超過X 個區塊,則將ETH 轉移給接收者」。
所有這些都可以作為單一Intents 簽名。求解器將監視這些Intents,並在滿足條件後代表用戶採取行動。用戶簽署這些條件,作為其Intents 的一部分將迫使求解器檢查鏈上狀態來證明該條件。
Intents 可以用任意數量的條件來表達,例如:
我想在以下三個條件滿足時,用DAI 購買2 個ETH:1) ETH 價格低於1,750 美元;2) 借出ETH 的平均DAI 收益率較高;3) 我關注的一個大戶錢包在過去24小時內至少購買了10 個ETH。
當滿足任意數量的複雜狀態條件時,用戶將能夠表達購買、出售、質押、轉讓或橋接資產的Intents,所有這些操作都只需一個簽名Intents 即可完成。
連續Intents
Intents 將提供一種與協議無關的方式來執行連續操作,雖然今天的Intents 通常涉及與單個操作(限價訂單)相對應的單個簽名,但我們很快就會看到連續Intents 的出現。
用戶今天通過將資金存入協議或交易所來採取連續操作,這裡有一些例子:
成本平均:「每月一次用DAI 以市場價格購買ETH」。用戶通常使用Coinbase 等CEX 來完成此任務。
收益複利(又名重新質押):「提取A 中的獎勵,交換為B,然後重新質押」。這是一個繁瑣的過程,涉及多個DeFi 協議的多個交易和交互。
熱錢包充值:「我有一個冷錢包,裡面有50 ETH。每當我的熱錢包ETH 餘額低於X 時,就將Y ETH 從我的冷錢包轉移到我的熱錢包」。這需要進行很多次獨立的交易。
支付流:「每兩週將X USDC 轉移到接收地址一次」。流媒體支付應用程序支持這一點,但要求用戶將資產存入智能合約
做市:基於AMM 的LP 頭寸基本上遵循與兩個相反的互換相同的模式,這些互換以無限循環的方式繼續進行:「當A/B 的價格超過X 時,將A 兌換為B;當A/B 的價格低於X 時,將B 兌換為A」。
從這些示例中可以看出,當今的連續操作要求用戶存入特定協議並提交許多交易。通過Intents,用戶可以通過單個簽名表達他們想要的連續操作。
成本平均就是一個完美的例子。打算平均成本(隨著時間的推移重複購買或出售)的用戶可以將其表達為一個簽名,該簽名允許以難以操縱的ETH/DAI TWAP 預言機提供的價格將1 ETH 兌換為DAI,每50,000 一次塊(在以太坊主網上大約每週一次),收取1% 的費用(0.01 ETH)。求解器會監控這個Intents 並檢查:
1. 用戶賬戶有1 ETH 可以兌換嗎?
2. 自上次交換以來是否已開採50,000 個區塊?
3.1%(0.01 ETH)足以支付掉期的Gas 成本嗎?
4. 求解器為交換支付Gas 後,是否還剩下ETH 來支付求解器的運營成本,其中可能包括失去PGA(優先Gas 拍賣)後恢復的風險或任何其他費用?對於求解者來說,潛在的利潤值得嗎?
如果所有這些都通過,求解器將發送一筆交易來滿足用戶進行ETH→DAI 交換的Intents。只要用戶的帳戶有足夠的ETH,求解器就可以監控單個簽名的「成本平均」Intents,並產生連續的交易流。用戶無需直接與EVM 網絡或特定協議交互即可獲得他們想要的東西。
Cost-averaging Intents architecture
利用Intents 進行做市是另一個可以委託給求解器的連續且可能無限的操作示例。一個希望進行ETH/DAI 做市的用戶可能會創建一個Intents,允許以1,800 ETH/DAI 或更低的價格進行DAI→ETH 的交換,以及以2,000 ETH/DAI 或更高的價格進行ETH→DAI 的交換。通過這個Intents,用戶試圖在市場波動於1,800 和2,000 ETH/DAI 價格點之間時鎖定每次200 DAI 的利潤。
Market Making Intents
可以將其想像為兩個相互限制的限價單,其中一個成交時另一個就會開放,反之亦然。用戶可以在每個價格點簽署一個單一的交換意向。只要市場繼續在這些價格點波動,求解器理論上可以成交無數個這樣的訂單,而用戶無需進行任何操作。
多步驟Intents
Intents 可以由多個步驟組成。你可以將這些意向看作一個狀態機,其中每個交易都是從前一個狀態轉換為新狀態,轉換的新狀態取決於前一個狀態定義的條件。
一個簡單的多步驟Intents 示例是經典的傳統金融掛單套利交易。這些訂單在復雜程度上可能有所不同,但簡單的版本常見於傳統金融交易應用程序中。基於Web3 的可組合性和多步驟Intents,我們可以進行非常強大的掛單套利交易。
一個Web3 掛單套利交易Intents 可以表達為:「我想要1 個ETH,我願意支付1,800 個DAI。一旦我支付了1,800 個DAI 並擁有1 個ETH,我願意持有這1 個ETH,直到我可以以2,000 個DAI 的價格賣出。如果ETH/DAI 價格跌至1,620 個DAI 以下,我希望通過出售這1 個ETH 來減少我的損失,在這種情況下,我將接受1,600 個DAI,並給求解器支付20 個DAI 手續費。如果 [随机治理提案] 通過時我仍持有這1 個ETH,我想以市場上的ETH/DAI 價格賣出這1 個ETH,並將所得的10% 交給求解器。 」
“Bracket Order” Intents
這是一個相對簡單的3 步訂單,其中包含一些條件觸發器,但這些類型的訂單可能要復雜得多。
Intents 圖表
不同用戶Intents 之間的關係可以形成Intents 圖表。這些圖表示用戶定義的條件和動作組合,從而產生交換、資產轉移或其他鏈上行為。前面的所有Intents 示例實際上只是特定圖形排列的名稱。
就像限價單代表市場流動性的當前狀態一樣,Intents 圖不僅可以代表當前狀態,還可以代表許多不同的潛在未來狀態下的條件流動性。
例如:用戶在一個虛構的市場中交易XYZ 和ETH。在各種條件下表示購買和出售XYZ 的Intents,例如根據治理提案的結果、特定區塊的挖掘、市場價格的上漲和下跌,或者其他Intents 是否已被滿足。
Intents graph for fictional XYZ-ETH market
該圖代表了現在存在的流動性,以及在未來可能的狀態下存在的流動性。 Intents 圖可以跨市場甚至跨不同的鏈。
結論
隨著每天都有新的進展,Intents 正在取得進展。
參考文獻:
解碼Intents:徹底改變區塊鏈中的Web3 用戶體驗和訂單流;
基於Intents 的架構及其風險;
SUAVE、Anoma、共享測序器和超級構建器