Jessie213
签名这里我没什么想说的
写了 10 篇文章
“最危险”的钱包Argent:用智能合约实现中心化体验,币丢了还能找回来
发表于 2019-03-27 17:23:49

Argent是最近我们观察到的一个非常有意思的钱包产品。它试图在智能合约上搭建钱包服务,以此实现类似银行那样更好的中心化体验(没有助记词、账户丢了可以找回),同时不需要信任第三方,保持去中心化。



这可能是钱包设计历史上最大胆的想法,因为把币存在智能合约中也意味着让资产随时置于黑客的危险之中。这究竟是不是一种更好的设计?让我们从现有钱包产品的问题重头说起。

“方便”和“控制权”,可以都要吗?

众所周知,在数字钱包的讨论中,”方便“和”控制权“的平衡是一个永恒的话题。加密货币发展过程中的被盗事件接连不断,却依然没有改变大部分人把自己的数字资产存放在中心化交易所的习惯。事实表明,人们对“方便”、“快捷”、”一句话可以讲清楚“的用户体验需求,远远比你告诉他“我的钱包产品有多么多么安全“强得多。

让我们来看看目前数字钱包让用户望而却步的使用痛点:


我们距离能被大众接受的”傻瓜钱包“还有多远


首先,关于助记词问题。

虽然银行在加密货币的世界里被贬的一文不值,但不可否认它的好处之一是在你丢失银行卡的时候仍然有办法恢复你的账户,你只需要打个电话,验证自己的身份后就可以拿到一张新卡。

在加密货币领域,一般情况下当我们丢失了手机(或者丢失了私钥),我们可以通过注册钱包时生成的一大段复杂无规律的助记词帮助找回钱包。但是很显然,没人愿意记那一大堆词。

那么是不是可以做到无需助记词就可以找回钱包呢?

Argent钱包提供了一种解决思路,同样是受到银行帮助用户找回账户的启发。相应的,他们引入了“监管人”这个概念,即找到你信任的人并授予他们一些帮助你验证身份的权限,就像微信里的熟人帮忙找回密码。但是这个过程是被预先写在智能合约中的,你可以完全控制这个过程并且随时更改“监管人”。

让我们具体理解一下这个‘监管人“机制。

简单地说,Argent让你用一部手机来管理你的私钥,一个智能合约来管理你的资金。如果你的钱包丢了或被盗了,你可以通过智能合约里预先设置的监管人把资金转移到新的地址。

监管人可以是你信任的朋友、设备(比如硬件钱包或是第三方服务。钱包的所有者可以赋予“监管人”一些权限,包括锁定账户、解锁账户、触发恢复账户程序和批准大额转账。

当用户察觉到他的钱包被盗/或者丢失的时候,他可以找到相关“监管人”,让他帮你锁定合约里的资金(5天时间),在这期间合约只能进行有限的操作,像添加其他“监管人”、转账等操作均无法进行,以此来保证合约里资金的安全。

对普通用户来说,这样钱包丢失后的恢复体验就和传统互联网产品的体验非常接近了:只需要“监管人”在自己钱包上点下确认,经过验证后,你的资金就会自动被转到智能合约中预设的其他账户中。

这种思路比较有意思的地方在于,在智能合约的基础上搭建一个钱包服务,这个钱包就可以利用智能合约本身的可编程性不断叠加其他的业务逻辑。除了找回账户、锁定账号这些安全性的功能,还可以增加诸如「每天转账最大限额」这种用户在传统互联网产品上已经非常习惯的标配功能,增强产品的体验。但这种方式可能也会有个问题,就是在认知上,用户会愿意把自己的资金放在智能合约上吗?如果合约被黑客盯上,合约的安全性无疑需要更大的保障。

此外,除了不需要私钥就能找回资金,Argent还做了另外一个小细节:它把钱包地址和ENS注册域名挂钩起来,这样对普通用户来说,自己的钱包地址就不再是一连串冰冷无意义的字母了,而是一个类似 john.argent.xyz 这样容易理解的个性域名。

第二,Gas费的问题。

设想一个转账场景,一个用户的imtoken钱包中只有1000个xyz coin,他想把这1000个xyz转出来需要0.03个以太坊作为燃料(gas),但是用户钱包中只有0.01个以太坊(甚至没有以太坊)。他如果想继续完成这次转账就要从想办法从其他地方(比如交易所、朋友给你转等)向你的账户充值0.03个以太坊,此过程必将使一部分用户缴械投降。

再比如一些建立在以太坊上的DApp,所有的操作都需要燃料费(gas),因此你在使用这些DApp的时候也会面临类似糟糕的体验。

在这个问题上,我们不禁设想,用户能否在不持有以太币(或某一类平台token)的情况下实现与以太坊的交互呢?

元交易(Meta-transaction)的出现使这种设想成为可能,用户无需理解gas、账户中无需持有ETH 就可以进行交易,并且新用户可以与DApp进行轻松交互。用户使用私钥签名一笔交易,并把这笔交易发给Replayer(一般是某个拥有特别权限来转发用户交易的智能合约),这个Replayer将会为这个交易支付gas,并通过这个用户的专用代理合约发送数据到网络中。

这种元交易的模式思路上其实和EOS交易无需矿工费的机制有点类似。即,用户在使用DApp服务时不用支付矿工费(gas),而是由DApp的开发者授权给客户使用自己的gas份额。(在上图中,可以看出Argent为用户支付了gas费)

数字钱包和DApp的交互问题

除了前面提到的助记词和gas费问题,数字钱包和DApp之间的交互体验也亟待改善。

在今年3月的EthCC大会上,MyCrypto的泰勒•莫纳汉(Taylor Monahan)曾对目前的交互体验进行了生动的描述。

在与DApp的交互方面,Wallet Connect钱包做出了一些有趣的尝试。目前,因为大部分的DApp是基于web端的,当需要涉及消费或交易的时候又需要用到手机端的钱包,传统的浏览器上安装metamask的扩展插件,然后注册自己的钱包地址等复杂操作的交互已经不能满足需求。

Wallet Connect通过QR码打通网页端DApp和手机端钱包之间的交互。一方面,手机端钱包可以安全地存储你的私人密钥。当你想与网页端的Dapp互动时,你可以通过扫描二维码,将钱包与DApp链接起来。这个交互体验和我们使用微信扫码登陆、扫码支付的体验是一样一样的,几乎不需要教育。当你需要进行交易时,它会向你的手机推送一个通知,你可以在那里确认或拒绝交易。

当然,数字钱包世界的进展不止这些。

比如上个月在ETHDenver上出尽了风头的Burner Wallet,用户在无需下载APP的情况下可以实现轻松扫码支付数字货币的体验;

比如Gnosis Safe通过双重认证技术(2 factor authentication)帮助用户实现更安全的交易;

再比如Balance致力于使开放金融资产(DeFi)可视化更强等等。

在不久的未来,当诸如Maker、Dharma、Veil和Uniswap等优秀的去中心化应用越来越多的时候,使加密货币的持有和转账变得更容易,并且能更方便的在钱包中使用DApps就成为大势所趋

数字钱包的缔造者们需要让用户不再觉得,加密货币是距我千里之外的概念,而是能真正使用、并使它成为生活的一部分。

参考文献:

https://medium.com/argenthq/the-private-key-to-mass-adoption-a7c7e4a9a268 https://medium.com/argenthq/decentralised-and-seedless-wallet-recovery-5fcf7dddd78d https://github.com/argentlabs/argent-contracts/blob/develop/specifications/specifications.pdf


Jessie213 查看主页
签名这里我没什么想说的
写了 10 篇文章

评论

this comment section is using the amazing decentralized database engine - Gun.db

推荐阅读

普林斯顿观点:区块链究竟有什么好?
粗暴的“游戏上链”为什么不行?以及怎么设计才能行?
更环保的共识算法:Proof of Capacity
Vitalik 详解 ETH 首次分片测试:扩容前景如何?
如果给钱包加个解释器,是不是就能利用消息区段来发送“代码”了?
如果人类造出了毁灭性的技术,区块链也许能让我们幸免于难