迄今为止,在以太坊(Ethereum)网络上创建的大多数帐户都属于EOA(externally owned accounts)类型,这些账户使用私钥进行保护,通常会为用户转换为12个单词(或24个单词)的“助记词”。如果用户丢失这些短语,则意味着账户中的资产就会永远丢失。
而另一种账户类型—— 合约账户(contract account),则是由代码进行保护,这提供了便利性以及EOA账户所无法提供的各种附加功能,但其面临的最大威胁就在于合约代码的安全性。
理解EOA账户和合约账户之间的根本区别是非常重要的,通过创建及使用私钥签名一笔交易,EOA账户能够给其他EOA账户或其他合约账户发送消息,而两个EOA账户之间的消息只是简单的价值传输,但从EOA账户发送到合约账户的消息,可激活合约账户的代码,允许它执行各种操作(例如转移代币、写入内部存储、发新币、执行计算、创建新合约等)。
与EOA账户不同的是,合约账户无法自行启动新的交易,相反,合约账户仅能够通过响应其接受到的交易来触发自身的交易。
也就是说,目前以太坊区块链上发生的操作,始终是由EOA账户所触发的交易来启动的。
而笔者今天要重点关注的账户,就是后面一种类型:合约账户,由此演变出来的一种钱包叫智能合约钱包,目前主要分为单签名智能合约钱包(Singlesig)和多重签名智能合约钱包(Multisig)两大类型,涉及到的钱包有Argent、Authereum、gnosis、MYKEY等。
体验过这4款钱包后,先简单谈谈它们的相同点及不同点。
相同点:所有的“智能合约”钱包都提供了元交易(Meta Transaction)功能,简单说就是允许用户通过ERC-20代币支付交易所需的gas费用(相比之下,EOA钱包则只能使用以太币(ETH)来支付gas费用),这可以大大改善用户体验。此外,这些“智能合约”钱包均通过引入类似"守护人"的形式提供了账户找回功能,在丢失账户的情况下,就可以挽回资金。
再来大致说说不同点:Argent完全抛弃了助记词的概念,而gnosis、MYKEY以及Authereum则仍然提供了助记词选择,在门槛上,没有助记词的Argent钱包显然是最低的,而其他提供了助记词选择的智能合约钱包,则多提供了一个备用恢复选择。
下面说说每个钱包的具体体验及感受:
1、Argent
Argent在今年获得由Paradigm基金领投的1200万美元A轮融资,Compound创始人Robert Leshner,硅谷投资机构Index Ventures,Creandum和Firstminute Capital参投。
可注册ENS域名作为账户身份,方便识别和管理,需提供手机号和邮箱(相当于进行了KYC,同时用于接受可疑活动警报),之后设置密码,设置指纹(可选),整个过程不需要记录助记词。
添加“Guardian”(守卫者)角色时,可以选择其他Argent账户(合约账户)或硬件钱包、MetaMask等EOA账户。
目前Argent支持的Defi应用包括Aave、Compound、kyber、pooltogether、Uniswap V2、Dai存储利率等。
APP设定了一个每日限额调整功能,默认设为10 ETH,用户可自行进行调整,但过高无法通过,目的是防止Guardian作恶的情况下,一次性盗走全部资产。
删除APP并重新下载后,无需找回过程就直接导入之前注册的账户,这带来便利的同时,可能也会带来一些安全隐患。
在新手机上,通过“找回钱包”并与“Guardian”(守卫者)对话,可让他们锁定或帮助恢复钱包。
交易手续费可能比一般的EOA账户高。
2、beta版Authereum钱包
曾获得Coinbase Ventures、1confirmation、Synapse Capital等机构110万美元投资。
无需下载app,可自由设置用户名,需要输入email,然后设置一个密码;
设置一个恢复账户,并输入相应的地址(你需要掌握该地址的私钥或助记词);
可设置2FA;
重新登录时可通过输入用户名或email以及密码登录对应的钱包;
忘记密码可通过恢复账户或恢复助记词来进行重置;
2月份曾被白帽黑客samczsun找到过一个致命漏洞,该漏洞允许攻击者控制所有用户的资金,后来该团队迅速解决了该问题,避免用户损失了资金。
3、Gnosis Safe
Gnosis曾在2017年的代币融资潮中获得25万ETH融资。
注册依然需要记助记词(12个英文单词),没有填写手机号、邮箱的过程;
多签同时支持了EOA账户和合约账户,支持了2FA功能,相当于增加了一把保护锁;
需要支付一笔安全创建费(随网络情况波动,撰写本文时为0.01518ETH,约合3美元),门槛相对更高;
对于恢复,备份不一定是你的家人或朋友,它们也可以是硬件钱包设备或你可访问的其他账户。
根据创始人的说法,Gnosis在做的另一个可选的恢复选择是基于时间条件,简单说就是允许用户给钱包设置一个规则,如果一年内没有发生交易,另一个指定的账户就可以触发命令并收回资金。
4、MYKEY
MYKEY所属公司KEY GROUP曾在去年完成数千万元A轮融资,该轮融资由HashKey Capital领投,分布式资本、复星集团联合创始人梁信军、金融科技投资机构UVA共同参与投资。
注册后仍需要记住“管理私钥”(12个助记词,默认为中文,可选择英文),“管理私钥”拥有账户的最高权限,它可以冻结和修改其他的“操作私钥”,以及更换“管理私钥”本身。
没有填写手机号、邮箱的过程;
根据白皮书中的描述,账户的紧急联络人最多可设置为6名,但实际当前APP中的紧急联络人默认为MYKEY Lab,并非自主设定,并且需要21天的等待期。
在用户遗失设备、遗失管理私钥的情况下,紧急协助人可以帮助恢复私钥。
除了支持ETH,还支持EOS。
开通账户需要等候几分钟,开通后会获赠来自官方的0.5美元(key代币),以用作交易费。
对了,除了以上这4款智能合约钱包,市场上还有一种开发中的基于layer 2(比如ZK-Rollup)的智能合约钱包,这类智能合约钱包可实现超低的手续费,并且可以扩容以太坊,而其他的功能则与以上智能合约钱包大同小异。
需要明确指出的是,以上的智能合约钱包都是基于社交恢复,然而社交恢复的使用,实际会带来人的因素,而这通常会引入脆弱性,这不仅涉及到合谋风险,还会引入其他的攻击可能,也因此,设置合理的挑战期并提供异常通知功能就是非常必要的。
此外,还有例如EIP 2429这样的方案,可实现“信任最小化”的社交恢复功能,但截至目前,笔者似乎并未发现采用类似方案的智能合约钱包。
最后,再不负责任地吐槽几点:
智能合约钱包会是大势所趋,但目前相关钱包其实处于一个非常早期的阶段,它们的安全性需要时间来证明(谁知道哪天就冷不丁曝个致命漏洞);
短期仍然是EOA钱包的天下,比如笔者还是会选择用助记词;
以太坊主网那么堵,钱包基于layer 2转账不香吗?所以个人对基于Rollup的智能合约钱包会更期待一些;
高门槛有利于安全性,低门槛则有利于采用,如何权衡确实有点让人头疼,在体验过的几个智能合约钱包当中,Gnosis是唯一一个收费的。