比特币技术周报丨通过支付池协议提高BTC隐私性和链上可扩展性
写在前面:本周的比特币技术周报,涉及到一个新的CoinPool支付池提案,其通过使用taproot,可提高参与者的隐私和链上的可扩展性。此外,Wasabi协议的贡献者提出了一个新的WabiSabi协议,其可以实现任意金额的coinjoin交易。而在最后,我们还会关注上周当中发生的比特币软件基础设施的一些重大更新。
一、可提高隐私性和链上可扩展性的CoinPool支付池协议
Antoine Riard和Gleb Naumenko在比特币开发者邮件列表中发布了一种新支付池(payment pool)技术的帖子,该技术通过允许多位用户以无需信任的方式,共享对单个UTXO的控制,从而改善了支付隐私。与以前的支付池设计(如joinpool)相比,CoinPool设计的重点,在于允许参与者对池中成员之间的交易作出链外承诺。使用taproot,这允许合作的参与者使用与单密钥UTXO不可区分的UTXO,来操作闪电网络或保险库(vault)等协议,这提高了参与者的隐私和链上的可扩展性。
从这个意义上说,该协议充当了一种通用的通道工厂,它不仅适用于闪电网络,而且适用于创建具有唯一指纹的链上交易的诸多协议。
作者概述了CoinPool如何使用比特币+taproot的现有功能SIGHASH_NOINPUT
,以及通过比特币脚本使用仅删除累加器的能力(例如默克尔树;也许是提议的BIP116 OP_MERKLEBRANCHVERIFY
)。他们似乎并没有提倡一种特定的设计,而是在讨论CoinPool或类似的东西如何提供一种通用的机制,默认情况下,钱包会使用这些机制来消除当前和提议的多用户协议的链上足迹。
原文链接:https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2020-June/017964.html
二、 新的WabiSabi协议,可进行任意输出值的coinjoin交易
在coinjoin协议中,一组用户协作创建一个交易模板,将他们现有的一些UTXO(输入)花在一组新的UTXO(输出)上。创建此交易模版的方式,对coinjoin提供的隐私是有影响的,而不同的实现使用了不同的方法:
- Joinmarket 有两类用户:向coinjoin付费的用户(market taker)和允许使用其UTXO的用户(market maker)。为了创建一笔coinjoin,taker联系几个maker,收集他们的输入和输出信息,并创建交易模版。这使得taker知道哪些输入为coinjoin的所有参与者提供了哪些输出,但也确保每个maker只知道自己的哪些输入,为自己的哪些输出提供了资金。taker能够直接获取coinjoin的隐私好处,而maker直接获得提供流动性的收入。如果taker保留了自己的个人隐私,那么maker也间接地获得了针对第三方区块链监控方的更多隐私。想要保证隐私的Maker,总是可以在几轮混合的过程中扮演taker的角色。该模型为taker提供了很大的灵活性,使其能够对交易模版进行自己的输入和输出。例如,taker可以选择他们想要创建的coinjoin数量,或者将他们的钱作为coinjoin的一部分花给第三方。
- Wasabi使用一个集中协调者来组织使用该软件制作的每笔coinjoin 。为了防止该协调者了解哪个输入为哪些输出提供资金,用户匿名地提交他们想要创建的输出,并接收到chaumian盲签名。之后,每个用户都以另一个匿名身份进行连接,并提交每个输出及其未隐藏的签名。签名可证明是来自协调者的,但未隐藏的签名,无法与接收到盲签名的特定用户建立连接。这允许构建交易模版,而无需协调器了解哪些输入有资助哪些输出。由于协调者在创建其盲签名时无法查看输出,因此其不允许用户指定任意金额,否则用户可能会尝试收取相比参与coinjoin更多的钱。这并不是安全隐患,其他参与者将拒绝签署任何格式错误的交易,但这需要重新启动协议。Wasabi要求所有输出要么属于一个小的允许大小集(例如0.1 BTC、0.2 BTC、0.4 BTC等),要么是一个非屏蔽的找零输出。这限制了用户通过Wasabi使用指定金额的能力,或者说限制了进行任意金额付款的能力。
协调者使用此指定值来验证客户端要创建的输出总和,是否等于客户端提供的输入的总和(减去费用)。
然后,协调者可以为每个输出提供一个匿名凭证,以允许客户端稍后匿名地将输出提交给协调者,以包含在交易模版中。
实现该协议的软件,将能够创建协调一致的coinjoin,使客户端可以选择其输出量,从而促进非等值coinjoin和在coinjoin内进行的支付。
据悉,这一新提出的协议,与当前的Wasabi协议有很多不同之处(例如用密钥验证匿名凭据,替换了盲签名),因此,其作者正寻求有关如何最有效地使用该协议的评论、批评及建议。
三、比特币软件基础设施更新
- Caravan增加了HD钱包支持、币控制(coin control)及硬件钱包测试套件:除了单地址多签协调外,Caravan现在还支持HD钱包多签协调和币控制功能。Caravan的创建方Unchained Capital,还宣布了一个测试套件,用于测试Web浏览器中的硬件钱包交互以及Trezor 多签地址确认。
- Bitpay的Copay及Bitcore项目,现在支持了原生隔离见证(native segwit):Bitpay的Copay钱包和后端Bitcore服务,现在都支持接受和花费原生隔离见证输出。
- 桌面版的Blockstream Green钱包:Blockstream已发布了macOS、Windows和Linux系统的桌面版Green钱包。桌面版钱包支持2-of-3和2-of-2多重签名、Tor以及测试网。
- Tankred Hase共享了一个新库photon-lib,该库支持HD钱包和轻客户端功能,但其仍在开发当中,目前尚未准备好投入生产。
- BIP85描述了一种超级密钥链(Keychain),其子密钥可用于创建传统的HD keychain种子。有关此提议的详细信息,请参见第93期周报。