微信截图_20190522093256.png
2019年5月15日,BCH在区块高度582679完成网络升级。此次网络升级属于提高性能的一次升级,升级后的BCH增加两个新的协议功能:Segwit复原和备受期待的Schnorr签名。
为什么会引进Schnorr签名?
BCH和比特币之前一直使用的都是椭圆曲线数字签名算法(ECDSA),该曲线定义了用于计算的数学组,它规定了密钥格式和密码术操作的一组值。ECDSA的优点是由于椭圆曲线加密的效率,可以用更小的密钥大小实现与RSA相同的安全性。这使得ECDSA成为比特币的明智选择,因为较小的密钥总体上占用的空间更小,导致数据更少,操作更快。但是,ECDSA-随机数重用会导致私钥泄露,而且ECDSA还有延展性问题。
Schnorr签名可以适用于任何满足离散对数问题的数学组,具有安全性证明。而且Schnorr签名没有延展性问题;支持对不同消息的签名的批量验证;签名的线性特性Schnorr签名原生支持聚合签名。
Schnorr签名比ECDSA签名有更多优点:
1、数据更小。大多数ECDSA签名是71或72字节。所有Schnorr签名都是64字节。
2、验证效率高。相比于ECDSA签名,Schnorr签名在验证交易时花费的时间更短,相同的时间内所验证的交易数量也更多。
微信截图_20190522093309.png
3、聚合签名。通过Schnorr签名,不仅可以将一个多sig输入的签名压缩为一个签名,还可以将多个输入的签名联合为一个签名。当大量签名产生一个聚合签名时,Schnorr方案可以将区块链存储和带宽减少至少25%。
4、增强隐私性。原本一些用户就会故意使用多个签名来发送交易来提高隐私,这通常称为MultiSig。而Schnorr签名会使你的签名看起来和任何其他签名一样,从而提高交易的隐私性。
5、为更为复杂的智能合约架构打开了大门。因为现在不管多重签名交易类型是 2/3、3/15,或者 100/100,所有类型需要的签名数据量相同,与单签名交易类型所需量一致。
6、Schnorr签名可以将支付通道隐藏为普通支付的原子级互换。如果需要的话,还可以实现闪电网络形式的支付通道网络以及涉及多方的未经确认的交易的安全链(layer 2)。
7、除了可扩展性和隐私性,Schnorr还为使用该协议的钱包平台提供了一个特性:重放保护。
微信截图_20190522093320.png
BCH首次Schnorr Multisig交易
在比特币现金升级完成之后,BCH开发者们就迫不及待的进行了Schnorr Multisig交易测试。
2019年5月18日深夜,独立开发者Mark B. Lundeberg,BCH全节点BCHD的开发者Chris Pacia以及一个名为checksum0的独立矿工合作成功创造了第一个使用Schnorr多重签名(multisig)在BCH网络上进行的交易。这笔交易是向倡导自由交易的丝绸之路的创始人Ross Ulbricht的捐赠。
微信截图_20190522093329.png
这笔交易携带的OP_RETURN信息解码之后,我们可以看到内容是:“BCH的宗旨是给人们自由,让他们做出自己的选择,追求自己的幸福,不管他们个人觉得合适与否。”事实上,multisig就像它所暗示的那样:转移资金需要多个签名(私钥)。对于加密货币交易来说,这是一种特别重要的方式,具有另一层安全性。
举个简单的例子,使用multisig签名的一个夫妻储蓄账户,在转移资金的时候,除非两者都同意,否则不能从他们的账户中转移资金。这一功能不仅满足了一些用户对于隐私的需求,也满足了多个用户控制一笔交易的需求。
完成交易后,三人发布了他们的私钥作为证据:
3c33570f986612912464cc61259ceeeba18c2c494e9de505a78c4222277d1b56
a145c109b44521329421227a7d29b4bcbb4e75a37743435d2978c02cbb45842f
8426999585720f236608b8a7112759f93269acf1124b0f82edbfa862cc8a6d0d
他们还在推特上宣布了这件事情。@checksum0表示 ,“@ MarkLundeberg @ChrisPacia和我在历史上创造了第一个Schnorr多重签名。该交易是对@Free_Ross的捐赠。证据将很快公布。“
随后,Lundeberg和checksum0分别在GitHub Gist上发布了历史交易的成绩单。
微信截图_20190522093344.png
虽然这笔交易是首例Schnorr Multisig交易,不过Lundeberg也警告,这是一个实验,此次交易是一个示范,并不一定安全。“小心,资金很容易丢失!”。
这笔交易之所以会选择向Ross Ulbricht的捐赠,不仅具有历史意义,而且具有象征意义。因为保护相对匿名和点对点交易的现金特性通常会让人想起Ross Ulbricht的困境。他被指控后来被定为丝绸之路背后的策划者,而该网站是证明比特币可以在现实世界中用作数字现金的早期证据。
Schnorr签名的引入对于BCH是有非常深刻的意义的。它不仅能够提升BCH的效率,还能够改进BCH的隐私性。外部观察者无法知道此交易是什么。它可能只是一项常规交易,也有可能是涉及100人的多重签名的交易,更或者是尚未开发的其他用例。Schnorr还允许实现在比特币不可能实现的东西,比如前面提到的100人多重签名—所有这些都会产生一个非常小的交易(小于普通的p2pkh交易,无论OP_RETURN是什么)。
这笔交易还只是Schnorr签名在BCH网络上的首次表现,以此证明了Schnorr签名在BCH网络中的可行性。未来在Schnorr签名的帮助下BCH网络将会有哪些突破,就让我们拭目以待吧!