作者ripple0129 (perry tsai)
看板DigiCurrency
标题Re: [闲聊] 合约钱包的运作及安全性?
时间Fri Sep 1 23:19:20 2023
原本要推文的
打一打觉得蛮多字的还是改用回覆
测试了一下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.cc), 来自: 118.168.136.31 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/DigiCurrency/M.1693581563.A.479.html
1F:推 Staker: 楼主对 AA 概念蛮清楚的,但补充一下几点细节,大家一起交 09/02 00:17
2F:→ Staker: 流:(1) 合约地址是可以预先计算出来的,可以看看 CREATE2 09/02 00:17
3F:→ Staker: 这个概念 09/02 00:17
4F:→ Staker: (2) 确实可以透过 entrypoint 部署合约,但 entrypoint 合 09/02 00:17
5F:→ Staker: 约实际上是去呼叫另一个叫做 account factory 的合约来帮 09/02 00:17
6F:→ Staker: 你创建 AA 钱包。每家 AA 钱包商理论上都有自己的 account 09/02 00:17
7F:→ Staker: factory, 理论上也可以透过直接呼叫 account factory 来 09/02 00:17
8F:→ Staker: 创建钱包,不一定要透过 entrypoint 在绕一层。不过合约钱 09/02 00:17
9F:→ Staker: 包商当然也可以把 account factory 设计成只有 entrypoint 09/02 00:17
10F:→ Staker: 能够呼叫它。 09/02 00:17
11F:推 yhes923427: 推原po和1楼 另外我也有测试Argent 这个也是AA钱包, 09/02 00:45
12F:→ yhes923427: 也一样一开始是EOA地址,然後从Argent转币出去就变合 09/02 00:45
13F:→ yhes923427: 约地址了 09/02 00:45
14F:→ yhes923427: 搭配1楼大大的补充求处许多,可以在链上看到argent 的 09/02 00:47
15F:→ yhes923427: wallet factory 创建合约的纪录 09/02 00:47
16F:→ yhes923427: 0x4555727a83b8217ad2c966dd5aadda921c7afa8d 09/02 00:47
17F:推 yahooyamgoog: 从合约钱包发起交易的那个EOA是谁,怎麽管理的? 09/02 09:26
18F:推 wlsh5701: 推这篇和推文 09/02 11:08
19F:推 Staker: 回y大,你问到了一个关键,既然 AA 钱包是合约钱包,代表 09/02 13:07
20F:→ Staker: 它不能像 EOA 自己主动发起交易,必须透过一个第三方来触 09/02 13:07
21F:→ Staker: 发他。在 eip-4337 的设计里是透过 entrypoint 来触发 AA 09/02 13:07
22F:→ Staker: 钱包,但 entrypoint 也是个合约,谁来触发 entrypoint? 09/02 13:07
23F:→ Staker: 目前的设计是透过一个叫 bundler 的角色,bundler 会负责 09/02 13:07
24F:→ Staker: 收集和相关 entrypoint 的交易,把这些交易压缩成指定的tx 09/02 13:07
25F:→ Staker: data,bundler 拿着这些 tx data 就能直接去呼叫 entrypo 09/02 13:07
26F:→ Staker: int 。 09/02 13:07
27F:→ Staker: 当然,如果你是科学家有能力自己组这个 tx data, 用自己的 09/02 13:10
28F:→ Staker: EOA 带着这个 tx data 也可以直接和 entrypoint 互动 09/02 13:10
29F:推 yahooyamgoog: 一样的问题啊 那bundler是谁管理私钥的?会被作恶 09/02 14:54
30F:→ yahooyamgoog: 吗? 09/02 14:54
31F:推 john371911: 楼上,那算是介於矿工跟用户间的新脚色,任何人都可以 09/02 20:40
32F:→ john371911: 做。如你上面抵押者最後两个推文所述。我另外有个问题 09/02 20:41
33F:→ john371911: 最後还是要有EOA的集束者来打包用户操作吗?不然如果 09/02 20:43
34F:推 john371911: 集束者用合约帐户,他们"打包"的这个用户操作,还是要 09/02 20:47
35F:→ john371911: 等其他集束者打包,应该就吃不到MEV吧? 09/02 20:49
36F:推 Staker: 如果 Bundler 手上有够多的 AA 钱包 tx, 确实有机会透过排 09/03 02:18
37F:→ Staker: 序各 tx 来做到 MEV 的效果,不过这还有点远就是了。不过 09/03 02:18
38F:→ Staker: bundler 要打包几笔 AA 交易後上链是 bundler 自己决定, 09/03 02:18
39F:→ Staker: 他当然也可以只打包一笔 AA tx 就上链。 09/03 02:18
40F:→ Staker: 老实说,目前我感觉 AA 相关的基建还不够成熟,现在甚至还 09/03 02:23
41F:→ Staker: 没有一个成熟的、大家公认的AA tx 专用 mempool。总之 AA 09/03 02:23
42F:→ Staker: 这东西现在就是嚐鲜阶段~但如果日後 AA 的 paymaster 基 09/03 02:23
43F:→ Staker: 建 & 各 dApp 整合做到位,十分有潜力在下波牛市变成小白 09/03 02:23
44F:→ Staker: 用户的预设钱包。 09/03 02:23