Hobbits è il nuovo protocollo che permette il passaggio di informazioni attraverso i nodi nella blockchain di Ethereum 2.0 .
Gli sviluppatori che lavorano per creare la prossima generazione della blockchain di Ethereum hanno sviluppato un codice destinato ad aiutare gli sviluppatori nella comunicazione prima dell’aggiornamento.
Ethereum 2.0 è di gran lunga il più grande aggiornamento all’ordine del giorno e a quanto dicono gli sviluppatori, porterà massicci miglioramenti alla scalabilità e all’usabilità dell’ormai vecchia rete blockchain. Questa, con i suoi 17 miliardi di dollari di capitalizzazione di mercato, è la seconda blockchain più importante al mondo dopo quella di BTC. Il lavoro sull’iterazione 2.0 (nota anche come Serenity) continua a ritmo sostenuto, e secondo Fredik Harryson, responsabile tecnologico di Parity, le specifiche del codice per il roll-out iniziale dell’aggiornamento sono complete circa per la metà.
Come tale, mentre molti aspetti dell’aggiornamento sono ancora in fase di ricerca e attualmente in fase di finalizzazione, il 23 aprile è stato svelato un nuovo codice che, se approvato e infine implementato, faciliterà la comunicazione di base tra i nodi che eseguono il software Ethereum 2.0.
Hobbits
Il protocollo, chiamato Hobbits, è stato sviluppato in collaborazione tra la società di test delle prestazioni della blockchain Whiteblock, lo studio di venture capital di Ethereum Consensys e i team di implementazione di ETH 2.0 Chainsafe e Yeeth.
In un post di un blog che presenta questa tecnologia, Trenton Van Epps ha scritto:
“Mentre i clienti di Ethereum 2.0 si avvicinano ai testnet dal vivo, avranno bisogno di un modo per passare informazioni avanti e indietro tra ogni cliente. Questo avviene su una serie di link chiamati “wire protocol.”
Il protocollo di cablaggio è al centro del funzionamento di queste reti, perché i nodi passano informazioni critiche tra loro, vale a dire la cronologia delle transazioni, che compongono la blockchain stessa.
A febbraio, il fondatore di ETH Vitalik Buterin ha spiegato che un wire protocol determina essenzialmente “le regole per quali messaggi vengono inviati attraverso la rete.”
Ethereum 2.0 farà leva su un protocollo di cablaggio chiamato “libp2p” sviluppato e mantenuto da Protocol Labs di San Francisco, l’azienda che sta dietro a progetti come Filecoin e IPFS. Tuttavia, fino a quando questa implementazione non sarà concretizzata per tutti i clienti di ETH 2.0, Hobbits è pensato come un mezzo per stabilire una comunicazione incrociata tra quei clienti che non hanno libp2p pronto.
Jonny Rhea, un ingegnere di protocollo di Consensys che ha contribuito a costruire Hobbits, ha spiegato:
“Non abbiamo ancora libp2p e quindi avevamo bisogno di trovare un protocollo minimo di cablaggio, una sorta di protocollo di test, fino a quando non riusciamo a mettere insieme tutti i pezzi.”
Libp2p
Ogni blockchain, secondo quanto ha sottolineato Buterin all’epoca, ha un wire protocol o “mini-lingua” per definire come i messaggi vengono trasmessi e ricevuti attraverso la rete. Per il Bitcoin e l’Ethereum attualmente, il wire protocol utilizza quelle che vengono chiamate reti gossip.
Come ha spiegato Buterin:
“Nel caso di Bitcoin e Ethereum 1.0, sono entrambe quelle che chiamiamo reti gossip. Tutto ciò che viene trasmesso alla fine raggiunge tutti, ma per [Ethereum 2.0] non possiamo farlo perché si sono più messaggi totali di quanti ogni singolo nodo può scaricare.”
Come tale, il nuovo wire protocol di Ethereum 2.0, libp2p, avrà due grandi vantaggi. Innanzitutto sfrutterà un nuovo protocollo chiamato “gossipsub” per evitare che la rete venga inondata e congestionata ogni volta che un nodo vuole inviare un messaggio.
“Se ho un nuovo blocco e sono collegato a sei dei miei peers, manderò quel blocco a caso a due o tre dei miei peers,” ha detto Rhea. “Proietto quel messaggio. Poi quei nodi hanno dei peers, non me lo rimandano, ma probabilmente scelgono altri due peers a cui inviare il messaggio.”
Più in generale, il secondo vantaggio dell’uso di un protocollo di cablaggio libp2p è che aggiunge la modularità.
“La cosa bella di libp2p è che è modulare”, ha detto Rhea. “Diciamo che non ti piace ….. come un nodo trova un altro nodo su Internet. Questo può essere rimpiazzato. Può essere sostituito.”
Al momento, secondo Van Epps, ci sono solo due implementazioni di libp2p per i clienti di ETH scritte nei linguaggi di programmazione Go e Rust.
Tuttavia, Van Epps nota che “il lungo percorso verso un lancio di ETH 2.0 dipende dall’avere implementazioni corrette di libp2p per i linguaggi di programmazione dei client.”
Come tale, fino a quando queste altre implementazioni in linguaggi di programmazione come Java, Javascript e Swift raggiungono il completamento, Hobbits servirà come una “specifica di trasporto minimo che supporta i tipi di messaggistica di base e permette ai nodi di comunicare tra loro.”
Rhea ha aggiunto che:
“Ci sono molte cose [di ricerca e sviluppo] che vogliamo testare. Abbiamo sviluppato questo wire protocol di base in modo che il nostro team, Chainsafe e qualsiasi altro team che non ha un’implementazione libp2p nel linguaggio [di programmazione] in cui si sviluppano possa fare una [rete di test] e fondamentalmente essere ancora in grado di comunicare.”