Re: [Coin] 合约钱包的运作及安全性?

楼主: ripple0129 (perry tsai)   2023-09-01 23:19:20
原本要推文的
打一打觉得蛮多字的还是改用回复
测试了一下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
作者: yahooyamgoog (安安唷)   2023-09-02 09:26:00
从合约钱包发起交易的那个EOA是谁,怎么管理的?
作者: 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 互动
作者: yahooyamgoog (安安唷)   2023-09-02 14:54:00
一样的问题啊 那bundler是谁管理私钥的?会被作恶吗?
作者: john371911 (醬廖)   2023-09-02 20:40:00
楼上,那算是介于矿工跟用户间的新脚色,任何人都可以做。如你上面抵押者最后两个推文所述。我另外有个问题最后还是要有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 整合做到位,十分有潜力在下波牛市变成小白用户的默认钱包。

Links booklink

Contact Us: admin [ a t ] ucptt.com