隨著更高級的 Intents 工具的開發,我們將看到更多通用的架構使更強大的用例得以實現。本文源自 Mike Calvanese and the team at Brink 所著文章《Powerful Intents: Part 1》,由 BlockBeats 編譯、整理。
(前情提要:Paradigm看好的趨勢》intent-centric「意圖為中心」是什麼?給你4個實例 )
(背景補充:盤點》頂級Web3風投Paradigm最新「十大關注項目」 )
這是由 Mike Calvanese 和 Brink 團隊撰寫的關於 Intents 的 3 部分系列中的第 1 部分。
Intents 正在迅速傳播,它們是由帳戶抽象化實現的眾多使用者體驗改進之一,也是 Vitalik 在 EthCC 的演講中討論的熱門話題。Intents 讓使用者定義他們期望的鏈上結果,並將實現這些結果的技術工作外包給與網路和協議直接互動的第三方求解器,最終,抽象層將使 Web3 應用程式變得像普通應用程式一樣。它降低了現有的技術學習曲線,將吸引數百萬新使用者。
向 Intents 的正規化轉變意味著未來的使用者不需要關心諸如提交交易、用 ETH 支付 gas 費、通過設定滑點限制來減輕 AMM 上的 MEV、聚合代幣交換以實現最佳路徑路由,或在網路之間進行資產橋接。
理解 Intents 的一個簡單方法是將它們看作使用者希望發生「什麼」的宣告性表達,而不是「如何」實現某事的命令性步驟。
目前的 Intents
Intents 並不是一個新概念。
在 Uniswap 和 AMM 出現之前,像 EtherDelta 和 0x 這樣的以太坊專案就提供了基於 Intents 的訂單簿。NFT 市場多年來一直使用簽名 Intents 進行 NFT 掛單和報價,像 CoW Swap 和 UniswapX 這樣的更新系統,現在為 ERC20 限價單提供了更先進的基於 Intents 的基礎設施。
延伸閱讀:解讀》為什麼UniswapX可以賦能DEX?關鍵在長尾加密貨幣
觀察當前的格局,「Intents」這個詞似乎與「限價單」同義,因為如今在 Web3 中得到廣泛支援的唯一 Intents 就是「我想要 X,我願意支付 Y」。
限價單的 Intents 架構通常是簡單的,且專注於一個目標:以比當前市場報價更優惠的價格進行交換。使用者簽名他們的限價單 Intents,求解器尋找使用 AMM、其他流動性來源,或在某些情況下其他 Intents 來「填充」已簽名的 Intents 的路徑。求解器有動力尋找路徑,因為在使用者的 Intents 被滿足後,他們可以保留剩餘部分作為額外收益。
許多系統都已經建立起支援限價單使用的場景,但隨著更高階的 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 ETH 可以兌換嗎?
- 自上次交換以來是否已開採 50,000 個區塊?
- 1%(0.01 ETH)足以支付掉期的 Gas 成本嗎?
- 求解器為交換支付 Gas 後,是否還剩下 ETH 來支付求解器的運營成本,其中可能包括失去 PGA(優先 Gas 拍賣)後恢復的風險或任何其他費用?對於求解者來說,潛在的利潤值得嗎?
如果所有這些都通過,求解器將傳送一筆交易來滿足使用者進行 ETH→DAI 交換的 Intents。只要使用者的帳戶有足夠的 ETH,求解器就可以監控單個簽名的「成本平均」Intents,並產生連續的交易流。使用者無需直接與 EVM 網路或特定協議互動即可獲得他們想要的東西。
利用 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 的利潤。
可以將其想像為兩個相互限制的限價單,其中一個成交時另一個就會開放,反之亦然。使用者可以在每個價格點簽署一個單一的交換意向。只要市場繼續在這些價格點波動,求解器理論上可以成交無數個這樣的訂單,而使用者無需進行任何操作。
多步驟 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% 交給求解器。」
這是一個相對簡單的 3 步訂單,其中包含一些條件觸發器,但這些型別的訂單可能要複雜得多。
Intents 圖表
不同使用者 Intents 之間的關係可以形成 Intents 圖表。這些圖表示使用者定義的條件和動作組合,從而產生交換、資產轉移或其他鏈上漲為。前面的所有 Intents 示例實際上只是特定圖形排列的名稱。
就像限價單代表市場流動性的當前狀態一樣,Intents 圖不僅可以代表當前狀態,還可以代表許多不同的潛在未來狀態下的條件流動性。
例如:使用者在一個虛構的市場中交易 XYZ 和 ETH。在各種條件下表示購買和出售 XYZ 的 Intents,例如根據治理提案的結果、特定區塊的挖掘、市場價格的上漲和下跌,或者其他 Intents 是否已被滿足。
該圖代表了現在存在的流動性,以及在未來可能的狀態下存在的流動性。Intents 圖可以跨市場甚至跨不同的鏈。