You are currently viewing Cosa sono i Nodi?

Cosa sono i Nodi?

Tempo di lettura: 5 minuti

Un nodo ha un diverso significato in base al suo contesto.

Nel mondo delle reti, dei network di telecomunicazioni o anche di computer, i nodi hanno caratteristiche ben definite: possono essere un punto di ridistribuzione o un communication endpoint. Possiamo dire in maniera più generica che un nodo è un dispositivo di rete fisico. Per non farci mancare niente però, esistono anche alcuni casi specifici in cui è necessario utilizzare dei nodi virtuali.

Cazoo, parla potabile!

Va bon. Un nodo di rete è un punto in cui un messaggio può essere creato, ricevuto o trasmesso. Come già accennato, esistono diversi tipi di Nodi Bitcoin: full nodes, super nodes, miner nodes e client SPV.

Nodi Bitcoin

Dove la Blockchain è progettata come un sistema distribuito, una rete di nodi permette di usare Bitcoin come una valuta digitale decentralizzata peer-to-peer (P2P), incensurabile e decentralizzata, ovvero senza che debbano per forza esistere degli intermediari per validare i trade, gli scambi, le transazioni tra utenti.

I nodi blockchain devono quindi agire come un punto di comunicazione e devono poter avere alcune proprietà, in modo da poter eseguire alcune funzioni. Qualsiasi dispositivo che si connette all’interfaccia Bitcoin, come ad esempio un computer, può essere considerato un nodo, dato che all’interno della blockchain tutti i nodi sono collegati. Cosa possono fare questi nodi? Comunicano. Trasmettono informazioni sulle transazioni e sui blocchi della sua rete distribuita di computer con il protocollo peer-to-peer di Bitcoin. Occhio: esistono tipologie diverse di nodi Bitcoin.

Full Nodes

I full nodes sono quei nodi che in maniera concreta danno sicurezza a Bitcoin e sostengono la sua struttura: sono indispensabili per il funzionamento di tutta la rete. Forse li hai già letti da qualche parte e li hai visti chiamati full validating nodes: li chiamano così perché partecipano al processo di verifica delle transazioni e dei blocchi secondo le regole che sono state imposte dal consenso del sistema. I full nodes possono trasmettere nuove transazioni e nuovi blocchi alla blockchain.

Normalmente un full node deve scaricare una copia di tutta la blockchain, con tutti i suoi blocchi e le sue transazioni (anche se non è un requisito necessario per poter essere considerato un full node – si può scaricare anche una sola parte della blockchain).
Un full node Bitcoin può essere messo in piedi seguendo tante e diverse implementazioni software, dove la più conosciuta di tutte si chiama Bitcoin Core (qui il link per il suo github). Non è per tutti! Qui a seguire i requisiti minimi, ma minimi minimi per poter essere un full node Bitcoin Core:

  • Desktop o laptop con una versione recente di Windows, Mac OS X o Linux.
  • 200GB di spazio libero sul disco.
  • 2GB di memoria (RAM).
  • Connessione a internet ad alta velocità con upload di almeno 50 kB/s.
  • Connessione illimitata o con alti limiti per l’upload. O fai in modo che nel tuo piano tariffario, se fai hotspot, siano compresi 200 giga al mese in upload e 20 in downlaod.
  • Il full node deve poter lavorare per almeno un quarto del giorno (6 ore) ma è molto apprezzato che resti sempre attivo, 24 ore su 24.

Migliaia di diversi volontasri e anche delle organizzazioni si danno da fare per essere dei full node e poter così aiutare l’ecosistema Bitcoin. Ad oggi (maggio 2021) contiamo 9615 nodi pubblici attivi nel network di Bitcoin. E parliamo solo di nodi pubblici, ovvero i nodi Bitcoin visibili e accessibili – che vengono anche chiamati listening nodes

Riassunto dei nodi pubblici della rete Bitcoin

Ebbene sì Sherlock, esistono anche i non-listening nodes, nodi nascosti e invisibili. Questi si nascondono dietro ad un firewall per operare, utilizzando protocolli di privacy come Tor, oppure, ancora più semplice e sicuro, non sono configurati per ricevere connessioni.

Listening Nodes (Super Nodes)

Un listening node o super node è un full node visibile pubblicamente: esso comunica con gli altri nodi che vogliono parlare con lui e scambia informazioni. Così utilizzato il super node è sia un communication bridge che una fonte di dati: un super node è un punto di ridistribuzione.

Se vuoi essere un super node affidabile, devi essere attivo sempre, 24 re su 24, così da poter trasmettere una marea di connessioni: va documentata la storia della blockchain, vanno registrate tutte le transazioni con i loro dati su tutti i nodi in tutto il mondo. Va da sè che è ancora per meno persone: la potenza di calcolo richiesta, oltre che una migliore connessione ad internet, sono necessari..

Miner Nodes

È passato il tempo del mining. Non metterti a minare. Oggi come oggi, per poter partecipare competitivamente al processo di mining di Bitcoin è indispensabile investire in programmi e hardware specializzati, che vengono eseguiti in parallelo del Bitcoin Core per cercare di minare blocchi. Un miner, ovveor una persona che si attrezza di questi potenti computer, può decidere di lavorare da solo (solo miner) o in gruppi (pool miner). 

Mentre i lupi solitari, i solo miner che hanno chiesto alla nonna di poter usare per un po’ la cantina per fare delle robe coi computer, mentre loro fanno uso della propria copia scaricata in locale della blockchain, coloro che minano in pool, in piscine di minatori, beh loro lavorano proprio assieme, e ciascuno contribuendo con le proprie risorse (hashpower). In una mining pool è competenza solamente dell’amministratore della pool mantenere un full node: egli è un pool miner full node.

Client Lightweight o SPV

Conosciuti anche come client Simplified Payment Verification (SPV), i client lightweight utilizzano il network di Bitcoin ma non agiscono da full node. I client SPV non contribuiscono quindi alla sicurezza del network: non è loro richiesto di avere una copia della blockchain, e non vengono mai interpellati nel processo di verifica e convalida delle transazioni.

Il client SPV ha una funzione fondamentale: permette a un qualsias utente di controllare se alcune transazioni sono state incluse o meno in un blocco, senza dover scaricare tutti i dati del blocco. Come fanno a farlo? Richiedono alcune informazioni ad altri full node (super nodes). I client lightweight agiscono da communication endpoint e vengono utilizzati da diversi wallet (portafogli) per conservare criptovalute.

Client vs Mining Nodes

È importante sottolineare che mantenere un full node è molto diverso da mantenere un full mining node. Mentre i miner devono investire denaro e risorse per comperare e utilizzare hardware e software altamente costosi (ricordiamo quanto ci si lamenta della corrente elettrica utilizzata per minare bitcoin), chiunque può mantenere un full validating node. Anzi, senza il full validating node, il miner non può fare niente: prima di provare a minare un blocco un miner deve ricevere l’ok da un full node, che certifica e valida le transazioni in attesa. Ecco che allora il miner può creare un blocco che si è candidato per ospitare quelle informazioni (con un gruppo di transazioni) e cerca di minare il blocco. Ecco che la blockchain sta per essere nuovamente aggiornata: se il miner riesce a trovare una soluzione valida per il blocco ora può essere trasmessa al resto dela blockchain e i full node ne verificano la validità. In ultima, le regole di consenso sono determinate e garantite dal network distribuito di validating nodes, non dai miner.

Conclusione

I nodi Bitcoin sono in comunicazione tra di loro attraverso il protocollo di rete P2P Bitcoin e comunicando costamentemente tra di loro garantiscono l’integrità del sistema. Se dovesse esserci un nodo che non si comporta bene, che agisce in modo disonesto, che fa il birichino, che cerca di propagare informazioni errate? Nelle blockchain le informazioni corrono: quel nodo viene riconosciuto rapidamente dai nodi onesti e viene prontamente scollegato dal network.

Quanto posso guadagnare mantenendo un full validating node??’?

Un cazoo! Non vengono offerte ricompense economiche: è determinato dalla fiducia degli utenti, fornisce pace d’animo, sicurezza, privacy agli utenti. I full node sono dei veri e propri arbitri del gioco: certificano che le regole vengano seguite. Proteggono la blockchain da attacchi e frodi (come il double-spending) e non devono fidarsi di nessun altro.