Schnorr簽名和ECDSA簽名技術(shù)介紹
在今天,BCH將進(jìn)行硬分叉升級(jí)。這次升級(jí)的主要內(nèi)容是Schnorr簽名算法和隔離見(jiàn)證復(fù)原,Schnorr簽名是一項(xiàng)以簡(jiǎn)單性而聞名的數(shù)字簽名方案,也是在這升級(jí)中最受期待的功能,而隔離見(jiàn)證復(fù)原則是一項(xiàng)修復(fù)性技術(shù),用來(lái)找回被錯(cuò)發(fā)到隔離見(jiàn)證地址的BCH。這次升級(jí)的兩項(xiàng)內(nèi)容都是成熟功能,外界公認(rèn)的無(wú)爭(zhēng)議技術(shù)功能,被視為純粹的利好升級(jí)。
Schnorr簽名和ECDSA簽名
Schnorr簽名是一個(gè)使BCH區(qū)塊鏈實(shí)現(xiàn)技術(shù)領(lǐng)先的強(qiáng)大功能,因?yàn)镾chnorr簽名方案直接促進(jìn)了BCH的隱私性和交易能力。Schnorr簽名算法是由著名的密碼學(xué)家Claus Schnorr發(fā)明,這項(xiàng)功能長(zhǎng)期以來(lái)受到了BCH開(kāi)發(fā)者的重視,長(zhǎng)時(shí)間以來(lái)開(kāi)發(fā)者都一直渴望實(shí)現(xiàn)Schnorr簽名?,F(xiàn)階段,BCH使用的是ECDSA(橢圓曲線(xiàn)數(shù)字簽名算法)來(lái)進(jìn)行交易簽名,在5月15日之后,BCH將同時(shí)提供過(guò)去一直使用的ECDSA交易簽名和新屬性Schnorr簽名,由用戶(hù)來(lái)自由選擇使用。
在BCH交易中,數(shù)字簽名除了用于驗(yàn)證持有者身份,還用于加密數(shù)據(jù),只有特定的接收者才能解密信息。這些加密組合證明了BCH用戶(hù)的所有權(quán),這構(gòu)成了用戶(hù)使用比特幣現(xiàn)金的權(quán)利。BCH是UTXO模型,所以很多交易都包含多個(gè)輸入,而這些輸入都需要有各自的簽名。ECDSA能夠使雙方能夠安全地傳達(dá)BCH公鑰和私鑰,而將添加到比特幣現(xiàn)金鏈的Schnorr簽名將提供與ECDSA相同的屬性,但效率更高,功能更強(qiáng)大。
隱藏支付通道、原子交換和聚合簽名
隨著本次升級(jí),開(kāi)發(fā)人員Mark Lundeberg詳細(xì)說(shuō)明了Schnorr簽名將是ECDSA簽名的可選替代品。Lundeberg解釋說(shuō),用戶(hù)不必生成新地址就可以開(kāi)始使用Schnorr簽名。對(duì)于Schnorr,開(kāi)發(fā)人員表示,由于簽名是64字節(jié)的數(shù)據(jù),與通常的70字節(jié)相比,交易可以減少4%的字節(jié),該功能基本上提高了每筆比特幣現(xiàn)金交易所需的簽名數(shù)據(jù)的有效性。周三升級(jí)后,Schnorr簽名將給BCH帶來(lái)隱藏普通支付渠道的能力。
原子交換又被成為跨鏈原子交換,是一種加密的智能合約,可以在點(diǎn)對(duì)點(diǎn)的基礎(chǔ)上實(shí)現(xiàn)兩種加密貨幣的交換。但原子交換長(zhǎng)期以來(lái)的隱私性表現(xiàn)并不那么出色,通過(guò)Schnorr簽名原子交換也可以隱藏支付渠道,這對(duì)原子交換的落地應(yīng)用提供了極大的幫助。在將來(lái)開(kāi)發(fā)人員可以添加更復(fù)雜的概念,比如聚合簽名。
Lundeberg指出:“從用戶(hù)體驗(yàn)的角度來(lái)看,比特幣現(xiàn)金用戶(hù)和商戶(hù)只是通過(guò)Bitcoin.com錢(qián)包等應(yīng)用程序來(lái)作為錢(qián)包使用比特幣現(xiàn)金,可能無(wú)法一眼就看到任何不同?!薄暗?,如果您在5月15日升級(jí)之后任意查看一個(gè)新交易,您可能會(huì)注意到它的大小比以前小了大約4%。”
Lundeberg還表示了對(duì)聚合簽名的看法,聚合簽名的優(yōu)異性是在一筆交易中所有涉及的輸入只需要一個(gè)合并簽名就可以完成,而用一個(gè)簽名代替多個(gè)簽名的好處是顯而易見(jiàn)。這導(dǎo)致數(shù)據(jù)量大幅減少,預(yù)計(jì)通過(guò)Schnorr簽名將使區(qū)塊鏈存儲(chǔ)和帶寬減少至少25%,使BCH網(wǎng)絡(luò)更快,更加高效。
Lundeberg最后還提到了Schnorr對(duì)于隱私性的提升。事實(shí)上在此之前很多用戶(hù)就會(huì)故意使用多個(gè)簽名來(lái)發(fā)送交易來(lái)提高隱私,而Schnorr簽名會(huì)使所有用戶(hù)的簽名看起來(lái)和任何其他簽名一樣,這種結(jié)構(gòu)導(dǎo)致了交易隱私性的大幅提升。以門(mén)羅幣為例,環(huán)簽名同樣是此類(lèi)型的結(jié)構(gòu)和功效,而門(mén)羅幣是以隱私性著稱(chēng)的數(shù)字貨幣。Schnorr提供的屬性以及BCH開(kāi)發(fā)人員和基礎(chǔ)設(shè)施提供商(如錢(qián)包)添加的一些延展程序?qū)⑦M(jìn)一步增強(qiáng)隱私和可擴(kuò)展性。
對(duì)抗垃圾交易攻擊
在過(guò)去比特幣中曾出現(xiàn)一種垃圾交易攻擊,攻擊者希望通過(guò)盡可能多的占用比特幣的交易空間來(lái)使比特幣擁堵,他們的手段之一就是通過(guò)頻繁地從多個(gè)來(lái)源發(fā)送交易使這個(gè)交易中包括數(shù)十個(gè)簽名,而很明顯的是,這些簽名占據(jù)了很多的空間。事實(shí)上目前來(lái)看BCH并不懼怕這種攻擊,因?yàn)楸旧淼膮^(qū)塊容量足夠大,攻擊者如果要將BCH區(qū)塊擁堵需要付出很高的代價(jià),但這仍然是ECDSA簽名留下的隱患。
根據(jù)上文的介紹,我們已經(jīng)了解了Schnorr的原理和結(jié)構(gòu),很顯然可以規(guī)避這類(lèi)的垃圾交易攻擊。如果我們每一筆交易只有一個(gè)簽名,那么區(qū)塊就能容納更多交易,垃圾交易制造者要想制造攻擊就必須發(fā)送更多交易,與更多人進(jìn)行競(jìng)爭(zhēng),因此攻擊成本就會(huì)相對(duì)更高。簽名所占空間通常是一筆交易最大的一部分,所以攻擊者將不具優(yōu)勢(shì)。
如果攻擊者不選擇使用Schnorr簽名并繼續(xù)使用舊的簽名,那么其他使用Schnorr簽名的用戶(hù)發(fā)送的交易會(huì)更小,支付的手續(xù)費(fèi)也就更少。這就會(huì)使攻擊成本比以往更高。
結(jié)束
就在不久之前,BTC的核心開(kāi)發(fā)者同樣宣布未來(lái)將Schnorr簽名應(yīng)用在BTC上,但毫無(wú)疑問(wèn),BCH已經(jīng)用上了,而B(niǎo)TC還在規(guī)劃當(dāng)中,BCH再一次走在了BTC的前列。
現(xiàn)在,BCH開(kāi)發(fā)方面有很多創(chuàng)新,例如Simple Ledger Protocol,Badger Wallet,Cash Accounts,Cashshuffle,Bchd客戶(hù)端及其隱私增強(qiáng)錢(qián)包Neutrino。隨著Schnorr簽名的到來(lái),BCH將能夠鞏固其基礎(chǔ),并繼續(xù)為大眾提供可互換的,點(diǎn)對(duì)點(diǎn)的電子現(xiàn)金。