Gleb Naumenko, sviluppatore Bitcoin, ha recentemente annunciato attraverso un post sul sito della Linux Foundation l’arrivo di Erlay: si tratta di un nuovo protocollo per l’inoltro e la propagazione delle transazioni.

Read this article in the English version here.

Una delle preoccupazioni che attanaglia gli sviluppatori Bitcoin riguarda la quantità di banda usata dai nodi. La blockchain di Bitcoin pesa, ad oggi, oltre 200 gigabyte, il che significa che scaricarla per intero richiede moltissimo tempo.

Di default un nodo si connette ad 8 nodi e riceve da essi le informazioni. Erlay propone di incrementare questo numero a 32 per ridurre considerevolmente la quantità di banda usata da ogni nodo.

L’idea alla base del protocollo è la seguente: invece di annunciare ogni transazione ad ogni peer, gli annunci vengono inviati direttamente solo su un numero limitato di connessioni. Ulteriori comunicazioni avvengono periodicamente grazie a un protocollo di riconciliazione che si basa sulla libreria Minisketch.

Bitcoin, arriva Erlay

Il risultato di questo approccio porta a salvare la metà della banda consumata da un nodo e, come side-effect, una miglior resistenza ai timing attacks. Aumentando a 32 il numero di peer in uscita il protocollo Erlay porta ad un risparmio della banda pari al 75% rispetto all’attuale implementazione.

bitcoin erlay

Erlay introdice il concetto di “diffusione” che andrebbe a sostituire il flooding, implementato attualmente. Dal whitepaper di Erlay:

L’attuale versione del protocollo Bitcoin usa il flooding per propagare i messaggi. Il flooding è un protocollo per cui ogni nodo annuncia ad ogni peer qualsiasi transazione che riceve. E’ altamente inefficiente. Adottando la diffusione invece si attende un ritardo casuale prima di annunciare una nuova transazione ai peer. Questa soluzione mitiga i timing attacks e riduce la probabilità di una collisione (che si verifica quando due nodi annunciano simultaneamente l’arrivo di una transazione).

erlay

L’adozione di Erlay porterebbe quindi a migliorie sia dal punto di vista delle performance che della sicurezza. Non è ancora stata formalizzata la sua implementazione ma probabilmente lo sarà presto.