就在两天前的 11 月 27 日,韩国知名交易所 Upbit 被黑客盗走 34200 个 ETH,价值约 3 千万人民币。虽然在这之后安全部门很快的追查到 ETH 的流通链路,但追回资产依然希望渺茫。

安全问题一直是选在以太坊头上的一把达摩克利斯之剑。和比特币不同,以太坊并没有双签的设计,一旦密钥被盗则任何人可以在任何地点转走账户里的所有资金。更为可怕的是,只要黑客不进行操作,钱包的主人甚至无法意识到自己的私钥已经被别人掌控。

解决这个问题的方式有两条,一条是通过硬件钱包的形式,另一条就是通过智能合约 (Smart Contract)。

智能合约,本文中特指架构在以太坊网络系统上的,可以被执行的一系列代码。Gnosis Safe [1] 就是一个基于智能合约钱包软件,用户的自己被安全的存放在智能合约中而非用户的手机中。

Gnosis Safe 钱包

Gnosis Safe 由 Gnosis Ltd 研发,是目前比较知名的智能合约钱包之一。

通过部署在以太坊的智能合约,Gnosis Safe 在安全的前提下实现了一下一些硬件钱包所不具备的功能,如两步验证、通过其他 ERC-20 代币 gas fee、连接 Dapp等。

什么是智能合约钱包?

其实我们可以把 Gnosis Safe 理解成一个托管在以太坊上的可执行代码,这个代码的工作就是帮我们去完成转账、签名或者和其他智能合约交互的操作。

智能合约不存在私钥和助记词的概念,只能通过以太坊进行交互。当我们申请转账的时候,我们并没有直接的跟以太坊网络通信,而是通过本地钱包签名一条信息并通过普通网络传递到中继钱包中。

中继钱包在验证后会发起一笔交易,要求我们的智能合约钱包执行某某指令。这个指令可以是转账,也可以是和另一个智能合约进行交互。

智能合约钱包的安全性

Gnosis Safe 2FA 示意图
Gnosis Safe 2FA 示意图

智能合约没有私钥和助记词,也不存在私钥泄漏的情况,其主要风险来自于代码的漏洞。不过在我看来,Gnosis Safe 的智能合约上线之后几乎每天都在被审阅,存在致命漏洞的可能性较低。

另一个风险则来自于用户本地的钱包。如果其他人拿到了用户本地钱包的助记词,同样可以控制智能合约。但智能合约钱包的好处是,它可以从合约的层面进行更多的加固。

比如 Gnosis Safe 可以启用 2FA(二次验证)的功能,将 Chrome 浏览器的插件作为双重验证的工具。一旦开启,Gnosis Safe 只有在收到两个设备的确认之后才会广播交易。

另一个加固则体现在限制交易上。以另一个智能合约钱包 Argent 为例,Argent 对每日的交易数量进行了限制,大额的转账需要多个设备和守护 (Guardians) 的确认。从智能合约的设计上避免了被「掏空」的可能。

智能合约钱包 vs 硬件钱包

硬件钱包和智能合约钱包都是为了安全而生,但实现的路径却不相同。

硬件钱包的安全主要来自于它通过物理形式创建的防火墙。硬件钱包不需要依托手机或电脑来运作,也不连接互联网。这就让黑客无从下手,如果无法接触到产品,渗透也无从谈起。

但硬件钱包也有自己致命的弱点,那就是不透明。硬件钱包涉及到供应链的原材料、组装以及系统的安装。如果生产的过程中遭遇供应链攻击甚至是监守自盗,用户几乎毫无还手之力。

智能合约钱包则是走的另外一条路径。通过公开的托管代码来保护用户的安全,由于 2FA 的存在让黑客攻击的难度成倍的增加。由于代码开源可查,合约出现致命漏洞的可能性极低。

智能合约钱包还可以对大额转账进行限制,如 Argent 所采用的每日额度的形式。超过额度之外的转账需要经过多次确认,如此一来,即便是被黑客攻击也可以将损失控制在一个比较小的范围。

可扩展性

安全是一切钱包的基础,但是智能合约钱包绝不仅仅只有安全。

硬件钱包的安全核心在于不联网,这也意味着硬件钱包无法通过 Wallet Connect 的方式连接 Web3 的钱包,极大的限制了 Dapp 的使用场景。而 Gnosis Safe 和 Dapper 这样的智能合约钱包则不存在这也的问题。

另一个传统硬件钱包不具备的优势则是,智能硬件钱包可以通过多种方式支付矿工费,这也和智能合约钱包的产品设计有关系。智能合约钱包是托管在以太坊上的代码,执行的时候d需要由中继钱包发起交易并支付矿工费。

Gnosis Safe 采取的方式是由中继钱包先行垫付,在执行合约的同时,向中继钱包支付一笔小额的手续费(可用 OWL、DAI、WETH、KNC 等代币支付)。Argent 则选择不向用户收取这部分手续费。

从某种意义上来说,Gnosis Safe、Argent 和 Dapper 这类的智能合约钱包更可能是以太坊的下一代的钱包。

[1] 除了 Gnosis Safe,目前比较出名的智能合约钱包还有 Dapper 和 Argent;

本文作者:大橘小橘的杰瑞