跳至主要內容
本頁面使用機器翻譯自英語,可能包含錯誤或不清楚的語言。如需最準確的信息,請參閱英文原文。由於更新頻繁,部分內容可能與英文原文有出入。請加入我們在 Crowdin 上的努力,幫助我們改進本頁面的翻譯。 (Crowdin translation page, Contributing guide)

2. GA 如何運作:技術深究

本節提供詳細的技術概述,說明 Gas Abstraction 如何在 Kaia 網路中運作,包括交易捆绑、原子性和關鍵元件的角色。

2.1 架構概述

GA 建立在分散式架構上,利用智慧型契約與交易捆綁,確保使用者體驗的無縫性。

主要元件

  • KIP-247(無氣交易): 定義網路識別為符合氣體抽象資格的特定交易格式 (GaslessApproveTxGaslessSwapTx)。
  • KIP-245(Transaction Bundle) 保證必要的交易順序(借出、核准、交換)在體上執行-它們不是全部成功,就是全部一起失敗。
  • GaslessSwapRouter(GSR): 核心智慧契約,可執行代幣與 KAIA 的交換,並向區塊提案者償還初始瓦斯貸款,一切都在同一區塊內完成。

主要演員

下圖說明 GA 流程中的主要參與者及其互動關係:

  • 錢包:啟動無瓦斯交易的使用者錢包或 dApp 介面。
  • 使用者帳戶:啟動無瓦斯交易的錢包或 dApp 使用者。
  • ** 區塊提案者**:提出區塊的節點,暫時借出 KAIA 以支付瓦斯費。
  • GaslessSwapRouter (GSR):處理交換和還款邏輯的智慧型契約。
  • DEX 路由器:執行實際代幣交換的底層分散式交易所。

2.2 交易包元件

GA 透過交易捆綁運作,區塊鏈用戶端僅將*LendTx + (可選) ApproveTx + SwapTx 組成一個原子捆綁。 這三個要麼都成功,要麼都失敗。 在捆綁之後立即傳送的任何 AppTx 都是在捆綁之外,可以獨立還原。

LendTx (借貸交易)

  • 簽署人:區塊提案人
  • 目的:暫時將 KAIA 借給使用者以支付瓦斯費
  • 創建:在區塊建構過程中 動態產生
  • 金額:計算為 ApproveTx + SwapTx 的瓦斯費用

ApproveTx (核准交易) - 選項

  • 簽署人:使用者
  • 目的:批准 GaslessSwapRouter 的 ERC-20 代幣支出
  • 需要時:如果使用者先前未核准代碼
  • ** 格式**:必須遵循 KIP-247 規格

SwapTx (掉期交易)

  • 簽署人:使用者
  • 目的:將使用者代幣交換成 KAIA 並償還給提案者
  • 合約:呼叫 GaslessSwapRouter.sol
  • 驗證:確保 amountReceived >= minAmountOut >= amountRepay.

2.3 原子性與故障處理

KIP-245 綑綁特性:

  • ** 全有或全無的執行**:如果任何交易失敗,整個 bundle 將回復
  • ** 超時豁免**:綑綁程式不受每區塊 250ms 執行限制的約束
  • ** 狀態回滾**:失敗的 bundle 會觸發完整的狀態回復

** 常見故障情況:**

  • 代幣餘額不足 → 捆綁回復,無瓦斯損失
  • 超出價格滑移 → SwapTx 失敗,捆綁還原
  • 遺失代用幣核准 → 驗證失敗,交易仍留在池中

2.4 網路層級處理

** 交易池驗證**

無瓦斯交易可繞過交易池中的正常餘額檢查。 驗證邏輯會偵測無瓦斯交易,並跳過瓦斯費的帳戶餘額檢查。

促銷與捆綁邏輯

  • 如果沒有對應的 GaslessSwapTx,則無法升級 GaslessApproveTx
  • 如果代幣已通過認證,GaslessSwapTx 可獨立升級
  • 當兩個交易都存在時,會同時促進兩個交易

封鎖提案者的注入與執行

區塊提案者偵測到無瓦斯交易時,會自動注入 LendTx。 LendTx 在區塊產生時即時建立,並置於使用者的無瓦斯交易之前。

2.5 平衡變更的工作流程範例

讓我們來看看使用者有 1.00 BORA0 KAIA 的情況。

步驟行動提案人餘額使用者餘額注意事項
1. 初始-10.00 KAIA0.00 Kaia, 1.00 Bora使用者要為 tx 付費。
2. LendTx提案人借出 0.02 KAIA。9.97 KAIA0.02 Kaia, 1.00 Bora投標者自行支付瓦斯費用。
3. ApproveTx使用者為 GSR 核准 BORA。9.97 KAIA0.01 kaia, 1.00 bora瓦斯 (0.01 KAIA) 由貸款支付。
4. SwapTx使用者以 0.06 BORA 交換 0.04 KAIA。10.00 KAIA0.01 kaia, 0.94 bora投標者將獲補償 0.03 KAIA。
5. AppTx使用者執行他們的主 tx。10.00 KAIA0.00 Kaia, 0.94 Bora用 KAIA 交換的汽油支付。
讓這個頁面變得更好