Le firme sono uno dei capisaldi della blockchain Bitcoin [BTC]. E, anche se in modo indiretto, sono ciò che consente di risolvere il problema della doppia spesa sulla blockchain.
Le firme sulla blockchain sono ciò che consente di verificare le transazioni. Una volta che un utente crea un hash dei propri dati di transazione, l’hash per quella transazione può essere firmato utilizzando semplicemente la propria chiave privata. Questa firma può essere verificata utilizzando chiunque conosca la chiave pubblica delle parti del contratto.
Tuttavia, l’attuale sistema di firma, noto come Elliptical Curve Digital Signature Algorithm [ECDSA] sembra non essere all’altezza di un metodo di firma “superiore”: le firme di Schnorr.
Una firma Schnorr, come suggerisce il nome, è un segno generato da un algoritmo di firma Schnorr. La sua sicurezza è basata sull’intrattabilità degli algoritmi discreti. Da utilizzare sulla rete Bitcoin, è stata presentata una proposta di miglioramento Bitcoin. Questo propone uno standard per le firme Schnorr a 64 byte su una curva ellittica.
La sicurezza della firma Schnorr è dimostrabile nel modello Random Oracle, mentre ECDSA non possiede alcuna prova simile. L’ECDSA è anche estremamente più debole, in quanto una terza parte può alterare le firme valide per una determinata chiave pubblica.
Inoltre, si dice che le firme di Schnorr riducano il consumo di memoria e larghezza di banda del 25%, poiché hanno la capacità di eseguire Multisig. Utilizzando un programma come MuSig, è possibile produrre chiavi pubbliche combinate firmate da più partecipanti. Ciò migliora la privacy e l’efficienza e consente l’utilizzo di CHECKMULTISIG per il batch delle transazioni.