这个看似不起眼的功能却是让大众用户真正使用加密货币的关键一步,也是 Web3 和加密货币生态的重要基石。

撰文:潘致雄,链闻研究总监

加密货币钱包的易用性一直是个让人频频吐槽的大问题。好消息是,这种情况正在一点点改善。

比如说,扫描二维码登陆的功能。中国的用户应该很熟悉使用二维码扫一扫的功能,可以用来支付或登录网站,比如常用的微信电脑端就需要通过手机扫码的方式登录。现在,越来越多的加密货币钱包也在借鉴这套成熟的流程,并采用了一套开源且标准化协议,这样,安全性更佳的手机就能与功能性更全面的电脑打通,为用户提供更全方位的产品体验。

这套开源协议被称为「WalletConnect」,由同名的非盈利组织 WalletConnect 基金会支持开发,负责人为Pedro Gomes。Pedro Gomes 曾经是以太坊一站式 DeFi 入口级产品Balance.io的网页端全栈工程师 ,在 2018 年的时候,他离开 Balance.io,全职投入 WalletConnect 的开发。

以太坊社区基金(ECF) 和以太坊基金会(EF) 都曾资助过 WalletConnect,而且将 WalletConnect 视为Web3基础设施中的重要一环。 对于绝大多数钱包工具开发商来说,没有必要重新造轮子,直接集成 WalletConnect 的开源协议即可,而且不用担心未来会更改商业模式。

从功能上来说,WalletConnect 非常简单,就和你使用微信和支付宝一样。用户可以打开一款支持 WalletConnect 的移动端钱包,然后在电脑浏览器中访问 DApp 时,只需要通过扫码授权,就可以进行链上的交易或执行智能合约。

从安全性来说,WalletConnect 采用的是成熟的方案,有点类似于在互联网中很普遍的开放授权标准OAuth。最关键的是,使用该功能时,私钥不会离开用户的手机,在获得用户授权确认后,手机端钱包会签署交易信息,然后将签署过的信息提交至桌面端的 DApp 中。

当然,从技术架构来说,WalletConnect 的方案远比上面描述的更复杂。

​当加密钱包跟微信一样好用:扫码登录的 WalletConnect 了解一下WalletConnect 第一版手绘架构图

目前 WalletConnect 的采用率已经很高,一些主流的钱包DApp都已经集成, 包括TrustMetamaskArgent、Gnosis Safe、Infinito、Atomic 等17款钱包 ,以及MakerDAOUniswapBinance DEX、DDEX、1inch、dYdX 等39款 DApp。 这些钱包和 DApp 工具覆盖了很多流行且活跃的项目,且以去中心化交易所 (DEX) 和去中心化金融 (DeFi) 为主。

割裂的体验:DApp 在电脑端,钱包在手机端

在 WalletConnect 尚未普及时,大多数的 Web3 应用或 DApp 都是网页端优先的。原因比较简单:手机端原生应用的开发周期较长和开发难度较大,网页版应用的开发速度和工具更符合目前加密货币生态的迭代速度。而且很多网页端 DApp 尚未很好的适配手机的屏幕尺寸,体验较差。

然而,对于加密货币钱包而言,又是以移动端优先的。哪怕业内最常用的电脑桌面端插件钱包 MetaMask,也已发布移动端,而更多的钱包都没考虑开发桌面端产品。

为什么会这样?

一个很明显的结论是,「移动端优先」是全球互联网的趋势,无论是电商、O2O、社交还是科技金融,手机作为载体比电脑更易获得,也能随时联网,这些都是加密货币钱包的最基础要素。此外,考虑到便携性私密性,移动版钱包也比桌面端更合适。

除此之外,很多新款手机都增加了隐私保护的特性,如苹果的安全隔区就是物理硬件层面的安全措施,虽然安全性比不上定制化的硬件钱包,但对于大多数人而言已经足够。而且普通的加密货币钱包无需强大的运算性能,所以性能也不会是瓶颈。

所以这会让 DApp 的用户产生割裂的体验:大多数钱包在手机上,因为更便捷和安全,而 DApp 用网页开发更快速,适合用电脑浏览器使用。

​当加密钱包跟微信一样好用:扫码登录的 WalletConnect 了解一下小狐狸 Metamask

在 WalletConnect 之前,解决方案是Metamask或已经被砍以太坊官方的桌面端钱包Mist。Metamask 是一个大家都很喜欢的网页插件钱包,只需要一个 Chrome 浏览器就可使用,但对于那些更喜欢用手机端钱包的用户而言就很不友好了,这些用户可以选择将私钥拷贝至电脑端的 Metamask,或者将一些 ETH 转账至 Metamask,前者可能会导致私钥泄漏,后者的用户体验比较差。

而 WalletConnect 正是解决上述问题良方,让移动版钱包和桌面版 DApp 可以兼得,同时,也不会产生额外的安全隐患或让用户体验脱节。

本是个副产品,现在却成为重要的积木

WalletConnect 原本并不是一个独立的产品,而是以太坊上的老牌项目 Balance.io 研发过程中的一个附属产品

当时,网页端全栈工程师 Pedro Gomes 希望为 Balance.io 提供一套业内标准的用户体验。在经过几个月的研发后,他和团队设计出一套可以将管理工具打通手机钱包的用户体验。于是在他们制作出原型产品后,将这套工具开源,并取名为「WalletConnect」。

后来这个产品获得了以太坊社区基金 (ECF) 和以太坊基金会 (EF) 的资助,团队也决定以非盈利组织 (也就是基金会的形式) 运作。Pedro Gomes也就离开了 Balance.io,全职开发并运营 WalletConnect 项目。

Balance.io 是一个起源于2016年的项目,创始人Richard Burton是一名早期的以太坊支持者 ,今日依旧活跃在以太坊社区中,扶持一些早期的 DeFi 项目,并在开发一个名为Shell Protocol的稳定币交易协议。Balance.io 的初期产品类似于一个观察钱包的工具,用户输入自己的多个以太坊地址,就可以 汇总查看资产或者 DeFi 协议内的资产情况。

​当加密钱包跟微信一样好用:扫码登录的 WalletConnect 了解一下Balance.io

后来 Burton 在 2019 年底决定关闭这个项目,核心问题来自于项目的商业模式,未能产生营收。他认为自己并没有想清楚这个产品的用户群体到底是谁,只是对一个追踪资金和以太坊数据的工具非常感兴趣——「好奇心是好的,但烧钱并不好」,他这样总结这段经历。不过必须得说,Balance 在关闭前作出了不少贡献,整个项目开源回馈社区,其他开发者可以利用他们代码搭建类似的产品。

WalletConnect 因为以基金会和被资助的方式运作,所以不需要考虑商业回报层面的问题,而是将自己定位一块积木即可,任何项目都可以免费使用。另一个 Web3 和以太坊的钱包开源解决方案Web3Modal已经接入了 WalletConnect ,再加上支持 Metamask、Dapper、Gnosis Safe、普通 Web3 浏览器等,DApp 开发者就可以考虑不用直接对接 WalletConnect,而是选择 Web3Modal,一次接入所有的钱包。

至于 WalletConnect 体验如何?和主流的 C 端互联网产品应该不会差太远,都是用户熟悉的交互方式。

体验一下

来,让我们和读者一起体验一下 WalletConnect 的流程。整个流程一般仅需要 3 至 4 步即可,我们这里以 Argent 钱包和 DDEX 的存款功能为例。

1. 电脑端:在桌面浏览器中问DDEX.io网站并进入「借贷」模块,然后点击右上角的「连接钱包」按钮,选择 WalletConnect,这时候会出现二维码。

​当加密钱包跟微信一样好用:扫码登录的 WalletConnect 了解一下

2. 手机端:打开Argent,然后选择扫描 (Scan) 功能,用摄像头扫描 DDEX 的二维码,在手机上出现的授权页面中点击「Connect」。这时 WalletConnect 已经为移动端钱包电脑端 DApp建立起了连接。

​当加密钱包跟微信一样好用:扫码登录的 WalletConnect 了解一下

3. 电脑端:进入 ETH 的存款功能。输入存入数量,点击「存款」按钮。

​当加密钱包跟微信一样好用:扫码登录的 WalletConnect 了解一下

4. 手机端:在钱包工具中会弹出授权页面,需要用户的授权才可签署交易。点击「Approve」即可完成交易。

​当加密钱包跟微信一样好用:扫码登录的 WalletConnect 了解一下

后续就是等待交易完成,可以在桌面浏览器中查看具体的交易细节,也就不需要手机了。

如果在进行进一步拆解,其实也就是两类操作:

  1. 在通过 WalletConnect 的二维码扫描的首次授权后,WalletConnect 会将用户的以太坊地址分享给 DApp,之后 DApp 就能知道用户的地址和余额信息,这样也就能知道用户有没有相应的余额进行某些操作了。
  2. 用户在使用 DApp 的过程中,如果仅是查看数据,那就不再需要手机端钱包了。但是如果需要提交任何上链的交易时,该申请将发送到移动端钱包中,在获得用户的允许后该交易才会被签名,然后发送至链上。

类似的尝试还有哪些?

在 WalletConnect 之外,还有一些同类的产品,其中最相近的要数由Coinbase在 2019 年 8 月推出的「WalletLink」。

WalletLink 也是开源项目,目前用户仅在 Coinbase 旗下的钱包内可以使用这个功能,其体验和 WalletConnect 相近。不过 WalletLink 对于 DApp 开发者来说比较麻烦,除了需要支持更广泛的标准 WalletConnect 之外,还要单独为 Coinbase 钱包开发并适配支持 WalletLink。目前,主流的 DeFi 平台都已经支持该项目,如 Compound、dYdX、IDEX、Maker 和 Uniswap 等。

TorusFormatic 则是比 WalletConnect 更激进的产品,他们的目标群体不仅是已经有了加密货币钱包的业内用户,更有希望触达原本尚未接触加密货币的用户。用户无需安装过加密货币钱包,只需要邮箱、手机号、Google 账号等,就可以直接接入加密货币生态,然后通过一些公开透明且去中心化的机制完善资产的托管流程。

​当加密钱包跟微信一样好用:扫码登录的 WalletConnect 了解一下Torus 的注册界面

整体而言,这类基础设施看起来似乎并不起眼,对于用户而言,甚至都没有辨识度,毕竟这仅仅只是一个可以用完即走的开源协议,但是,他们却能省下开发者很多的精力,给用户带来极佳的使用体验。这意味着,开发者可以用最灵活的方式构建网页应用,以 SDK 的形式快速集成 WalletConnect,并提供统一且标准化的技术和用户体验,还能以更安全的技术研发移动端或硬件钱包,这些将构成了用户体验中的一个个流畅的环节。也是 Web3 和加密货币生态的重要基石,也是让用户真正接受加密货币产品的敲门砖。

来源链接:mp.weixin.qq.com