作者:Vlad Costea
来源:https://blog.wasabiwallet.io/the-privacy-benefits-of-taproot/
比特币的 Taproot 软分叉是提高比特币链上隐私性的重要举措。Taproot 升级激活后,区块链分析公司将更难读懂比特币的公共账本上正在发生什么(Taproot 已经于 2021 年 11 月 14 日在区块高度 709632 激活)。Taproot 让大多数链上合约和有条件转账看起来与普通转账无异,将给那些想把比特币交易都去匿名化的人带来极大的阻碍。它也间接有利于提高可扩展性(多签机制不再占用更多区块空间)和降低交易费(交易输出的体积变小,用户的交易成本降低)。
不过,本文主要关注 Taproot 在隐私性方面的优点,旨在解释 Taproot 是如何提高每位用户的合理推诿能力、对区块链分析企业构成潜在威胁的。为便于理解,我将分几个应用场景来介绍 Taproot 在提高隐私性上的作用。
Taproot 如何提高闪电网络的隐私性
作为比特币的交易层,闪电网络具有即时性、私密性和低成本等特性。不同于区块链,闪电网络不仅在可扩展性和速度上有很强的优势,而且无需整个网络存储和验证每个操作。更优雅的设计也能够带来更高的隐私性:只有参与转账的相关方和路由节点才能获取正在进行的交易的信息。局外人两眼一摸黑,根本无法得知交易的参与方和被转移的比特币数量。为了更好地理解闪电网络的运作方式,请阅读我的文章《10 岁小孩都能读懂的闪电网络科普》。
但是,Taproot 是底层升级,真的能影响闪电网络吗?
如果没有这个 Schnorr 签名友好型升级,通道的开启和关闭交易会在比特币区块链上暴露无遗:带有哈希时间锁合约(HTLC)的 2/2 多签。Taproot 激活后,协同开启或关闭闪电网络通道看起来将与常规交易没有差别。
过去,区块链分析者能够辨别出关闭闪电网络通道的交易。但是,Taproot 激活后,他们只能看到比特币发生了转移。他们无法知道比特币是如何转移的,只能看出是以一种无法辨别的方式花费掉的。
然而,这种程度的隐私性仍算不上完美。正如 Wasabi 钱包的创建者 Adam Ficsor 指出的那样,非私密型闪电网络通道会广播一个与通道开启输出对应的通道点。因此,这一点可以在闪电网络上看到的信息暴露了与通道开启有关的输出信息。Taproot 可以保证闪电网络通道开启的私密性,但前提是通道本身是私密的。同样地,即使是在闪电网络通道开启前后使用 CoinJoin 交易可以混淆过去和未来,闪电网络的 gossip 消息仍会精准暴露出由节点运营商控制的 UTXO。目前有研究试图利用环签名证明来阻止 DoS 攻击,有望缓解这一问题。
Taproot 如何提高侧链的隐私性
与闪电网络通道的开启交易一样,侧链的挂钩交易也依赖于多签合约来完成。RSK(移植以太坊智能合约的比特币侧链 Rootstock)采用了双向挂钩(2WP)来确保比特币转账的安全性。但是,在 Taproot 激活后,该交易变得无法与其它交易区分,占用的区块空间也更少了。
Blockstream 开发的侧链 Liquid 以及 Drivechain 同样如此。常规交易、Liquid 的挂钩交易、闪电网络通道和用户多签从外部看起来都一样。
Taproot 如何提高多签的隐私性
近年来,多签设置深受比特币用户的欢迎。随着 Electrum、Sparrow 和 Specter 等钱包带来了更好的用户体验,许多社区成员已经让他们的数字资产变得更难被窃取、黑入或花费。背后的思路是,用户无需信任单个钱包或实体来决定其私钥的随机性和安全性。用户使用有着不同处理器的不同设备来生成私钥,然后将私钥备份分散到不同的地方。
根据他们的多签设置(大多数用户选择 2/3,如果你喜欢复杂一点,最多可以选择 15/15),用户可以牺牲便利性来提高安全性。如果你的设置难到你自己都很难找回资产,你也可能会失去它们。
Taproot 为多签设置带来了两大好处:让用户更容易采用多签交易(签署一笔 19/20 多签交易的成本将与一笔普通交易相同)并额外增强了隐私性。所有非必要信息不会再出现在公链上。由于公链上只显示主要输入及其对应的输出,所有签名者的隐私性都得到了保障。在 Taproot 激活之前,我们能够通过区块链分析来确定多签中的哪些私钥签署了交易。Taproot 激活之后,公开渠道将无法获取这些信息。
Taproot 如何提高比特币智能合约的隐私性
自诞生以来,比特币就启用了智能合约功能。基本上,用户已经能够广播有条件交易,告诉网络何时能够花费某笔资产。多签设置、闪电网络通道开启和侧链挂钩都是不同类型的有条件交易。
以一个基础合约为例,Alice 将她的比特币锁定到这个合约内,达到某个区块高度(这时,她的孩子 Bob 已经长大成人)后才能解锁,或是等到 Bob 有能力签署多签交易时就可以解锁。在当前框架下,一旦使用,这两个条件都会向整个网络公开,并写入不可更改的账本中。但是,Taproot 激活后,只有被执行的那个条件才会被公开。这是一种效率升级,不仅节省了宝贵的区块空间,也大幅提高了隐私性,让用户可以充分发挥创造性来保护自己的资产。
Taproot 让隐形 Coinswap 变得更简单
近几个月来,CommerceBlock 推出的 Mercury Wallet 越来越受欢迎。这是因为该钱包具备一个特殊功能,即,可以让用户变更闪电网络上的输出所有权,通过优雅且可扩展的方式买卖他们的比特币交易历史。如果比特币用户开启闪电网络通道并相互交易 UTXO,他们就可以混淆很多与自己的 UTXO 相关的活动,并返回给比特币区块链一组不同的 UTXO 组合。Mercury Wallet 利用 Ruben Somsen 提出的 “statechain” 概念将资金预先锁定起来,并混淆等价的输出。
从某种意义上来说,Coinswap 是利用闪电网络的可扩展性及低交易费的 CoinJoin 交易。得益于 Taproot,Coinswap 也变得与其它交易一样无法区分。
然而,如果你使用 Coinswap,你总要承担有可能收到有问题的 UTXO(可能与犯罪活动有关)的风险。Coinswap 不像 CoinJoin 那样将多个交易历史组合起来,而是为用户提供了一个匿名的交易历史互换市场。正如 Wasabi wallet 创建者 Adam Ficsor 在近期的采访中指出,这两种隐私方案可以成为互补的工具:“二者的组合似乎更有趣:先经过 CoinJoin 混合后再使用 Coinswap,这可以让低匿名集 CoinJoin 拥有可与 Coinswap 媲美的隐私性。”
Taproot 激活后比特币的隐私性
借助于 Taproot,比特币已经完成了期待已久的升级,引入了更高效的 Schnorr 签名,并且在与金融监管的斗争方面又多了几分胜算。但是,这并不意味着区块链分析会随着这次升级而彻底被淘汰。首先,用户需要时间来将他们的节点更新到最新的 Taproot 友好型客户端(因此,不是每个人都将受益于 Taproot)。其次,要有开发者做出充分利用 Taproot 潜力的钱包和应用。目前,自 Taproot 于区块高度 709632 激活以来,现状并没有出现太大的改变。但是,Taproot 的很多优点有望加速其采用。
另外,比特币协议甚至可以进一步优化来增强可扩展性和隐私性。其中一种潜在优化方案是 Jeremy Rubin 的 OP_CHECKTEMPLATEVERIFY(BIP 119,旧称是 OP_SECURETHEBAG)。该方案通过批量交易的方式减少输入的数量并在高需求和网络拥堵时降低交易费。一旦该方案成为比特币交易程序的天然组件,CoinJoin 和 Coinswap 将能够提供更强的合理推诿能力。
其它解决方案有 Drivechain(Paul Sztorc 成功创建了一条类似 Zcash 的链,旨在增加经过处理的比特币的同质性)、Mimble Wimble 扩展块(正在莱特币区块链上进行实验,如果证明可行或许会有用)以及核心开发者找到无需通过硬分叉的方式整合零知识证明或 Confidential Transaction(机密交易)。然而,包含 Schnorr 签名的 Taproot 升级是个很好的开始。它的激活方式让我们看到了比特币实现近乎绝对同质性的希望。
(完)