8 月 8 日,据官方消息,美国财政部海外资产控制办公室(OFAC)将TornadoCash 纳入制裁名单(SDN),包括其网站以及多个以太坊和USDC钱包地址。所有美国个人和实体都被禁止与 Tornado Cash 或任何与该协议绑定的以太坊钱包地址进行交互。包括Infura、Alchemy、dYdX、Discord、Aave、Metamask、Gitcoin、Github 在内的诸多项目方也参与或被卷入到对 Tornado Cash 的制裁。

Tornado Cash 一直是许多加密黑客洗白赃款的首选混币器。

就在 OFAC 制裁Tornado Cash不久后,有人将少量ETH从受制裁的 Tornado Cash 钱包发送到属于加密名人的钱包,如孙宇晨、神鱼等,导致它们的钱包被DeFi协议封禁,尽管随后被项目方手动解禁,但Tornado Cash 制裁事件引发的投毒事件引发人们对“链上合规”的关注。(该事件解读详见《Tornado Cash被制裁引发投毒攻击:隐私与安全之争》。)

从技术上看,普通的链上地址是不能拒绝“黑钱”的,而合约钱包可以允许用户自设置或者调动一个公共性的地址黑名单,自动地禁止用户与名单上的地址或者合约继续交互。即使名单上的地址向合约汇入可疑资金,合约钱包也可以把资金自动转回去,缺陷是需要花费一定的 gas 成本(目前约 0.2 美元),但随着 ZKR 的大规模采用,理想条件下的 gas 有望降低到 0.002 美元。

什么是合约钱包?相比一般的钱包,合约钱包除了满足合规需求还有什么用途?用户可以使用哪些合约钱包?Odaily星球日报将在下文中一一介绍。

钱包账户 VS智能合约账户

在讲解合约钱包之前,需要先介绍以太坊账户系统。

目前以太坊上有两种账户:一种是外部拥有账户 EOA(也就是通常的钱包账户),具有发送与接收代币的功能;一种是智能合约账户,各种部署在以太坊上的 dapp 就是以智能合约的方式运行着。

EOA 可以支付 gas 和发起交易,合约账户不能。简单来讲,账户抽象就是让合约账户可以支付 gas 和交易,从而把两种账户精简为一种账户。

合约钱包就是让合约账户可以支付 gas 和交易(技术上称之为账户抽象),它的目标是实现更加可编程的交易,好处是可以为账户/钱包定制复杂的功能。

合约钱包的用处

合约钱包的功能包括但不限于以下五点:

拆分权限,允许用户设置多个私钥,不同的私钥管理不同权限的签名,比如 A 私钥允许签署超过 1000 美元的交易,B 私钥每天只能签署不超过 100 美元的十笔交易,而且这些私钥的管理权限也是可调整的。

多签钱包,一个合约账户可被定制为同时被十个不同权限的地址所控制,当多签钱包加上拆分权限,可以被许多投资DAO用来共同决策并执行一些纯链上的行为活动。

资产管理,可实现按时发放工资、保险、福利等,投资机构可以以合约的方式推出一个理财产品,自动分配收益。

安全合规,支持钱包身份验证、限制提款、限时交易、临时冻结,以及为钱包设置一个地址的黑白名单,并设置拒绝或者允许某些地址发起的交易,这将提升链上交易的合规性。

账号恢复,可以实现 Web2 一样的账户恢复功能,可以在丢失私钥的情况下恢复账户。只要用户在丢失私钥之前设置了其他可信赖的人、地址或者设备,就可以通过它们帮助恢复用户的私钥。比如设置允许通过其他钱包/地址、邮箱、微信、手机号码发送信息来恢复私钥。

总的来讲,合约钱包让钱包更加可组合、安全,并解锁链上行为的更多可能性,让钱包应用更有想象力。

该领域玩家

目前的合约钱包包括 Argent、Authereum、CoinbaseWallet、Dapper、Dharma、Gnosis Safe、Monolith 、MYKEY、Metamask、Portis、Pocketto、InstaDApp、Zerion。

但需要注意的是,行业中还没有关于合约钱包的通用标准,不同的智能合约钱包存在一定的差异,每个合约钱包的设置都不尽相同,比如Argent 相对面向大众用户,特色是不需要助记词注册,支持账号恢复,Gnosis 相对面向机构,特色是安全、多签钱包、资产管理。

有的钱包支持用户用 Web2 账号(如邮件、电话等)恢复私钥,有的钱包支持与一些 DeFi 自动交互(类似 Web2 基金产品),有的钱包可以支持多签与资产管理,这完全取决于钱包开发商,如果用户有特别需求也可以向开发商提出定制需求。