Domani, mercoledì 15 maggio 2019, Bitcoin Cash (BCH) effettuerà un fork di aggiornamento del proprio protocollo, introducendo una serie di novità piuttosto interessanti, fra cui lo schema di firme di Schnorr.

Read this article in the English version here.

Il fork è fissato indicativamente attorno alle ore 2 p.m. CET del 15 maggio. E’ possibile vedere il conto alla rovescia sulla seguente pagina.

Il fork di Bitcoin Cash non comporterà la nascita di una nuova criptovaluta come accaduto lo scorso novembre con Bitcoin SV. Si tratterà solamente di un upgrade del protocollo di BCH.

Fork Bitcoin Cash (BCH): arrivano le firme di Schnorr

Analizzando il changelog, è possibile osservare le varie novità che verranno introdotte da questo aggiornamento. In primis, emerge subito l’implementazione dello schema di firme di Schnorr al posto dell’attuale ECDSA.

Il nuovo schema di firme, inventato da Claus Schnorr, consentirà agli utenti di Bitcoin Cash di ridurre lo spazio utilizzato nei blocchi della blockchain di BCH grazie al concetto di firme aggregate.

Non solo, utilizzando l’aggregazione delle firme, è possibile migliorare anche la privacy delle transazioni. Tutto ciò permetterà di ridurre ulteriormente i costi per effettuare transazioni, oltre ad un miglioramento delle prestazioni del network di Bitcoin Cash.

Lucas Nuzzi, direttore del dipartimento di ricerca del Digital Asset Research Lab, ha affermato in un precedente comunicato:

La possibilità di fondere più chiavi insieme può sembrare banale ma i vantaggi dell’aggregazione delle chiavi non devono essere sottovalutati. Poiché le multisig non sono nativamente supportati da ECDSA, esse sono state implementati in Bitcoin attraverso uno script intelligente standardizzato chiamato Pay-to-ScriptHash (P2SH). Questo permette agli utenti di aggiungere condizioni di spesa in modo da specificare come i fondi possono venir effettivamente spesi.”

“l primo problema di P2SH è che richiede la conoscenza delle chiavi pubbliche di tutti i firmatari che partecipano al multisig. Ciò non è un sistema efficiente. L’aggregazione di queste chiavi in una sola consentirebbe infatti una validazione più efficiente, dal momento che solo una chiave deve essere verificata dalla rete. Ciò comporterebbe anche un minor uso di spazio sulla blockchain, oltre a minori costi di transazione ed una maggiore larghezza di banda disponibile“.

Gli sviluppatori di BCH hanno deciso di rendere le firme di Schnorr opzionali, mantenendo il supporto alle classiche ECDSA. I crittografi hanno deciso di implementare Schnorr utilizzando la stessa ellittica usata da ECDSA, così da rendere l’upgrade retro-compatibile con i precedenti fork di Bitcoin Cash.

Nonostante ciò, l’uso delle firme di Schnorr consentirà di risparmiare circa sei bytes rispetto ai classici 70 bytes richiesti da una firma ECDSA. Si tratta quasi del 4% di spazio in meno.

Nel caso di transazioni multisig, la riduzione potrebbe raggiungere il 20-25%, comportando una significativa riduzione anche della banda utilizzata.

Segwit Recovery Exemption e le altre novità

Un’altra importante caratteristica di questo fork di Bitcoin Cash riguarda la Segwit Recovery Exemption.

Nel precedente aggiornamento, le monete inviate accidentalmente agli indirizzi P2SH di Segwit erano state rese non spendibili dalla regola CLEANSTACK. Con il fork di domani, verrà aggiunta un’eccezione a tale regola, così che i BCH bloccati su tali indirizzi potranno venir sbloccati.

Tra le altre caratteristiche del fork di Bitcoin Cash, la roadmap menziona anche l’aggiunta delle seguenti feature:

  • Canali di pagamento occultati come classici pagamenti;
  • Atomic swaps mascherati come pagamenti normali;
  • Canali di pagamenti in stile Lightning Network, se desiderato;
  • Secure chains di transazioni non confermate coinvolgente diverse parti (layer 2).

Fork Bitcoin Cash (BCH): come prepararsi

Dal momento che si tratta di un semplice upgrade della rete, gli utenti finali devono fare ben poco, se non aggiornare i propri wallet (solo se appoggiati ad un full node proprio).

Discorso diverso per chi detiene un full node, il quale dovrà essere aggiornato all’ultima release dei varie client disponibili. Quelli già pronti al fork di BCH sono:

L’aggiornamento dei vari client è necessario per inizializzare correttamente il fork. Per gli utenti infine, non vi saranno differenze di alcun tipo dalla situazione pre-fork.