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