Blockchain e IoT: come creare una rete LoRa per minare crypto Helium.
Ho comprato un gateway Helium. Ecco come è andata la mia esperienza nel creare la rete LoRa che consente di minare HNT.
Da qualche anno esistono delle iniziative per creare delle reti LoRaWAN dal basso, ovvero iniziative in cui gli utenti finali prendono l’impegno di diffondere l’infrastruttura per questa tipologia di rete molto usata in nel mondo dell’IoT.
Una delle iniziative più importanti in questo momento è Helium. La cosa interessante di questa specifica iniziativa è il modello di business. Il progetto, infatti, è collegato a un token di una criptovaluta chiamata anch'essa Helium (il simbolo è HNT). Il punto di svolta rispetto ad alcuni progetti del passato è che i proprietari degli hotspot – i gateway LoRaWAN che espongono la rete – sono ricompensati per il fatto che stanno esponendo la rete: infatti i gateway sono anche dei miner che estraggono i token della criptovaluta HNT.
Racconterò la mia esperienza nell’installare e configurare il Gateway/miner in questo articolo e, in uno futuro, parlerò della creazione di un progetto a scopo dimostrativo basato su questa infrastruttura.
Iniziamo quindi, parlando dell’installazione e configurazione del Gateway/miner.
Installazione
Nel progetto Helium convergono diversi prodotti di tipo Gateway. La mia scelta è caduta sul SenseCAP M1. La scelta è stata fatta principalmente per il costo in linea con le aspettative per questo tipo di esperimento (siamo intorno ai 500€), la qualità secondo una ricerca online e la disponibilità dell’hardware al tempo. Aggiungo anche che l’esistenza di un distributore sul territorio Italiano per questo prodotto – ovvero Officine Innesto – ha pesato e ha aiutato a semplificare la parte amministrativa.
Il prodotto è stato out of stock per diverse settimane e, quando è finalmente arrivato il pacco contenente il Gateway Helium, confesso che ero un po’ emozionato. Per questo, probabilmente, la parte più complessa è stata l'unboxing, il resto è filato abbastanza liscio :-)
Le istruzioni sono molto semplici ed esplicative. Si trovano nella scatola e si riassumono in pochi passaggi.
La prima cosa da fare è scaricare l’app gratuita Helium Hotspot dallo store Google se siete utenti Android o AppStore se preferite il melafonino.
L’app oltre per la parte di configurazione, serve per la creazione di un wallet necessario per l’utilizzo del gateway.
Non mi dilungo molto sul funzionamento di Helium (e sui suoi algoritmi di proof of coverage) ma sottolineo solo che per attivare le funzionalità da miner deve obbligatoriamente essere esposta una rete LoRa; questo per evitare miner puramente speculativi.
Sull’app, in fase di creazione del wallet, viene chiesto di selezionare marca e modello del gateway. Poi la creazione segue in modo abbastanza semplice e lineare seguendo gli step richiesti dall’app.
Come detto, viene innanzitutto effettuata la creazione del wallet. La sicurezza del wallet è delegata a 12 parole chiave che sono generate automaticamente e che dobbiamo trascrivere per poter accedere al esso in futuro. Vi consiglio vivamente di prestare molta attenzione a questa fase e di trascrivere le 12 parole nell’ordine in cui vengono mostrate perché verranno richieste in quell’ordine e, in caso vadano perse potremmo, non essere più in grado di accedere al nostro wallet.
Creato il wallet si procede con la configurazione dell’hardware.
Alimentiamo il gateway e connettiamolo alla rete: possiamo connetterlo via cavo Ethernet direttamente al router o via Wi-Fi. Quindi connettiamoci al gateway via Bluetooth tramite l’app Helium. Una volta connessi al gateway, l’app chiede di poter verificare la posizione del router con il GPS del telefono e di dichiarare la posizione all’interno di una mappa.
Una volta configurato il device deve sincronizzarsi con la rete Helium quindi opererà per qualche ora.
Problemi…
Dopo qualche ora il device è passato in stato ”relayed”. In questa condizione il device è sincronizzato alla rete ma non può partecipare alle competizioni e alla risoluzione del proof of coverage (azioni tipiche degli algoritmi e della logica di funzionamento di questo miner), quindi… non può guadagnare! Ecco il primo problema…
Per risolvere e poter cambiare lo stato in “online” – e che sia operativo a tutti gli effetti – io ho seguito il troubleshooting descritto nella documentazione di Helium. In particolare il problema era nella configurazione della mia rete: ho dovuto eseguire un NAT della porta 44158 del mio router affinché gli altri gateway potessero interrogare direttamente il mio gateway LoRa.
C’è voluta un po’ di pazienza una volta sistemata la rete ma, dopo una decina d’ore, l’hotspot è passato allo stato ”synched” da quello di “relayed”.
Ho deciso di aspettare un poco per vedere cosa sarebbe successo.
Questi tempi lunghi derivano dal fatto che, ogni azione che effettuiamo sulla configurazione dell’hotspot, deve passare dalla sincronizzazione con la rete blockchain. Quindi è normale dover aspettare qualche ora perché la modifica abbia successo e il risultato sia visibile.
Nel mio caso, dopo circa un giorno e mezzo dall’installazione, ho ricevuto invece, una notifica di errore:
Leggendo sulla documentazione ho verificato che si trattava di un problema di credito: anche se il gateway non consuma credito per traferire dati, ha bisogno di un po’ di credito per poter svolgere le sue operazioni.
Quindi ho trasferito un HNT sul wallet del dispositivo e dopo 2-3 ore lo stato è passato a ”online”. Finalmente!
Fatto! Siamo online
Per concludere potremmo dire che l’installazione fisica dell’hardware è molto semplice, mentre la configurazione… necessita di pazienza. Rendere il dispositivo funzionante a tutti gli effetti richiede interventi specifici e la lettura di qualche blog.
Tutta l’operazione mi ha impegnato per circa quattro/sei ore distribuite su circa tre giorni, un po’ per motivi organizzativi personali e un po’ per il tempo fisiologico che, come abbiamo visto, ogni azione richiede per essere pubblicata sulla rete Helium.
So che molti si stanno chiedendo quanto frutti un’operazione del genere. Dato che il mio è stato un esperimento prettamente tecnico, non mi sono affatto preoccupato di creare le condizioni per massimizzare i valori generati da Helium. Tuttavia posso riportare quello che apprendo dalla community di utilizzatori: i guadagni sono molto variabili perché dipendono, ovviamente, dal traffico sulla rete LoRa. Come normale in iniziative in espansione di questo tipo, ci sono utenti che minano crypto per un valore di 30$ al mese e utenti che arrivano a 1000$ al mese.
Ora che abbiamo una rete tutta per noi? In un prossimo articolo vi racconterò come ho realizzato una piccola applicazione su base Helium. Se avete dubbi o curiosità, non esitate a contattarmi.