合约钱包并不能替代硬件钱包。
原文作者:Maxpan
原文来源:Mirror
合约钱包会不会取代硬钱包?
如果合约钱包可以“像硬钱包一样通过硬件签名”,是不是可以认为合约钱包就让手机变成甚至替代了硬钱包。我不是很懂硬件钱包和手机底层设计(😲),但我有逻辑地总结了一些 buidler 的观点(🧐)。
在这篇文章中,你会知道:
合约钱包变成硬钱包的实现方法有两种。
总结下 StarkNet 的开发倡导者(StarkNet老开发) @barretodavid 提到的在 StarkNet 上实现手机硬钱包的思路。
StarkNet 上原子化 NFT 协议 Briq 的开发者 @sylvechv 也认为,在实现了原生账户抽象的 StarkNet (编程语言为Cairo)上,可以授权一个 mobile_key 签署一定数额的交易,和/或只为某些合同,和/或只为某些功能(例如没有transfer()而只有play())。用户甚至可以在一定时间后撤销它。
在 StarkNet 中的合约钱包,授权手机签名的流程类似于
来自著名硬件钱包@KeystoneWallet 的 @BitcoinLixin 认为硬件钱包的核心逻辑是让私钥和用户交互不触网,用户在钱包离线的状态(物理环境)下对交易进行确认。
而基于账户抽象的智能合约钱包,尽管可以调用手机上的安全机制如 Secure Enlave,实现看上去和硬件钱包一样的硬件签名,但是手机仍然是一个触网的环境,会有钓鱼等各种网络隐患。
因此从安全角度看,合约钱包和硬件钱包是两种完全不同的解决方案,硬件钱包的安全系数远远大于合约钱包。
(我没收钱🤪)
有个小误区,硬件钱包没有使用比软件钱包更安全的签名算法。普通软件钱包和硬件钱包的签名算法没有不同。正如前面所说,硬件钱包比软件钱包更安全是因为它离线——交互不触网,因而可以避免一切网络攻击。
AA/智能合约钱包厉害的地方在于可以脱离共识层对签名算法的束缚,因为签名验证可以在智能合完成而不是由矿工根据共识来完成。这样的结果是,iPhone 的 Secure Enclave 支持某个签名算法,但是这个签名算法和某条链的签名算法不一致,没关系,可以在合约钱包里构造验证支持 iPhone 的签名算法的逻辑。
总结一下,合约钱包可以像硬件钱包一样用硬件签名,但是合约钱包是一个触网环境,硬件钱包是离线环境,后者是一种更加安全的钱包方案,因此合约钱包并不能替代硬件钱包。