原本要推文的
打一打覺得蠻多字的還是改用回覆
測試了一下OKX的AA錢包
的確如yhes923427大所述
從OKX AA錢包發出後就會變為Contract地址
這個實在蠻有趣的
OKX的實作似乎是你先把錢給合約建立者
合約建立者把你地址弄成Contract後剩的gas費再還你
當然整個是一次交易
OKX合約建立者地址是0xdc5319815CdAaC2d113f7F275bc893ed7D9cA469
在EIP4337中合約建立者的定義叫Entry Point
這個顛覆了傳統上的認知
Contract Address基本上是無法推測的
現在是可以直接把Address轉換為Contract
應該主要是EIP4337上線的關係
不過也因為需要Entry Point來創立合約錢包
甚至也需要Entry Point來做transfer
所以基本上合約錢包是使用哪家的服務就會很清楚了
如果不想洩漏自己用哪家錢包
可能要自行部署entrypoint並且自寫錢包
到時候看哪家錢包開源
就修改原始碼的entrypoint地址應該就行了
另外第一次使用OKX AA錢包轉出時
因為要有足夠的gas來生成合約
所以開頭會鎖你一定量的ETH不能轉出
等合約建立完成才可以全部轉出
至於OKX AA錢包有什麼特別功能
我就不清楚了
參考
https://www.blocktempo.com/ethereum-eip-4337-account-abstraction/
https://eips.ethereum.org/EIPS/eip-4337
作者: Staker 2023-09-02 00:17:00
樓主對 AA 概念蠻清楚的,但補充一下幾點細節,大家一起交流:(1) 合約地址是可以預先計算出來的,可以看看 CREATE2這個概念(2) 確實可以透過 entrypoint 部署合約,但 entrypoint 合約實際上是去呼叫另一個叫做 account factory 的合約來幫你創建 AA 錢包。每家 AA 錢包商理論上都有自己的 accountfactory, 理論上也可以透過直接呼叫 account factory 來創建錢包,不一定要透過 entrypoint 在繞一層。不過合約錢包商當然也可以把 account factory 設計成只有 entrypoint能夠呼叫它。
作者: yhes923427 (o懶懶熊o) 2023-09-02 00:45:00
推原po和1樓 另外我也有測試Argent 這個也是AA錢包,也一樣一開始是EOA地址,然後從Argent轉幣出去就變合約地址了搭配1樓大大的補充求處許多,可以在鏈上看到argent 的wallet factory 創建合約的紀錄0x4555727a83b8217ad2c966dd5aadda921c7afa8d
作者: wlsh5701 (舞林樹枝) 2023-09-02 11:08:00
推這篇和推文
作者: Staker 2023-09-02 13:07:00
回y大,你問到了一個關鍵,既然 AA 錢包是合約錢包,代表它不能像 EOA 自己主動發起交易,必須透過一個第三方來觸發他。在 eip-4337 的設計裡是透過 entrypoint 來觸發 AA錢包,但 entrypoint 也是個合約,誰來觸發 entrypoint?目前的設計是透過一個叫 bundler 的角色,bundler 會負責收集和相關 entrypoint 的交易,把這些交易壓縮成指定的txdata,bundler 拿著這些 tx data 就能直接去呼叫 entrypoint 。當然,如果你是科學家有能力自己組這個 tx data, 用自己的EOA 帶著這個 tx data 也可以直接和 entrypoint 互動
一樣的問題啊 那bundler是誰管理私鑰的?會被作惡嗎?
樓上,那算是介於礦工跟用戶間的新腳色,任何人都可以做。如你上面抵押者最後兩個推文所述。我另外有個問題最後還是要有EOA的集束者來打包用戶操作嗎?不然如果集束者用合約帳戶,他們"打包"的這個用戶操作,還是要等其他集束者打包,應該就吃不到MEV吧?
作者: Staker 2023-09-03 02:18:00
如果 Bundler 手上有夠多的 AA 錢包 tx, 確實有機會透過排序各 tx 來做到 MEV 的效果,不過這還有點遠就是了。不過bundler 要打包幾筆 AA 交易後上鏈是 bundler 自己決定,他當然也可以只打包一筆 AA tx 就上鏈。老實說,目前我感覺 AA 相關的基建還不夠成熟,現在甚至還沒有一個成熟的、大家公認的AA tx 專用 mempool。總之 AA這東西現在就是嚐鮮階段~但如果日後 AA 的 paymaster 基建 & 各 dApp 整合做到位,十分有潛力在下波牛市變成小白用戶的預設錢包。