La scalabilità del Bitcoin e il problema della propagazione dei blocchi

La mancanza di scalabilità è nota per essere il principale ostacolo che ostacola l’adozione in massa della tecnologia a catena di blocchi. Tutti i progetti di blockchain esistenti cercano soluzioni che possano migliorare le prestazioni della loro rete.

Molti progetti emergenti sostengono di avere un proiettile magico che potrebbe risolvere il problema. Tuttavia, tali affermazioni non sono sempre valide. Purtroppo, molti osservatori e investitori non si rendono conto del nucleo e della radice di questo problema. Senza un’indagine approfondita e un notevole background tecnico, è difficile determinare i colli di bottiglia nascosti e i compromessi. In questo post parleremo di un noto collo di bottiglia che impedisce la scalabilità del Bitcoin.

Poco dopo l’invenzione della rete decentralizzata peer-to-peer Bitcoin

Poco dopo l’invenzione della rete decentralizzata peer-to-peer Bitcoin, i ricercatori si sono interessati a ciò che determina i limiti della scalabilità del Bitcoin Code. Ben presto la questione centrale è stata determinata e descritta in termini di tempo di propagazione del blocco o di ritardo di propagazione del blocco.

Si tratta di un tempo medio che è necessario affinché il nuovo blocco raggiunga la maggior parte dei nodi della rete. In una grande rete decentralizzata come Bitcoin, ogni volta che il nuovo blocco viene generato, viene trasmesso secondo il protocollo Gossip. Se qualche nodo ha il nuovo blocco valido, informa i nodi ad esso collegati del suo nuovo possesso. Poi il nodo trasferisce questo blocco ai nodi che glielo hanno chiesto.

Prima che il blocco raggiunga ogni nodo completo della rete, passa attraverso sette nodi intermedi. E‘ importante che ogni nodo onesto verifichi il blocco prima di trasmetterlo ad altri peer. Ovviamente, il tutto richiede un po‘ di tempo. Ogni nuovo blocco scuote la rete e fa funzionare a piena potenza i nodi e le connessioni ethernet tra di loro.

Si potrebbe sostenere che dal lancio della rete, ci sono stati molti miglioramenti al protocollo Gossip. Per esempio, la proposta di miglioramento Bitcoin BIP 0152 ha introdotto l’opzione di trasferire solo gli ID delle transazioni brevi, invece dell’intera lista delle transazioni, nel corpo del blocco. Tuttavia, se il nodo non ha quella transazione nel suo mempool, deve chiedere ai suoi pari di trasferirla in un messaggio separato. Se c’è un gran numero di transazioni di questo tipo nel blocco, allora il miglioramento dal BIP 0152 scompare.

Poiché la trasmissione dei dati è la parte più lunga del relè del blocco

Poiché la trasmissione dei dati è la parte più lunga del relè del blocco, i ricercatori si sono interessati a determinare quanto tempo è necessario perché un pacchetto di dati di una certa dimensione raggiunga il 50%, 90% o 95% dei nodi della rete. Si è scoperto che per i blocchi di dimensioni superiori a 20kB, il ritardo di propagazione del blocco è quasi proporzionale alla dimensione del blocco.

Secondo una ricerca pubblicata nel 2013, ogni kB di dati in più nel blocco ha causato un ritardo di propagazione del blocco di 80 ms.

Da allora, ogni anno sono stati pubblicati un paio di articoli accademici e sondaggi su questo argomento. Essi aggiornano i suddetti dati e discutono varie proposte di miglioramento. Inoltre, il sito monitora lo stato attuale della rete Bitcoin e il tempo di propagazione dei blocchi. Inoltre, fornisce grafici con dati storici su questo argomento.