上周帮朋友清理钱包,翻他的授权列表,密密麻麻几十个还在有效期内的无限额度 approve,好几个合约名字他自己都想不起来。
对了一下他这几年被钓鱼的两次金额,全是从这些睡在授权列表里的合约走的。私钥没丢过,签名没泄漏过,钱一样没了。
这两天用 @BabylonLabs_io 的 TBV 时,一个细节让我停下来:整个流程里我没点过一次 approve。
不是产品做减法。TBV 从模型层面就没有 ERC-20 approve 这个东西。它用的是 Bitcoin 的 UTXO + 预签名交易——每一笔操作对应一笔具体的、金额已定的、路径已定的交易,签完就是签完,没有"授权某个合约在未来任意时刻动我的钱"这种概念。
Vitalik 在《The Three Transitions》里反复讲过一件事:钱包 UX 最深的伤口,是让用户签他们其实读不懂的授权。他说每一次签名都应当有明确的、有限的语义。
TBV 刚好落在这条线上。你签的是"锁 1 BTC 进这个 Vault",不是"允许某个合约以后随时花我的 BTC"。这两个签名在密码学上看起来一样,风险差着十个数量级。
我不是说 TBV 完美。手续费预估、区块等待、Finality Provider 挑选,这些都得学。但那种"我不知道自己签过多少空白支票"的焦虑,这里真没有了。
老 DeFi 用户可能才最能体会这个差别。习惯了每次交互先 approve、再 confirm、然后祈祷这合约永远别被黑,回到 TBV 会有点不习惯——不习惯一件事情居然可以这么干净地做完。
也许安全感的下一个版本,不是"我签了多少防护",而是"我根本不需要签那些"。 #baby $BABY
对了一下他这几年被钓鱼的两次金额,全是从这些睡在授权列表里的合约走的。私钥没丢过,签名没泄漏过,钱一样没了。
这两天用 @BabylonLabs_io 的 TBV 时,一个细节让我停下来:整个流程里我没点过一次 approve。
不是产品做减法。TBV 从模型层面就没有 ERC-20 approve 这个东西。它用的是 Bitcoin 的 UTXO + 预签名交易——每一笔操作对应一笔具体的、金额已定的、路径已定的交易,签完就是签完,没有"授权某个合约在未来任意时刻动我的钱"这种概念。
Vitalik 在《The Three Transitions》里反复讲过一件事:钱包 UX 最深的伤口,是让用户签他们其实读不懂的授权。他说每一次签名都应当有明确的、有限的语义。
TBV 刚好落在这条线上。你签的是"锁 1 BTC 进这个 Vault",不是"允许某个合约以后随时花我的 BTC"。这两个签名在密码学上看起来一样,风险差着十个数量级。
我不是说 TBV 完美。手续费预估、区块等待、Finality Provider 挑选,这些都得学。但那种"我不知道自己签过多少空白支票"的焦虑,这里真没有了。
老 DeFi 用户可能才最能体会这个差别。习惯了每次交互先 approve、再 confirm、然后祈祷这合约永远别被黑,回到 TBV 会有点不习惯——不习惯一件事情居然可以这么干净地做完。
也许安全感的下一个版本,不是"我签了多少防护",而是"我根本不需要签那些"。 #baby $BABY