原本要推文的
打一打觉得蛮多字的还是改用回复
测试了一下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 整合做到位,十分有潜力在下波牛市变成小白用户的默认钱包。