PTT推薦

Re: [Coin] 合約錢包的運作及安全性?

看板DigiCurrency標題Re: [Coin] 合約錢包的運作及安全性?作者
ripple0129
(perry tsai)
時間推噓 9 推:9 噓:0 →:35

原本要推文的
打一打覺得蠻多字的還是改用回覆

測試了一下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

--
Sent from nPTT on my iPhone 13 Pro Max

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.168.136.31 (臺灣)
PTT 網址

Staker09/02 00:17樓主對 AA 概念蠻清楚的,但補充一下幾點細節,大家一起交

Staker09/02 00:17流:(1) 合約地址是可以預先計算出來的,可以看看 CREATE2

Staker09/02 00:17 這個概念

Staker09/02 00:17(2) 確實可以透過 entrypoint 部署合約,但 entrypoint 合

Staker09/02 00:17約實際上是去呼叫另一個叫做 account factory 的合約來幫

Staker09/02 00:17你創建 AA 錢包。每家 AA 錢包商理論上都有自己的 account

Staker09/02 00:17 factory, 理論上也可以透過直接呼叫 account factory 來

Staker09/02 00:17創建錢包,不一定要透過 entrypoint 在繞一層。不過合約錢

Staker09/02 00:17包商當然也可以把 account factory 設計成只有 entrypoint

Staker09/02 00:17 能夠呼叫它。

yhes92342709/02 00:45推原po和1樓 另外我也有測試Argent 這個也是AA錢包,

yhes92342709/02 00:45也一樣一開始是EOA地址,然後從Argent轉幣出去就變合

yhes92342709/02 00:45約地址了

yhes92342709/02 00:47搭配1樓大大的補充求處許多,可以在鏈上看到argent 的

yhes92342709/02 00:47 wallet factory 創建合約的紀錄

yhes92342709/02 00:470x4555727a83b8217ad2c966dd5aadda921c7afa8d

yahooyamgoog09/02 09:26從合約錢包發起交易的那個EOA是誰,怎麼管理的?

wlsh570109/02 11:08推這篇和推文

Staker09/02 13:07回y大,你問到了一個關鍵,既然 AA 錢包是合約錢包,代表

Staker09/02 13:07它不能像 EOA 自己主動發起交易,必須透過一個第三方來觸

Staker09/02 13:07發他。在 eip-4337 的設計裡是透過 entrypoint 來觸發 AA

Staker09/02 13:07錢包,但 entrypoint 也是個合約,誰來觸發 entrypoint?

Staker09/02 13:07目前的設計是透過一個叫 bundler 的角色,bundler 會負責

Staker09/02 13:07收集和相關 entrypoint 的交易,把這些交易壓縮成指定的tx

Staker09/02 13:07 data,bundler 拿著這些 tx data 就能直接去呼叫 entrypo

Staker09/02 13:07int 。

Staker09/02 13:10當然,如果你是科學家有能力自己組這個 tx data, 用自己的

Staker09/02 13:10 EOA 帶著這個 tx data 也可以直接和 entrypoint 互動

yahooyamgoog09/02 14:54一樣的問題啊 那bundler是誰管理私鑰的?會被作惡

yahooyamgoog09/02 14:54嗎?

john37191109/02 20:40樓上,那算是介於礦工跟用戶間的新腳色,任何人都可以

john37191109/02 20:41做。如你上面抵押者最後兩個推文所述。我另外有個問題

john37191109/02 20:43最後還是要有EOA的集束者來打包用戶操作嗎?不然如果

john37191109/02 20:47集束者用合約帳戶,他們"打包"的這個用戶操作,還是要

john37191109/02 20:49等其他集束者打包,應該就吃不到MEV吧?

Staker09/03 02:18如果 Bundler 手上有夠多的 AA 錢包 tx, 確實有機會透過排

Staker09/03 02:18序各 tx 來做到 MEV 的效果,不過這還有點遠就是了。不過

Staker09/03 02:18bundler 要打包幾筆 AA 交易後上鏈是 bundler 自己決定,

Staker09/03 02:18他當然也可以只打包一筆 AA tx 就上鏈。

Staker09/03 02:23老實說,目前我感覺 AA 相關的基建還不夠成熟,現在甚至還

Staker09/03 02:23沒有一個成熟的、大家公認的AA tx 專用 mempool。總之 AA

Staker09/03 02:23這東西現在就是嚐鮮階段~但如果日後 AA 的 paymaster 基

Staker09/03 02:23建 & 各 dApp 整合做到位,十分有潛力在下波牛市變成小白

Staker09/03 02:23用戶的預設錢包。