【智能钱包交易】智能钱包,不止元交易

Kiran Fernando近来在一篇文章中发表了对元交易(Meta Transaction)及智能合约钱包(Contract Wallet or Smart Wallet)的看法。在Kiran看来,元交易可以改变以太坊上的付费模式,是大规模应用的重要组件,然而智能钱包的解决方式却会带来巨大的隐私问题。元交易应当逐渐形成标准,这需要解决三个问题:(1)如何负担中继者支付的费用;(2)元交易应在dapp或token合约,而非钱包合约实现;(3)应支持交易的批量中继。

智能钱包是否如Kiran所说的“言过其实”呢?

智能钱包,不止元交易

智能钱包,不止元交易。智能钱包并不是仅仅为了解决交易手续费的问题而设计的,而是一套包含多种特性的开放体系。以太坊的门槛不只有手续费,对普通人来说,私钥管理可能是更大的问题。

智能钱包可以实现账户恢复(Argent, MYKEY)、交易金额限制(Argent, Monolith)、批量交易合并(MYKEY 多target)等多种特性,切实帮助用户解决问题。

隐私很重要,智能钱包做得不差

隐私很重要,没有人会否认一点。但文章对智能钱包的担忧似乎是多余的。

智能钱包账户的匿名性仍然并不会因为从EOA变成合约而消失。此外,文章混淆了智能钱包和ENS,把ENS对隐私的潜在影响归因到智能钱包上,这并不客观。

智能钱包也仍然可以使用Aztec协议等保护交易隐私的工具,用户也仍然可以使用分层确定性方式来管理多个合约账户。除了创建合约需要成本外,智能钱包并没有带来什么坏处。而这点损失与它带来的便利性相比,是可以忽略的。

谁的用户?谁来付费?

我们都同意元交易的重要性,但一个通用协议是否能解决问题?为什么元交易的实现模块要在dapp或token合约,而非钱包合约?让我们重新梳理下付费逻辑。

一笔链上交易的费用总要有人最终埋单,在没有meta-transaction时,这笔费用由用户支付。Meta-transaction允许他人为用户支付gas,但支付者和最终埋单者很可能不同。

如果用户是最终埋单者,那么该如何向支付者付费?现实生活给了很多经验,即如果这项服务是长期的,那么预付费制度或账单制度都显然比按次付费摩擦更小,尽管它并没有那么“去中心化”。此时,智能钱包更加合适,因为它是以用户为 中心的。否则用户需要管理数个dapp的预付费账户,或依赖一个理想化的dapp费用联盟。

如果用户无需最终埋单,那么dapp必然可以有稳定的盈利模式,可以补贴gas支出。例如去中心化交易所、博彩等应用较为适合。但这和智能钱包支持元交易也并不矛盾。

我不认为元交易在现阶段需要标准化的实现。从智能钱包角度,由于钱包运营方一般也是手续费的支付方,因此无需标准化。而对于dapp方来说,这提升了合约的复杂性,加大了风险。

智能,安全不安全?

智能钱包当然不是完美的,但文章却忽略了最重要的一点,即安全性。就在几天前,Kiran所提到的智能钱包之一authereum被爆出重大安全漏洞,攻击者可以构造方法,取得中继合约的权限,这将造成系统的重大风险。好在尚未造成影响。

EOA账户只依赖密码学的安全性,而智能钱包则对智能合约的安全性有额外的要求。但为了更好地使用区块链,我仍然认为智能钱包是解决用户门槛的重要方法, 对此再多的安全投入也不过分。

总结

元交易帮助没有以太币的用户更好地使用以太坊上的应用。智能钱包不仅实现了元交易,还可以按需实现账户恢复、转账限额等操作。智能钱包会导致隐私保护成本的提高,但不会显著降低账户的匿名性。

点赞