2019年5月15日,BCH在區(qū)塊高度582679完成網(wǎng)絡(luò)升級。此次網(wǎng)絡(luò)升級屬于提高性能的一次升級,升級后的BCH增加兩個新的協(xié)議功能:Segwit復原和
2019年5月15日,BCH在區(qū)塊高度582679完成網(wǎng)絡(luò)升級。此次網(wǎng)絡(luò)升級屬于提高性能的一次升級,升級后的BCH增加兩個新的協(xié)議功能:Segwit復原和備受期待的Schnorr簽名。
為什么會引進Schnorr簽名?
BCH和比特幣之前一直使用的都是橢圓曲線數(shù)字簽名算法(ECDSA),該曲線定義了用于計算的數(shù)學組,它規(guī)定了密鑰格式和密碼術(shù)操作的一組值。ECDSA的優(yōu)點是由于橢圓曲線加密的效率,可以用更小的密鑰大小實現(xiàn)與RSA相同的安全性。這使得ECDSA成為比特幣的明智選擇,因為較小的密鑰總體上占用的空間更小,導致數(shù)據(jù)更少,操作更快。但是,ECDSA-隨機數(shù)重用會導致私鑰泄露,而且ECDSA還有延展性問題。
Schnorr簽名可以適用于任何滿足離散對數(shù)問題的數(shù)學組,具有安全性證明。而且Schnorr簽名沒有延展性問題;支持對不同消息的簽名的批量驗證;簽名的線性特性Schnorr簽名原生支持聚合簽名。
Schnorr簽名比ECDSA簽名有更多優(yōu)點:
1、數(shù)據(jù)更小。大多數(shù)ECDSA簽名是71或72字節(jié)。所有Schnorr簽名都是64字節(jié)。
2、驗證效率高。相比于ECDSA簽名,Schnorr簽名在驗證交易時花費的時間更短,相同的時間內(nèi)所驗證的交易數(shù)量也更多。
3、聚合簽名。通過Schnorr簽名,不僅可以將一個多sig輸入的簽名壓縮為一個簽名,還可以將多個輸入的簽名聯(lián)合為一個簽名。當大量簽名產(chǎn)生一個聚合簽名時,Schnorr方案可以將區(qū)塊鏈存儲和帶寬減少至少25%。
4、增強隱私性。原本一些用戶就會故意使用多個簽名來發(fā)送交易來提高隱私,這通常稱為MultiSig。而Schnorr簽名會使你的簽名看起來和任何其他簽名一樣,從而提高交易的隱私性。
5、為更為復雜的智能合約架構(gòu)打開了大門。因為現(xiàn)在不管多重簽名交易類型是 2/3、3/15,或者 100/100,所有類型需要的簽名數(shù)據(jù)量相同,與單簽名交易類型所需量一致。
6、Schnorr簽名可以將支付通道隱藏為普通支付的原子級互換。如果需要的話,還可以實現(xiàn)閃電網(wǎng)絡(luò)形式的支付通道網(wǎng)絡(luò)以及涉及多方的未經(jīng)確認的交易的安全鏈(layer 2)。
7、除了可擴展性和隱私性,Schnorr還為使用該協(xié)議的錢包平臺提供了一個特性:重放保護。
BCH首次Schnorr Multisig交易
在比特幣現(xiàn)金升級完成之后,BCH開發(fā)者們就迫不及待的進行了Schnorr Multisig交易測試。
2019年5月18日深夜,獨立開發(fā)者Mark B. Lundeberg,BCH全節(jié)點BCHD的開發(fā)者Chris Pacia以及一個名為checksum0的獨立礦工合作成功創(chuàng)造了第一個使用Schnorr多重簽名(multisig)在BCH網(wǎng)絡(luò)上進行的交易。這筆交易是向倡導自由交易的絲綢之路的創(chuàng)始人Ross Ulbricht的捐贈。
這筆交易攜帶的OP_RETURN信息解碼之后,我們可以看到內(nèi)容是:“BCH的宗旨是給人們自由,讓他們做出自己的選擇,追求自己的幸福,不管他們個人覺得合適與否。”事實上,multisig就像它所暗示的那樣:轉(zhuǎn)移資金需要多個簽名(私鑰)。對于加密貨幣交易來說,這是一種特別重要的方式,具有另一層安全性。
舉個簡單的例子,使用multisig簽名的一個夫妻儲蓄賬戶,在轉(zhuǎn)移資金的時候,除非兩者都同意,否則不能從他們的賬戶中轉(zhuǎn)移資金。這一功能不僅滿足了一些用戶對于隱私的需求,也滿足了多個用戶控制一筆交易的需求。
完成交易后,三人發(fā)布了他們的私鑰作為證據(jù):
3c33570f986612912464cc61259ceeeba18c2c494e9de505a78c4222277d1b56
a145c109b44521329421227a7d29b4bcbb4e75a37743435d2978c02cbb45842f
8426999585720f236608b8a7112759f93269acf1124b0f82edbfa862cc8a6d0d
他們還在推特上宣布了這件事情。@checksum0表示 ,“@ MarkLundeberg @ChrisPacia和我在歷史上創(chuàng)造了第一個Schnorr多重簽名。該交易是對@Free_Ross的捐贈。證據(jù)將很快公布。“
隨后,Lundeberg和checksum0分別在GitHub Gist上發(fā)布了歷史交易的成績單。
雖然這筆交易是首例Schnorr Multisig交易,不過Lundeberg也警告,這是一個實驗,此次交易是一個示范,并不一定安全。“小心,資金很容易丟失!”。
這筆交易之所以會選擇向Ross Ulbricht的捐贈,不僅具有歷史意義,而且具有象征意義。因為保護相對匿名和點對點交易的現(xiàn)金特性通常會讓人想起Ross Ulbricht的困境。他被指控后來被定為絲綢之路背后的策劃者,而該網(wǎng)站是證明比特幣可以在現(xiàn)實世界中用作數(shù)字現(xiàn)金的早期證據(jù)。
Schnorr簽名的引入對于BCH是有非常深刻的意義的。它不僅能夠提升BCH的效率,還能夠改進BCH的隱私性。外部觀察者無法知道此交易是什么。它可能只是一項常規(guī)交易,也有可能是涉及100人的多重簽名的交易,更或者是尚未開發(fā)的其他用例。Schnorr還允許實現(xiàn)在比特幣不可能實現(xiàn)的東西,比如前面提到的100人多重簽名—所有這些都會產(chǎn)生一個非常小的交易(小于普通的p2pkh交易,無論OP_RETURN是什么)。
這筆交易還只是Schnorr簽名在BCH網(wǎng)絡(luò)上的首次表現(xiàn),以此證明了Schnorr簽名在BCH網(wǎng)絡(luò)中的可行性。未來在Schnorr簽名的幫助下BCH網(wǎng)絡(luò)將會有哪些突破,就讓我們拭目以待吧!(BitcoinCash)