本周,Bitcoin Cash(BCH)开发者Mark Lundeberg公布了两项计划在2019年5月BCH升级时添加的新功能。Lundeberg在Github公布的具体改进内容包括一项已经讨论多年的技术——Schnorr签名,用于取代ECDSA签名。这一改进可以帮助BCH实现进一步创新,同时提高扩容能力与隐私性。
BCH即将迎来Schnorr签名
BCH网络每隔6个月都会对其协议进行升级,而在今年5月的这次升级中包含的其中一项重要改进就是Schnorr签名的部署,以强化网络性能。
Schnorr签名的发明者是计算机科学家Claus Schnorr,由于其简易性得到了很多人的支持。Schnorr的其中一大优势就是多重签名聚合(multisignature aggregation),这对数据扩容以及隐私都有好处。
传统的比特币交易包含了大量的数据,例如多个输入,而Schnorr就能通过创建单一聚合签名的方式简化这一流程。举个例子,如果大量的比特币签名被转化成一个聚合签名,Schnorr可以减少至少25%的区块链存储和带宽。
此外,Schnorr签名与不同协议的结合有助于提高隐私性。Lundeberg指出,其中一项隐私优势就是“Hiding as P2PKH”,允许支付给公钥哈希(P2PKH)标准公钥脚本使用聚合机制。
Lundeberg说:Schnorr签名能够实现非常简单的多方聚合机制,多个参与方可以基于一个聚合公钥共同产出一个聚合签名,和P2PKH地址一样,使用OP_CHECKSIG进行检查。
Lundeberg进一步指出,Schnorr机制甚至可以避免第二方的篡改行为:即使在聚合的情况下,Schnorr签名也无法被篡改,除非所有签名者重新创建签名。
关于BIP62和Schnorr,有什么值得期待的地方?
Lundeberg还提到了Schnorr-Spilman支付通道的优势。在推出OP_CLTV之前,开发者曾经讨论过Spilman支付通道的概念,但当时这项技术在BCH网络上并不安全。不过,升级到Schnorr之后,开发者不仅仅可以使用Spilman通道,还能选择不用OP_CHECKMULTISIG,改用常规的P2PKH地址。聚合签名和BIP62延展性限制可以支持此类通道。
我们即将可以仅通过P2PKH来使用支付通道——和普通交易没有区别。
Lundeberg强调了隐藏的原子互换(atomic swaps)以及高频微互换(microswapping)的可能性。之前Lundeberg曾经提到过在支付通道中隐藏去信任化的跨链互换,但这一过程同样可以通过Schnorr-Spilman支付通道来实现。
除了Schnorr签名的优势之外,Lundeberg详细说明了BIP62带来的大量创新,其中一个例子是能够创建不可篡改的智能合约。
最后,Lundeberg将BIP62+Schnorr与隔离见证(Segwit)进行了对比,列出了具体的优缺点。为了快速从ECDSA切换到Schnorr,BIP62只需要对钱包代码进行微调。不过,要防止合约被篡改,开发者必须做好尽调,这一过程并不会太困难。
两者之间的一大区别是隔离见证存在66种地址,而BIP62+Schnorr只会修改一种传统的地址类型(P2PKH)。
出于隐私考虑,最好应该使用多种地址,以避免影响匿名性设置。
最后,Lundeberg强调,在某些情况下,隔离见证设置备份交易会更加简单。