En expert förklarar den kommande BCH-nätverksuppgraderingen ⚙️

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.

Varför spelar Schnorr-signaturerna någon roll? 🖋️

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.

Hur kommer Schnorr-signaturer att gynna BCH-nätverket? 🌐

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:

  • Du behöver inte skapa nya adresser för att börja använda Schnorr-signaturer.
  • Detta beror på att vi implementerar Schnorr på samma kurva som ECDSA, så alla privata och publika nycklar är identiska.
  • Schnorr-signaturerna är 64 byte i motsats till 70-71 byte för ECDSA, vilket leder till 4 % mindre transaktioner i genomsnitt.

Vad betyder detta för plånboksutvecklare? 🖥️

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 tekniska muttrarna och bultarna i Schnorr-signaturerna 🔩

De förbättrade matematiska egenskaperna hos Schnorr-signaturer kommer att möjliggöra ett par fördelar vid adoption:

  • Skalning: När de tar emot en ny transaktion måste noder verifiera signaturerna innan de accepteras och vidarebefordras till BCH-nätverket. Med uppgraderingen kommer noder att kunna utföra batchverifiering genom att samla alla Schnorr-signaturer i ett gäng före verifiering, och därigenom påskynda hela verifieringsprocessen.
  • Sekretess: Plånboksutvecklare kan producera hemliga Schnorr-multisignaturer som visas på kedjan som en normal transaktion med en signatur – trots att de involverar flera parter. Denna hemliga signatursamling möjliggör fler privata smarta kontrakt på BCH-nätverket.

Att anta Schnorr-signaturer lägger också grunden för framtida uppgraderingar som kan möjliggöra ännu mer avancerade kryptografiska funktioner. Till exempel:

  • Aggregering av offentliga signaturer skulle tillåta plånböcker att ersätta många transaktionssignaturer med bara en signatur. Detta kan ge ytterligare ~20 % transaktionsstorleksminskning, vilket gör nätverket snabbare och mer effektivt.
  • Sign-to-contract idéer som Taproot och Grafroot skulle göra det möjligt för oss att öka integritetsaspekterna ytterligare. De gör det genom att tillåta att ej genomförda smarta kontrakt döljs bakom vanliga offentliga nycklar.

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.

Hur kommer uppgraderingen att påverka BCH-användare? 📱

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.

En typisk 1-ingång och 1-utgångstransaktion är 185 byte med Schnorr-signatur jämfört med de vanliga 191-192 byte med ECDSA. Källa:Schnorr Testnet

Uppåt och uppåt 🚀

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.


Bitcoin
  1. Blockchain
  2. Bitcoin
  3. Ethereum
  4. Digital valutaväxling
  5. Brytning