Skrivet av Mark Lundeberg
@MarkLundeberg är en utvecklare som arbetar med implementeringen av Schnorr-signaturer för Bitcoin Cash-nätverksuppgraderingen.
När nätverksuppgraderingen för Bitcoin Cash (BCH) den 15 maj närmar sig, undrar många människor vad det kommer att innebära.
I den här artikeln kommer jag att ge en snabb och enkel förklaring av vad uppgraderingen handlar om:Schnorr Signatures.
Sedan Bitcoins start har den använt "Elliptic Curve Digital Signature Algorithm" (alias ECDSA) för transaktionssignaturer.
Schnorr-signaturalgoritmen (myntad av den tyske matematikern och kryptografen Claus Schnorr), som faktiskt föregår ECDSA med flera år, är dock mer effektiv.
Många kryptografer inser att Schnorr-signaturalgoritmen har en mycket "renare" matematisk design – så varför användes den inte tidigare?
Fram till 2008 var algoritmen patentbelagd medan ECDSA inte var det (det antas att ECDSA-algoritmen medvetet muterades från Schnorrs design för att kringgå patentet).
Som ett resultat, vid tidpunkten för den ursprungliga Bitcoin-mjukvaruversionen, hade endast ECDSA blivit tillräckligt standard för att finnas i det OpenSSL 0.9.8-bibliotek som används. Med andra ord fanns det till en början inget annat val än att använda ECDSA för Bitcoin.
Snabbspola framåt till idag och efter patentets utgång 2008 har Schnorr-signaturer lagat mat i Bitcoin Cash-utvecklingsugnen under en tid.
Med den kommande uppgraderingen kommer de äntligen att släppas till BCH-nätverket. Vi kommer att introducera Schnorr-signaturerna som en enkel valfri drop-in-ersättning för ECDSA-signaturer.
Nu kanske du undrar, vad betyder detta för dagliga BCH-transaktioner? Här är en snabb sammanfattning:
Tja, det finns ingen anledning att skynda sig in och göra brådskande ändringar eftersom Schnorr-signaturer är helt valfria, och alla ECDSA-signaturer kommer att fungera lika bra som tidigare.
Med tanke på att Schnorr-signaturerna lovar en bättre användarupplevelse, hoppas jag dock att många plånböcker kommer att börja byta till dem under det närmaste året eller så.
De förbättrade matematiska egenskaperna hos Schnorr-signaturer kommer att möjliggöra ett par fördelar vid adoption:
Att anta Schnorr-signaturer lägger också grunden för framtida uppgraderingar som kan möjliggöra ännu mer avancerade kryptografiska funktioner. Till exempel:
Det är värt att notera att dessa idéer är betydligt mer komplexa, experimentella och oprövade i motsats till att bara ha grundläggande Schnorr-signaturer! Men om deras värde blir uppenbart finns det inget som hindrar dem från att introduceras senare.
Som nämnts tidigare kommer befintliga plånböcker som använder ECDSA att fortsätta att fungera lika bra. Jag uppmuntrar dock utvecklare att uppgradera till Schnorr för att hjälpa nätverket att utvecklas.
Ur en UX-synpunkt kommer Bitcoin Cash-användare och handlare som accepterar Bitcoin Cash via konsumentorienterade plånböcker, såsom Bitcoin.com-plånboken, sannolikt inte att märka något annorlunda vid första anblicken.
Men om du ser en ny transaktion efter uppgraderingen den 15 maj kanske du märker (och uppskattar!) att dess storlek är ~4 % mindre än den skulle ha varit tidigare.
Efter nätverksuppgraderingen, när fler utvecklare uppgraderar plånböcker och verktygssatser som används i andra Bitcoin Cash-applikationer, kommer antalet transaktioner med Schnorr Signatures att öka stadigt.
Sammantaget kommer detta att ge ett snabbare, smidigare och effektivare BCH-nätverk och, genom att göra det, bidra till att göra peer-to-peer-transaktioner bättre för alla!
Om du har några andra frågor angående uppgraderingen är du välkommen att kontakta mig direkt på Twitter på @MarkLundeberg.