摘要
比特币隐私保护正不断改善。
开发者已提议 Dandelion 、 Schnorr 和 Taproot 等底层升级方案来改善比特币区块链的隐私保护。
侧链 像是在一座围墙内的花园内进行交易,对隐私保护而言提供了一种升级方案 。
闪电网络 对隐私保护有重大改善,第二层 L2 隐私保护通过 蚁群路由 、 原子多路径支付和 zkChannel 等协议取得了不俗进步。
今天有可能通过比特币进行隐私交易 ,但难度颇高。利用 CoinJoin 和相关技术,并实践高标准保护隐私措施的用户,可以保护其财务隐私。此外,比特币生态也已经出现了各种各样的工具来促成隐私交易和交换。通过改进工具、L2 网络和比特币网络的核心协议,这一过程会变得越来越容易。
改善比特币隐私保护的主要途径之一,是通过升级该区块链网络的 底层 。比特币网络已经趋于保守,通常回避与传统版本不兼容的、修改共识的硬分叉。但是,向后兼容软分叉进行的升级,仍然允许传统节点验证区块链的有效性,这种做法通常是被接受的。
这意味着通过软分叉升级网络是一项艰巨的任务。升级被拒绝的原因有很多,例如与比特币的 核心愿景 、与软件的现有组件存在技术冲突等等。从构思到实施,即使是成功的分叉也可能需要数年时间才能完成。
尽管比特币区块链网络升级可能难度较高,依然有几个升级隐私保护的途径值得探讨。一个颇具潜力的升级方案是 Dandelion++ (意为蒲公英) ,它修改了比特币交易的 路由方式 。
当前,未经确认的比特币交易通过传播扩散来广而告之,在这种传播中,节点以随机的、指数级延迟的速率向其对等节点连续广播其中的交易。由于比特币用户的 IP 地址 暴露于网络中,因此攻击者可以推断出发送交易的 IP 地址,攻击者最终可以将 IP 地址与比特币地址相关联,实际上破解用户的匿名。
DandeLion++ 提议使用另一种传播方法代替扩散传播,在新的传播方法中,交易首先在 主干阶段 (stem phase) 依次传递给各个对等节点,然后在 绒毛阶段 (fluff phase) 进行扩散传播。由于每个节点在主干阶段仅与一个对等节点共享交易,并且主干的长度是随机确定,因此交易对方很难确定交易的来源。
DandeLion 的「蒲公英」传播阶段,来源:https://github.com/bitcoin/bips/blob/master/bip-0156.mediawiki
比特币改进提案 BIP 156 已正式将 Dandelion++ 纳入比特币区块链。该协议可以被 软分叉 到网络中,并且,启用了 Dandelion 的节点将与运行现有比特币版本的节点完全兼容。
比特币网络两个前景最被看好的两个升级方案是 Schnorr 和 Taproot 。
Schnorr 签名方案建议将比特币区块链的签名机制从椭圆曲线数字签名算法 ECDSA 修改为 Schnorr 签名算法 。由这一算法产生的签名 (Schnorr 签名) 是线性可操作的。
这种线性关系使 Schnorr 签名的用户可以将多个独立的签名聚合到一个有效的签名中。用户因此可以在聚合的公共密钥上创建 阈值签名 ,这需要批准足够的签名者子集才能支出。此过程允许用户将多重签名移至链下,以此来帮助网络扩容。与目前的多重签名不同,阈值签名也是隐写的,这意味着与它们交互的交易看起来像链上的正常交易。
Schnorr 签名聚合在创建 无脚本脚本 (scriptless scripts) 方面也很有用,这种脚本让用户可以隐秘地创建某些智能合约并与之交互。并非所有智能合约都可以用无脚本脚本代替,但是它们可以用于表示跨链原子交换和闪电网络中使用的链上脚本。
Taproot 利用 Schnorr 签名聚合功能,允许用户创建不向合作案例中参与者公开的智能合约。如果相关各方对某一结果达成共识,则创建这些合同并从中支出的交易也将是隐秘的。与无脚本脚本不同,Taproot 可以应用于可以用比特币脚本表示的 任何计算 。
Taproot 将智能合约转换为独立语句的 抽象语言树 。然后将该树改编为默克 Merkle 树,以便知道 Merkle 根 的各方可以验证合同中是否包含某一具体语句。
如果各方同意某一结果,Taproot 将完全忽略由此得出的默克抽象语言树 MAST。这是通过在经过 MAST 根散列调整的各方之间创建一个 Schnorr 阈值公用密钥 ,并将资金发送到从所得密钥派生的地址来实现的。
在合作的情况下,用户可以通过这一合约共同签名背书交易支出。在非合作情况下,用户可以通过广播显示 MAST 根和该树相关分支的交易,来从合同中支出。
对于足够复杂的脚本,即使在非合作的情况下,Taproot 向观察者显示的信息也要少得多,在链上占用的空间也要少得多。
BIP 340 中正式建议在比特币中采用 Schnorr 签名。BIP 341 和 342 中正式建议将 Taproot 纳入比特币中。BIP 的作者们希望将两种升级 捆绑在一起 ,通过一次软分叉加以实现。
将这些 BIP 指定的升级软分叉到比特币区块链中,将对网络扩容产生极大的好处。Schnorr 签名最有用的功能之一是 交叉输入聚合 ,但未包含在 BIP 340-342 中。这种构造将允许用户将交易中的所有签名聚合为一个签名。
实施交叉输入聚合将极大地降低区块链的膨胀,因为它减少了链上保留的签名数量,并签名占用了 大量的区块空间 。不幸的是,交叉输入聚合与当前的操作码升级机制冲突。在某个时间点应该依然可以实现此功能,并与名为 G'root 的 Taproot 扩展捆绑在一起,但是这需要一些时间,且目前尚无具体计划。
实施交叉输入聚合的障碍凸显了 网络升级的难度 。另一项提议中的底层改进 (机密交易) 也遇到了实施上的重大障碍,尽管它为隐私保护和可替代性提供了较大的益处。
机密交易 Confidential transactions (CT) 是对比特币的升级提议,它将大大改善网络上的隐私保护和 可替代性 。CT 将允许观察者在不知道实际所涉资金量的情况下,验证交易输入总和等于 交易输出的总和 。这将使得网络参与者可以验证交易的有效性,同时保证交易规模对参与者不公开。
CT 在比特币区块链的实施将让区块链分析工具不再能以任何有效方式追踪资金流向。这可能会给想要达到法律合规性的企业带来困难,但总体来说,它将提高 隐私性 。
CT 不仅仅是存在于理论中的构造,还被包括 Monero 和 Grin 在内的多种替代币所采用。在 Monero 中,CT 与 环签名 (Ring Signature) 结合使用,ringsignatures 模糊了 交易签名者 ,向观察者隐藏交易规模和发送者。由此产生的交易比比特币交易要大得多,但理论上的隐私保障要好很多。除了占用更大区块空间之外,CT 还有一个更实质性的问题,使它们与比特币的基本构想相互抵触。CT 使对区块链的审查变得困难,并且 CT 实施中的错误可能导致 通货膨胀漏洞 ,让个人可以偷偷地让货币供应量膨胀。
这些漏洞将很难检测,并且会损害区块链的 诚信度 。比特币社区中的许多人对这种可能性深感担忧,包括人权基金会首席战略官 CSO Alex Gladstein,他认为「尽可能优先考虑隐私是非常重要的。当然 可审核性 在这个问题上是绊脚石。我们不能在比特币区块链拥有一个完整节点无法审计其货币供应量的系统,毕竟这一审计对于比特币系统的价值至关重要,」
「否则这不是货币创新,而只是技术创新。归根结底不会真正有用,」Gladstein 补充说。
因此,CT 在不久的将来似乎 不太可能 被纳入比特币区块链中。
出于类似的意识形态或实际原因,其他针对比特币底层的多个提议升级也已停止。但是其中一些更改可以 在侧链上实现 ,侧链为解决比特币底层更新的障碍提供了一种大有可为的方式。
侧链 是与基础链 (例如比特币区块链) 平行运转并从中获得安全性的区块链。
Liquid 是当今最引人注目的侧链之一,它使用 联邦安全模式 。在该模式中,用户通过将主链资金存入由联邦成员控制的合同中,从而在侧链上获得资金。一旦用户在侧链上控制了资金,他们就可以自由地在该链上进行交易,而无需在基础链上进行交易确认。用户可以在侧链上焚毁其资产,以将资金返还给主链。
Liquid 联邦区块签名示意,来源:https://arxiv.org/pdf/1612.05491.pdf
联合安全模式要求用户信任联邦成员,因为他们持有保护用户资金的钱包钥匙。另一个模式 联合挖矿 则是依赖于允许主链的矿工也可以在侧链上订购交易,具体通过在主链联合挖矿的每个区块包含引用来实现。
RSK 侧链对联合挖矿的采用最引人注目。与联邦安全模式相比,联合挖矿模式对信任关系的依赖性较小,但被批评是偷偷增加 区块大小 的方式。与联邦安全模式相比,使用这种模式维护主链和侧链资产之间的挂钩也更具挑战性,因为联合挖矿区块链的原生代币不代表以主链资产计价的负债。
从隐私保护的角度来看,侧链对执行任意共识规则和比特币主链不支持的交易验证要求能力最感兴趣。例如,Liquid 支持 机密交易 ,尽管比特币不支持。侧链对于在将新技术部署到比特币区块链之前进行测试,或对运行可能与比特币社会契约不兼容的、以信任为前提的 隐私协议 (例如 zk-SNARK) 可能有用。
侧链是 L2 网络的一种类型,后者可以让用户进行链下交易,同时受益于比特币的一些 安全保障。闪电网络是 L2 网络的另一种技术。虽然闪电网络不能用于强制执行任意交易验证规则,但它为比特币用户带来了一些隐私保护方面的利益,而无需更新基础链,而且其 结算保障 优于侧链。
闪电 是建立在比特币之上的一个网络,旨在执行费用低廉的 即时交易 。
闪电网络建立在 双向支付 渠道概念之上,允许彼此共享一个渠道的两个参与者之间自由交易,而无需在链上结算,双向相互交易的净额不超过一定金额即可。这一金额由渠道合约中锁定的 链上资金的数量 决定。闪电支付可以通过一系列渠道进行路由,使两方可以相互付款,而无需彼此之间的直接渠道。
就目前而言,闪电网络可以显著改善用户的隐私保护。闪电网络允许用户 批量结算交易 ,不再需要向观察者透露单笔交易的详细信息。此外,目前已经提出了针对闪电网络的几种升级方案,目的是进一步改善闪电网络提供的隐私利益,而这些都不需要更改比特币底层的行为。
闪电网络经中介通道路由付款,使观察员很难确定两方是否已进行交易。闪电网络最令人激动的潜在升级之一是 蚁群路由 的实现,这将改变闪电网络计算付款路由的方式。闪电网络当前使用最短路径路由,这要求节点跟踪全球路由表。这种方法的扩容性很差,并且使对手可以学习其网络拓扑,因此可以战略性地放置节点以实现监视流量的最佳效果。蚁群路由建议用完全分布式、可高效扩容、并且对图学习攻击具有鲁棒性的路由机制,取代当前的路由机制。
另一项功能则是 原子多路径支付 AMP,使用户可以拆分支付,并通过几个通道完成支付。这些付款将以原子方式执行,无论是成功还是失败,都不会部分收到付款。AMP 使支付路径上的中介机构更难确定支付的总金额,这将改善该网络中的隐私。此外,AMP 支持在非流动性通道上进行大笔支付,将增加可用流动性。
蚁群路由和 AMP 的主要目的分别是 扩大规模和流动性 ,并随之为隐私保护带来次级好处。另一方面,Bolt Labs 目前正在开发的 zkChannels 是一项在设计时明确考虑隐私的功能。这些通道使用高级加密技术,允许用户在收款人不知道原始发件人身份的情况下发送付款,前提是付款已通过至少一个中介进行路由。这种类似于现金的功能可用于在 不需要透露个人身份 的情况下进行谨慎的付款。
支付协议 zkChannels 原理,来源:https://medium.com/boltlabs/zkchannels-for-bitcoin-f1bbf6e3570e
比特币上实施 Schnorr 签名也会让闪电网络的隐私保护受益。使用无脚本脚本,用户将能够通过隐秘支付来构建 闪电通道 。
比特币区块链被拖向多个不同的发展方向,有些人希望平台实现制度化,成为主要由托管人持有的 金融资产 。还有一些人希望看到它成长为快速且廉价的 交易媒介 。最后一组人则是希望比特币保持自我主权、完全可验证的 价值存储 。这些群体的互动方式在历史上已经决定了该行业的发展,在未来仍将如此。
乍一看,改善比特币网络的隐私保护似乎与每个群体的目标都不符。隐私保护使机构很难验证自己收到的资金是否干净。底层隐私付款要比透明付款所占的区块空间更大。此外,底的隐私可能让人们难以验证货币供应量是否出现了膨胀。
但在更深层次而言,隐私保护为上述每个目标都是 有益的补充 。
隐私付款使机构能够转移大量资金而不担心被抢跑掠夺。隐私保护使日常支付成为可能,而无需受到政府或私人机构的监视,而将付款转移到链下转移,可以让支付更快捷、费用更低。隐私保护使自托管资金变得更容易,而不必担心被盗。
精心实施的隐私保护,是比特币取得 成功的关键 。
撰文: Karim Helmy (Coin Metrics 数据分析师)和 Matthew Batsinelas (就职于 Altonomy)
编译:Perry Wang