Sempre a seguito dei miei studi su un nodo bitcoin veloce,
ho trovato che esiste un sacco di movimento per quel che riguarda l'ottimizzazione del relay tra nodi.
In passato erano state fatte alcune implementazioni chiamate FIBER, FALCON e Fast Relay Network,
che servivano principalmente per la rete dei miner.
https://bitcoinmagazine.com/technical/how-falcon-fibre-and-the-fast-relay-network-speed-up-bitcoin-block-propagation-part-1469808784questi 3 progetti sono attualmente abbandonati.
E' invece in corso di implementazione
Erlay un nuovo protocollo
di relay basato sulla libreria Minisketch.
Sinteticamente, i nodi invece che flooddarsi le transazioni da eseguire, come fanno ora,
si scambiano delle rappresentazioni compatte, o sketch che poi verificano con un processo chiamato "riconciliazione"
Lo sviluppo di erlay e' attivo da due anni, e la prima versione e' stata scartata, perche' aveva parecchi difetti.
Ora e' in fase di merge finale una seconda versione, che forse sara' gia' presente nella prossima versione di Bitcoin Core.
La cosa interessante e' che dalle analisi statistiche si evince Erlay consuma molto meno banda rispetto al flooding,
permettendo quindi alla rete di scalare molto meglio, anche verso connettivita' piu' ridotte (es: paesi meno acanzati)
In pratica un grande passo avanti per una migliore scalabilita' dei nodi.
Per chi vuol approfondire:
Lo sviluppo:
https://github.com/bitcoin/bitcoin/pull/21515Il BIP 330 (aggiornato) che definisce erlay:
https://github.com/naumenkogs/bips/blob/bip_0330_updates/bip-0330.mediawikiUn paper di studio:
https://people.ece.ubc.ca/sasha/papers/ccs19.pdfLa libreria miniscketch:
https://github.com/sipa/minisketch