多签钱包是一种合约,需要多个地址签名才可以执行一笔交易,通常使用
使用场景一般为 DAO 的金库和权限管理,避免单点失败。如何查看、验证和追踪其动态也是一门挺有用的技能。
一、定位钱包地址
以 Juicebox 项目的拥有者钱包为例:
二、确认地址类型
下面是跳转到该钱包在 Etherscan 的地址:
Etherscan 会在页面左上方,钱包地址前注明类型,先确认该地址是不是合约。
三、通过 Etherscan 查看多签信息
如何知道这个合约是什么类型的多签,有哪些地址可以参与签名? 目前来说,@etherscan 并没有对多签钱包做特殊支持,而是跟一般合约一样显示。当然,通过合约方式也是可以查到这些信息的。
调用合约方法来获取信息
Gnosis Safe 的合约多使用代理模式,如果 Etherscan 解析成功,可以看到 “Read as Proxy“ 的标签页,选择图中对应方法即可读取信息。
多签钱包最近的交易在做什么?在页面上看到的交易方法都是 Exec Transaction,这是因为 Gnosis 把交易的实际数据封装起来了,所以和其他交易相比,很不直观。
有个办法是,点进去看交易详情里面的转账记录以及触发的事件。 例如这个交易,很容易就看出,是在 Uniswap 进行兑换。
四、通过 Gnosis Safe 的界面查看多签信息
不同的多签替换以下网址中的地址即可。
https://gnosis-safe.io/app/eth:0xAF28bcB48C40dBC86f52D459A6562F658fc94B1e
数据如图:
Gnosis Safe 界面集成了自家合约,在查看多签信息这方面体验要优于没有做特别适配的 Etherscan。 侧边栏可以看到,支持查看 ERC20 ERC721 代币,交易以及多签合约的配置。
- Transactions 这里可以看到还没上链正在排队的交易,已执行交易的签名和执行详情,也可以看到实际调用的方法(在 Etherscan 上因为封装的原因,统一显示为 Exec Transaction)。
- Settings → Owners 里可以看到多签里有哪些地址
- Settings → Policies 里可以看到执行交易的最小签名数
- Settings → Spending Limit 这些就是较少用的参数了,但是也能看到
五、拓展阅读
多签不一定安全,成员是否可靠更重要
多签有个阈值参数,例如 3-5 多签意思是总共五个成员,只要收集到其中三个签名就可以执行交易。
这里有几个点:
- 签名是链下签名,不需要发起交易,因此也就不需要支付 Gas 费用,所以使用空地址加入多签并参与签署交易是可行的。
- 等待签名和执行的交易是公开显示在 Gnosis 的网页上的,所以签名收集完毕等待执行的交易可以被任何人执行。
- 这个最小签名数很重要,要跟总成员数匹配,例如 2-8 可能就是一个很不均衡的例子。