Firme rigorose DER (Distinguished Encoding Rules) sono un tipo di codifica utilizzato per garantire l'idoneità di una firma digitale in qualsiasi ambiente e vengono utilizzati in Bitcoin e criptovalute per garantire la validità delle firme. digitale.
Bitcoin è, senza dubbio, un software crittografico altamente specializzato e una dimostrazione di ciò può essere vista nel firme DER rigorose, un'implementazione crittografica volta a fornire livelli più elevati di sicurezza nel protocollo, in particolare nel sistema di firma di Bitcoin.
Firme rigorose DER (Distinguished Encoding Rules), sono un tipo di crittografia sicura che viene utilizzata per garantire l'idoneità di una firma digitale in qualsiasi ambiente. Voglio dire, non importa se tu portafoglio È su un computer, smartphone o altro dispositivo, la sua codifica sarà la stessa e la sua risoluzione sarà deterministica dall'inizio alla fine. Questo è vitale per Bitcoin, poiché garantisce che le sue firme digitali saranno protette in base a vari criteri.. E per noi utenti, ci dà la certezza che il sistema ha standard di sicurezza elevati.
Qual è l'origine delle firme DER rigorose? Quando è iniziato il suo sviluppo? Come funzionano e dove si applicano? Esamineremo questo e molto altro di seguito.
Lo sviluppo di firme DER rigorose
Come forse già saprai, Bitcoin utilizza firme digitali del tipo ECDSA per garantire un alto livello di sicurezza nelle tue transazioni. L'utilizzo di ECDSA insieme alla curva crittografica secp265k1, è ciò che protegge Bitcoin in termini di accesso al suo token e ci dà la certezza che i nostri fondi non possono essere facilmente hackerati.
Affinché Bitcoin possa utilizzare queste funzioni, è stato inizialmente sviluppato utilizzando la libreria di sicurezza crittografica OpenSSL, un noto progetto di software libero che per il momento rimane un leader indiscusso nel settore della crittografia. Tuttavia, OpenSSL ha attraversato una serie di scandali sulla sicurezza che a poco a poco hanno eroso la fiducia nel progetto.
Ad esempio, nel 2009 durante la nascita precoce di Bitcoin, OpenSSL presentava una grave vulnerabilità (CVE-2008-5077) che ha influito sulla sua implementazione delle firme ECDSA, lasciando vulnerabili progetti come Bitcoin. Un altro grave problema è sorto nel 2014 (CVE-2014-0076), che ha influenzato anche questa funzione. Poiché questi fallimenti, molti altri hanno cominciato a emergere dal progetto e prima degli eventi, Gregory Maxwell Ha affermato che era ora di abbandonare OpenSSL e i suoi continui problemi.
Questi passaggi iniziali per migrare a un'altra implementazione crittografica sicura sono stati successivamente supportati da Pieter Wuille, che nel 2015 ha introdotto il BIP-66 (BIP - Proposte di miglioramento di Bitcoin) detto "Firme DER rigorose". Così è nata l'implementazione DER che avrebbe preso le redini dello sviluppo in Bitcoin e che ha lasciato da parte OpenSSL insieme ai suoi problemi e alla mancanza di rispetto per gli standard di sicurezza.
In questo modo, si applicherebbe il nuovo rigoroso standard di firma DER Bitcoin OP_CODES o codici di operazione, OP_CHECKSIG, OP_CHECKSIGVERIFY, OP_CHECKMULTISIG o OP_CHECKMULTISIGVERIFY, a cui viene applicata la verifica ECDSA e pertanto devono essere codificati utilizzando una firma DER rigorosa.
Come funzionano le firme DER rigorose?
Fondamentalmente ciò che fa la codifica DER è; assicurarsi che le verifiche ECDSA siano corrette in ogni momento. Per ottenere ciò, ogni firma viene verificata non solo in formazione ma anche nel modo in cui è stata codificata.
In primo luogo, le firme ECDSA passano attraverso una verifica DER, che ha il compito di controllare che la codifica della firma sia corretta. Ogni firma ECDSA deve essere codificata (o scritta) con attenzione in Bitcoin e qualsiasi modifica a questo proposito indica che la firma non è attendibile.
In tal caso, il protocollo Bitcoin rifiuta semplicemente la firma e interrompe l'esecuzione dello script Bitcoin associato a detta firma. Tuttavia, se la firma DER rigorosa è valida, ma la firma ECDSA non lo è, l'esecuzione dello script Bitcoin associato finirà per invalidare la firma alla fine della sua esecuzione quando fallisce la verifica dello script.
In uno dei due casi sopra descritti, possiamo essere sicuri che le aziende ECDSA faranno il loro lavoro: tenere al sicuro i nostri bitcoin e le operazioni che effettuiamo con loro. E in questo caso molto specifico, le rigide firme DER ci aiutano ad avere una nuova misura di sicurezza per mantenere tale operazione in ogni situazione.
La specifica o il design utilizzato da Bitcoin per la sua implementazione DER rispetta gli standard della International Telecommunication Union (ITU - International Telecommunication Union), in particolare lo standard X.690 - 2015, il che rende evidente l'alta qualità dell'attuazione.
Descrivendo come funziona
Come sappiamo, una firma digitale in Bitcoin fa parte degli scriptSigs e scriptWitnesses delle transazioni. Tale firma consiste in realtà in una codifica DER di una firma ECDSA, a cui viene aggiunto un byte di tipo sighash.
Per generare questa codifica, viene utilizzata la seguente procedura:
- L'“Oggetto Composito” viene generato utilizzando 1 byte di informazione e contrassegnandolo con il codice 0x30 . Questo oggetto composito è la tupla dei valori (R, S) della firma ECDSA.
- La lunghezza di 1 byte dell'oggetto composto.
- Il valore R della firma è costituito da:
- Un tipo "Integer" a 1 byte contrassegnato con 0x02
- Lunghezza di 1 byte dell'intero
- byte di valore R di lunghezza variabile
- Il valore S della firma, che consiste in:
- Un tipo "Integer" a 1 byte contrassegnato con 0x02
- Lunghezza di 1 byte dell'intero
- byte di valore S di lunghezza variabile
- Il byte di tipo sighash
Come risultato di questo schema, le firme DER sono più corte delle loro controparti ECDSA, raggiungendo un massimo di 73 byte (circa 73 caratteri). Questo è molto importante, poiché li rende più facili da gestire, consumano meno larghezza di banda quando vengono inviati alla rete, riducendo il sovraccarico di rete e aumentando il numero di transazioni che possono essere contenute in un blocco, aumentando la scalabilità della rete.
Quanto sai, Cryptonuta?
Un uso improprio delle firme DER può portare a un hard fork?Certo!
Può sembrare banale, ma una rappresentazione errata di una firma DER utilizzando DER può portare a un hard fork di una blockchain. Questo è esattamente quello che è successo in Bitcoin ed è stato ciò che ha portato gli sviluppatori a creare i propri strumenti crittografici per il progetto. Questo perché le firme DER in uno o più nodi e minatori possono variare e tali variazioni possono portare a problemi di convalida della catena che causano la divisione della catena principale in due o più parti.
Perché è importante una buona codifica DER?
Prima di tutto, dobbiamo ricordare che ECDSA è un sistema di firma digitale deterministico, quindi sotto qualsiasi criterio, questo algoritmo deve sempre restituire la stessa firma, nelle stesse condizioni di generazione. Ciò è essenziale per la sicurezza e garantisce che due firme ECDSA non saranno mai le stesse. Lo stesso si ripete nel caso della codifica DER; vale a dire, esiste un solo flusso di dati che codifica validamente determinati valori forniti per una firma ECDSA.
Tuttavia, ci sono alcune implementazioni difettose (come OpenSSL) che producono codifiche errate in alcuni casi. Pertanto, i verificatori delle firme ECDSA sono spesso un po 'indulgenti in ciò che accettano. In Bitcoin, questo è inaccettabile perché porta a errori di verifica della firma e infrange il consenso della rete. Di fronte a tali problemi, Sviluppatori di Bitcoin ha deciso di creare la propria implementazione DER su misura per le esigenze specifiche di Bitcoin, evitando così che altre implementazioni influiscano sul suo funzionamento.