近日(5月16日),以太坊合约钱包Argent 1.0版本上线。它集成了多款DeFi协议,包括Aave、Compound、Dai Savings Rate、Kyber、Uniswap等,并优化了安全模块。从近期社群的使用反馈来看,颇为正向,用户认为Argent提供了友好的体验,无需助记词、无需地址,简单易用。

2个月前,Argent完成1200万美元的A轮融资,由加密风险基金Paradigm领投,Compound创始人Robert Leshner以及投资机构Index Ventures参投。加上2018年11月的种子轮,Argent总融资金额已达到1600万美元。

新品上线、风投追捧、舆论力挺…… Argent缘何收获满满?合约钱包与经典钱包有什么区别?究竟解决了什么痛点?会否成为加密钱包的未来趋势?是否存在弊端和隐患呢?本文将带大家一探究竟。

一、对于钱包你是否有很多问号?

在介绍「合约钱包」之前,请大家先自问,有没有如下困惑:

1.反人类的“助记词”操作

在笔者的不懈布道下,曾有朋友想体验加密货币这个新物种,但进入门槛之高很快消耗了他的好奇心。通过一系列操作购得比特币的过程暂且不论,使用钱包的过程就让人紧张又复杂。用户需要记录12个助记词或者私钥,还不能复制、不能截图、不能保存在联网设备上,抄在纸上怕丢,记在脑袋里怕忘。私钥丢失或被盗导致的比特币损失事件已屡见不鲜,安全与易用、去中心化与丢失找回、自行掌管资产与事后有人兜底,真的不可协调吗?

2.资产散落在各种DeFi中搞不清楚

“Dai散落在各种奇葩的DeFi产品里,根本搞不清楚。就好像你洗衣服突然发现,这个裤子口袋里怎么有50块钱一样,好多人都会突然发现,我这个钱包里怎么还有钱呢。”DeFi Labs创始人代世超调侃道,相信很多DeFi用户都有相似的体验,不仅仅是资产七零八落,收益更是不清不熟,我们太需要一个统筹数据和操作的钱包了。

3.准备转账了发现没有ETH

我们知道ETH是作为gas费用收取的,你是否曾经使用DeFi产品准备转账的时候发现钱包里没有ETH?你是否曾想尝试各种DeFi产品,但最终因为Gas费用太高作罢?

二、各类钱包究竟有什么不同?

现在的钱包产品明显还有充分的优化空间,从提高用户体验来说,有托管私钥管理方案和非托管私钥管理两个方向。

托管私钥管理方案最简单,比如Cobo云端钱包,就是一个基于手机号和KYC的账户,与传统互联网产品类似,用户的可接受度很高。但它的安全性和交易所托管差不多,都是基于中心化信任。如果想要提高安全,可以向着合规和保险的方向努力。

非托管私钥管理方案又可以细分为3类,第1类是比特派这种经典钱包,需要自己备份助记词;第2类是基于门限签名技术的钱包,比如Zengo,它使用两个独立秘钥取代传统的单个私钥模式。其中一个秘钥保存在手机上,另一个存储在ZenGo 服务器上,在进行交易的时候,手机和ZenGo 服务器通信共同完成签名;第3类是智能合约钱包,用户的资产不再由一个私钥完全控制,而是通过智能合约来控制,比如以太坊上的Argent钱包以及EOS上的Mykey钱包。

我们今天重点介绍第3类「合约钱包」。简单来讲,它具有如下特点:

(1)仍然是去中心化的非托管式钱包,基于智能合约实现,但从使用体验来说,基本上和中心化钱包没太多区别了; (2)用户不需要记下私钥和助记词,只需要记一个密钥,但就算忘记了也可以找回; (3)用户可以通过钱包便捷使用Dapp和DeFi,Mykey支持 EOS 和 ETH 两条公链,兼容EOS的Scatter和和ETH metamask的应用Argent内置了一些Defi 产品,支持NFT和WalletConnect扫码协议; (4)而且,用户不需要支付gas费用,Mykey对新用户提供免费的网络费额度,Argent目前是完全免费的。

它们是如何做到的呢?以Argent为例,它设置了“Guardians”的角色,Guardians采取三种形式:熟人(使用Argent的朋友或家人);设备(例如你选择的硬件钱包);第三方服务(例如使用Argent Guardian服务,或者其他第三方KYC提供商网络),你可以根据需要任意组合任意数量的“Guardians”,也可以随时添加或删除它们,如果丢失了密钥,通过“Guardians”就可以恢复。

三、如何理解无私钥智能钱包?

对于无私钥智能钱包,其实相关方案还有很多,我们来简单了解一下。

“Recovery Pallet”

1月14日,Parity工程师 Shawn 提交了一个M-of-N社交账户回收Substrate 模块。使用Substrate 开发下一代区块链时会感到更安全,而不用担心丢失密钥。通过社交网络,就可以恢复账户。

具体来讲,“Recovery Pallet”是一种M-of-N社交恢复工具,如果私钥或其他身份验证机制丢失。帐户所有者将联系其已配置的朋友以担保进行恢复尝试。帐户所有者将提供其旧帐户ID和新帐户ID,而朋友将使用这些参数进行呼叫。需要N个朋友中的一个门限(M),以允许另一个帐户访问可恢复帐户,一旦有一定数量的朋友同意恢复尝试,帐户所有者就需要等待直到延迟时间过去。

有一个形象的比喻是“这就像是门钥匙丢了,那就换一把锁。但是换锁需要(可以是多个)第三方,并且设置时间延时,在延时的这段时间,原来的钥匙仍然是最高权限。”这样,用户既保留了账户的最高权限,又在犯错的时候有补救的措施。

详情见:https://github.com/paritytech/substrate/pull/4531

“Soulword”

2月29日,Polkadot 早期社区成员姜富耀在社群分享了他的私钥生成方案“Soulword”。Soulword 意思是“心语”,一种可根据私有记忆通过加密算法创建私钥的解决方案。该方案旨在解决私钥或助记词完全丢失不可找回的问题。Soulword 通过私钥创建者自身私有的记忆事物并通过加密的方式来创建私钥。从而可以在丢失私钥或助记词的情况下,根据私有记忆加密码的形式来恢复私钥或助记词。

具体过程就是,输入私有记忆 --> 输入加密私有记忆的密码 --> 将私有记忆使用 sha512 做哈希运算 --> 将哈希使用密码通过 pbkdf2 加密 --> 输出 SEED 私钥。而后续可进行:备份私钥 、备份私有记忆或私有记忆简短提示语。

“私有记忆可以为私钥创建者主观意识相关联的任何事物的编码。例如葡萄糖分子式的十六进制编码、某公司的统一企业社会编码、蛋白质DNA权威公示序列截断编码、某知名杂志历史某期刊的第一篇文章标题、比特币某历史区块数据编码、某文件的hash值等等。”姜富耀表示。

详情见:https://github.com/jiangfuyao/soulword

“Itering DKMS”

此外,Itering分享了一个DKMS方案,是Zengo的改进版本。它基于阈值签名和代理重加密技术,实现去中心化的密钥生成、签名、托管、恢复。根据官网,“Itering DKMS”主要通过这些方式达成:DKG技术生成分布式私钥、轮替算法防止恶意攻击、同态加密实现密文处理/零知识证明实现隐私验证、阈值签名实现多方确认、代理重加密和冗余存储实现私钥的分散托管和恢复。

「阈值签名」为密钥管理新增阈值安全性的加密签名方式,签名无需组合完整私钥。在Itering DKMS中,用户端(User)与服务端(Server)各持有部分私钥,各自签名后组成一个完整可用的签名数据。任何设备上均无完整密钥,减少被盗窃的可能性。

「代理重加密」是一种公钥加密,在不读取明文的前提下,允许代理节点将密文从一个公钥转为另外一个公钥。Itering DKMS 将代理重加密技术应用到私钥的备份与恢复领域,降低钱包丢失风险,提升资产安全度。在私钥的备份和恢复的过程中,密文和私钥始终分开存储,使私钥的控制权牢牢掌握在用户手中,杜绝托管方作恶的嫌疑。

如此一来,任何设备上均无完整密钥,减少被盗窃的可能性,但如果设备不可用或密钥丢失,又可恢复钱包。

四、合约钱包的痛点和隐患

当然,合约钱包也不是完美的,它暴露出来一些隐患。

(1)隐性收费

不知道Agent真的很受欢迎还是它采用了饥饿营销策略,3月份时注册Agent钱包时甚至要排上千人的长队。正如我们上文提到的,Agent的优势之一是整合了很多DeFi产品;优势之二是为用户垫付Gas费,据说在3.12极端行情下,Argent为用户垫付了55eth的gas,像不像熟悉的互联网“烧钱营销”套路。

实际上,很多DeFi业内人士表示“去中心化钱包很难有盈利模式,而且开发DeFi本身也不赚钱。”那大家有没有想过合约钱包支付的这些Gas费用从哪里来呢?有使用者发现,通过Argent在Compound存款,利息低于直接用Compound存款,所以Argent很可能是利用利息差在挣钱。大家或许可以算算账,省下的Gas费和少赚的利息究竟哪个更多?

(2)隐私问题

这个问题都是由Kiran Fernando提出的,他今年2月撰文《Ethereum Meta Transactions : Our Take》,后由「以太坊爱好者」曾汨 & 阿剑翻译校对。

Kiran Fernando指出:“许多用户在其所有链上活动中都使用 ENS 域名作为身份(并且域名可读部分使用了真实姓名),巨大的隐私和安全问题开始显现。以太坊账户的交易记录(包括其投资组合及与 dApp 之间的互动记录)在链上是公开的,一个地址注册 ENS 域名之后,这些交易活动就跟这个 ENS 域名关联起来了。而用户所注册的 ENS 名字很可能是用户在其它服务或是现实生活中已经使用过的名字。”

虽然隐私问题可以通过分层确定性钱包规则(Hierarchical Deterministic Wallet,简称 HD 钱包)解决,用户只持有一把私钥,然后为每一个要用到的 dApp 和 token 专门创建一个EOA地址用于交互。但Gas费用和网络拥堵将降低这个方案的实际可能性。

总而言之,智能合约钱包为我们带来了清新的交易和存储体验,加密货币如果想被更多的人接受,降低门槛是非常必要的。但由于智能合约钱包还是一个新事物,安全性尚待验证。另外熟人担保这个方案看似有道理,但它的安全性往往与担保人数成正比,可是资产本身是很私密的事情,可信任的人恐怕也很有限,想想与之相对应的社交成本,可能很多人还是会选择把助记词默默抄在纸上吧。