E' un software che si connette alla rete peer-to-peer bitcoin per ricevere, trasmettere e convalidare nuove transazioni in base alle regole di rete.
Traduzione a cura di @Wastedtime dall'originale di Ted Stevenot - pubblicato il 24 mag 2022
La maggior parte delle persone è consapevole del fatto che bitcoin non ha un regolatore ma ha delle regole. Il rispetto di queste regole è importante per tutti coloro che possiedono bitcoin. Ma senza un'autorità centrale, come vengono applicate le regole di bitcoin? La risposta è attraverso una rete di migliaia di nodi gestiti da singoli utenti in tutto il mondo.
Cos’è un nodo bitcoin?
Un nodo bitcoin è un software che si connette alla rete peer-to-peer. I nodi ricevono, trasmettono e convalidano nuove transazioni in base alle regole di rete. Capire cosa fa e come funziona un nodo bitcoin inizia con la comprensione dei due elementi costitutivi più essenziali : il ledger (libro mastro) e il set delle regole.
• Il ledger è un database distribuito: potete pensarlo come simile a un foglio di calcolo utilizzato per un registro contabile. Il ledger contiene una registrazione di ogni transazione bitcoin eseguita fin dalla sua nascita e tiene traccia di chi (es.: quali indirizzi di un portafoglio) possiede quali e quanti bitcoin. Questo registro pubblico condiviso è comunemente noto come bitcoin blockchain.
• Il set delle regole, stabilito dal consenso degli utenti bitcoin e incorporato nel codice, è una raccolta di regole che definiscono proprietà e processi specifici di bitcoin. Il set delle regole determina come convalidare transazioni e blocchi, come controllare le firme, se bitcoin viene speso, se un nuovo blocco si basa correttamente sul blocco precedente, quanta proof-of-work (prova di lavoro) è necessaria per produrre un blocco, ecc.
Un nodo viene in genere eseguito su un personal computer o un computer dedicato economico come un Raspberry Pi. È anche possibile eseguire un nodo bitcoin su hardware a bassa potenza come uno smartphone o su hardware remoto come un server cloud, ma questo di solito non è raccomandato.
La versione più popolare del software del nodo bitcoin è Bitcoin Core, disponibile come download gratuito.
Cosa fanno i nodi Bitcoin?
Quando una nuova transazione bitcoin viene creata e firmata, viene trasmessa ai nodi della rete. I nodi esaminano immediatamente la transazione per valutare se è valida o meno prima di inoltrarla ad altri nodi.
I nodi tenteranno di rispondere alle seguenti domande:
• Il mittente (cioè l'indirizzo del portafoglio) ha i bitcoin che sta tentando di spendere?
• Ci sono bitcoin che vengono spesi due volte?
• La transazione è stata adeguatamente autorizzata e firmata?
• La costruzione della transazione è conforme all'attuale set di regole bitcoin?
Ogni nodo esegue in modo indipendente i controlli di convalida su ogni transazione in sospeso che riceve in base al set di regole. Il processo è...
• Verificabile: chiunque può eseguire un nodo e ogni nodo deve verificare ogni transazione.
• Ridondante: ogni nodo della rete ripete lo stesso lavoro, assicurandosi che ogni transazione sia conforme al set di regole.
• Sicuro: i nodi confrontano e verificano le impronte crittografiche univoche che proteggono i dati della blockchain bitcoin, la cronologia delle transazioni precedenti e i saldi degli indirizzi del portafoglio.
La genesi completa di una transazione è disponibile (in italiano) a questo indirizzo.
La ridondanza incorporata nella trasmissione e nella convalida di blocchi e transazioni tra nodi aumenta il costo necessario per ingannare qualsiasi nodo o gruppo di nodi facendogli accettare informazioni non valide. Ciò riduce rischi quali...
• Attacchi Eclipse in cui un utente malintenzionato crea un falso ambiente attorno a un nodo mirato per manipolarlo per agire (o non agire) in una determinata maniera. Abilitando le connessioni attraverso una vasta gamma di peer indipendenti, la rete di bitcoin limita la possibilità che un nodo venga ingannato dal fatto che tutte le sue connessioni in entrata siano illegittime.
Attacchi DDOS (Distributed Denial of Service) in cui un utente malintenzionato inonda una rete o un server con un volume elevato di traffico inutile, tentando di impedirne il funzionamento o negare l'accesso a utenti legittimi. La rete ampiamente distribuita di nodi affidabili e di convalida indipendente di Bitcoin rende impraticabile il tentativo di sopraffarlo e paralizzarlo attraverso tali mezzi.
Nodi, miners e transazioni in sospeso
Comprendere il ruolo dei nodi richiede anche una conoscenza di base del mining di bitcoin, poiché i due lavorano in simbiosi. Le transazioni in sospeso che non sono state ancora aggiunte alla blockchain vengono trasmesse ai miner che le raccolgono e le aggiungono a un modello di blocco che include un elenco di transazioni in sospeso.
Da lì, il minatore che vince “la gara” del Proof-of-work (PoW) trasmette il nuovo blocco alla rete. Anche da questo punto, il processo di verifica continua mentre i nodi controllano il blocco assemblato dal miner per confermarne ulteriormente la validità. I minatori devono seguire rigorosamente le regole quando assemblano le transazioni in blocchi. In caso contrario, i nodi rifiutano il blocco durante la convalida e il minatore perde il pagamento del sussidio di blocco e tutte le commissioni di transazione che sta tentando di riscuotere.
Un nuovo blocco di transazioni viene aggiunto al libro mastro di bitcoin da un miner in media ogni dieci minuti. Quando un nuovo blocco viene aggiunto al libro mastro, viene crittograficamente collegato al blocco precedente. Insieme, questi blocchi collegati formano la catena lineare di blocchi che è la blockchain. Nel tempo, man mano che nuovi blocchi vengono aggiunti alla blockchain, le sue dimensioni aumentano. La dimensione totale della blockchain può aumentare il carico sui nodi bitcoin, come esploreremo nella prossima sezione.
Full Nodes: Nodi “Archival” vs. Nodi “Pruned”
Un full node è un software che include una copia completa della blockchain bitcoin e del set di regole; può verificare le transazioni nell'intera cronologia di bitcoin. Esistono due tipi di nodi completi: nodi “archival” e nodi “pruned”.
Un nodo “archival”, a volte chiamato anche "nodo di ascolto", è un nodo completo che contiene il record storico completo della blockchain che risale al primo bitcoin estratto da Satoshi Nakamoto nel blocco di genesi. Queste informazioni vengono archiviate localmente e condivise con altri nodi che devono accedervi.
La sfida con un full node “archival” è che più grande diventa la blockchain, più diventa difficile o costoso per le persone scaricarne e archiviarne una copia completa. Oggi, la blockchain di bitcoin si avvicina alle dimensioni di 400 GB e cresce continuamente man mano che i blocchi vengono estratti. Per aiutare a gestire le dimensioni dei file e rendere più accessibili i nodi in esecuzione, i nodi medesimi possono essere eseguiti con una copia completa o “pruned” del libro mastro di bitcoin.
Un nodo “pruned” è un nodo completo che taglia la blockchain a un certo punto e sostituisce la cronologia dettagliata delle transazioni prima del taglio con blocchi compattati che richiedono meno dati.
Ridurre le dimensioni di un nodo (“Pruning”) non limita la sua capacità di eseguire convalide: mantiene questa capacità sfruttando il modo in cui i blocchi sono collegati crittograficamente tra loro. Anche se i nodi “pruned” non conservano tutti i dati oltre i dati compattati, sono considerati degni di fiducia perché possono verificare tutti i dati della blockchain fin dall'inizio.
I blocchi compattati in un nodo “pruned” sono "hash" dei dati sottostanti che riepilogano. A causa delle loro dimensioni ridotte, i blocchi compattati riducono lo spazio necessario per far funzionare un nodo “pruned”. Tali blocchi sono affidabili per la verifica perché se i dati di input dovessero essere modificati in qualsiasi modo, altererebbero drasticamente l'hash di riepilogo e verrebbero immediatamente rilevati dagli altri nodi.
Uno svantaggio di un nodo “pruned” è che non può condividere l'intera blockchain con altri nodi completi, né ha accesso ai dati storici per la ricerca (consigliato per l'esecuzione di un nodo Lightning, ad esempio). I nodi “pruned” che richiedono questi dati devono ottenerli da un nodo completo di archiviazione che contiene la cronologia completa delle transazioni.
Un tutorial (in italiano) per installare un nodo bitcoin su un hardware di tua proprietà, è disponibile a questo indirizzo.
Qual è la differenza tra un nodo completo e un "Light Wallet"?
Un "light wallet", chiamato anche "thin client", "light client" o "light node" (sebbene non sia realmente un nodo), non contiene una copia del libro mastro di bitcoin e non può convalidare le transazioni nello stesso modo in cui può farlo un nodo completo.
I "light wallet" si basano su nodi bitcoin completi gestiti da terze parti per ottenere i loro dati blockchain. Ciò significa che l'utente di un "light wallet" deve fidarsi dell'entità che esegue il nodo a cui è connesso il portafoglio.
La stragrande maggioranza dei "light wallet" utilizza la verifica semplificata dei pagamenti (SPV), una tecnica descritta per la prima volta nel white paper di bitcoin, per ridurre al minimo la fiducia richiesta durante la convalida delle transazioni ricevute. Durante la convalida delle transazioni, SPV verifica i riepiloghi dei blocchi e allo stesso tempo applica un sottoinsieme del set delle regole di bitcoin. Tuttavia, SPV non elimina tutta la fiducia richiesta. Come ha scritto Satoshi nel whitepaper, SPV è "affidabile fintanto che i nodi onesti controllano la rete". In caso di dubbio, l'esecuzione di un proprio nodo offre una soluzione al problema.
I "light wallet" sono comuni e utilizzati dalla maggior parte degli utenti di bitcoin; se usate BlueWallet, Trezor Suite o Ledger Live e non eseguite un vostro nodo, allora state usando un "light wallet". Delegare l'archiviazione della blockchain e l'indicizzazione a terzi semplifica l'installazione dei "light wallet" che richiedono quindi uno spazio di archiviazione e una larghezza di banda minimi e si sincronizzano molto rapidamente.
I "light wallet" comportano un compromesso sulla privacy poiché i dati personali come gli indirizzi IP, gli indirizzi dei portafogli e la cronologia delle transazioni devono essere condivisi con terze parti. Ci sono alcune eccezioni in fase di sviluppo, come i "light wallet" Neutrino progettati per Lightning Network che ottengono livelli di privacy più elevati.
Qual è la differenza tra un nodo bitcoin e un miner?
Un nodo bitcoin non è la stessa cosa di un miner. I nodi sono i messaggeri e i detentori delle regole di bitcoin, mentre i miner sono gli scrivani. A differenza dei nodi, i miner eseguono l'algoritmo di proof-of-work che richiede un’alta intensità di calcolo. I miner si affidano ai nodi per conoscere le nuove transazioni e per verificare e trasmettere i blocchi che assemblano.
Poiché i nodi non partecipano al processo di mining, non richiedono la stessa quantità di energia o potenza di calcolo richiesta invece ai miner. La “Proof-Of-Work” è difficile e costosa da calcolare, ma economica e facile da verificare. Sebbene i nodi svolgano un ruolo chiave nella convalida e nell'inoltro di informazioni su transazioni nuove e in sospeso, non possiedono mezzi per aggiungere nuove transazioni alla blockchain bitcoin.
Perché dovreste eseguire un nodo bitcoin?
Dopo aver appreso di più sui nodi e su cosa fanno, potreste chiedervi se c'è qualche motivo per cui dovreste eseguirne uno. Ci sono molti vantaggi nell'esecuzione di un nodo, ma ci sono anche alcuni costi. Dovrete valutare i vantaggi e gli svantaggi per decidere se l'esecuzione di un nodo ha senso per voi.
Vantaggi personali: privacy e verifica indipendente
L'esecuzione di un nodo può aiutarvi ad aumentare la vostra privacy. Eseguendo un nodo, potete trasmettere e verificare le vostre transazioni bitcoin e cercare informazioni sulla blockchain bitcoin senza bisogno di una terza parte. Potete verificare direttamente l'autenticità di qualsiasi bitcoin che ricevete sul vostro portafoglio.
Quando utilizzate una terza parte per tali attività, il vostro indirizzo IP viene condiviso e potrebbe essere possibile per un utente malintenzionato determinare la vostra posizione fisica, collegare le vostre informazioni personali alla cronologia delle transazioni e scoprire ulteriori informazioni su di voi e sulle persone con cui effettuate delle transazioni. Eseguendo il vostro nodo, riducete al minimo questo tipo di esposizione.
L'esecuzione di un nodo migliora anche la vostra conoscenza generale dell'informatica, del bitcoin e della sua blockchain. La conoscenza e l'esperienza che guadagnate dall'esecuzione di un nodo, possono aiutarvi ad aumentare l'utilità che deriva dall’uso di bitcoin e consentirvi di aiutare gli altri a fare lo stesso.
L'esecuzione di un nodo supporta la rete bitcoin
L'esecuzione del proprio nodo aiuta a inoltrare e convalidare transazioni e blocchi, il che aiuta la rete bitcoin a rimanere aggiornata e a funzionare in modo ottimale. Se eseguite un nodo completo, aiutate la rete condividendo le informazioni richieste per il download del blocco iniziale (IBD), senza le quali i nuovi nodi non sarebbero in grado di scaricare la blockchain e verificare lo stato corrente della rete.
Inoltre, poiché l'esecuzione di un nodo memorizza la blockchain e applica il set di regole nella vostra posizione fisica, aiutate a supportare la rete bitcoin contribuendo al suo decentramento.
Vi aiuta anche a proteggere il vostro investimento in bitcoin consentendovi di partecipare al processo di consenso per il set di regole di bitcoin. Eseguendo un nodo, potete svolgere un ruolo nel decidere se gli aggiornamenti, come Taproot o Covenant, devono essere abilitati sulla rete. La continua applicazione del set di regole da parte del vostro nodo aiuta anche a garantire che le proprietà uniche di bitcoin, come il suo limite di fornitura di 21 milioni di bitcoin, rimangano intatte.
I (piccoli) costi di esecuzione di un nodo
Nella maggior parte dei casi, la spesa totale per l'esecuzione di un nodo è minima, ma l'esecuzione di un nodo comporta alcuni costi:
• Hardware: è possibile eseguire un nodo bitcoin su un vecchio laptop o un computer economico come un Raspberry Pi (disponibile per meno di $ 150). Tuttavia, tenete presente che l'hardware a bassa potenza può allungare i tempi di sincronizzazione iniziale ed essere insufficiente per attività più impegnative come l'esecuzione di un server Electrum. Se eseguite un nodo bitcoin sul vostro PC di casa, dovrete lasciare la macchina sempre accesa, il che non è sempre auspicabile poiché Bitcoin Core può essere piuttosto impegnativo per il vostro dispositivo. Molti utenti bitcoin preferiscono eseguire il proprio nodo su un dispositivo autonomo dedicato come un Raspberry Pi.
• Archiviazione: se prevedete di archiviare l'intera blockchain sul vostro nodo completo, avrete bisogno di un disco rigido da almeno 500 GB, anche se potete cavarvela con molto meno per un nodo “pruned”. Si consiglia vivamente di utilizzare un SSD per evitare problemi di sincronizzazione.
• Energia: sebbene non sia neanche lontanamente necessaria la quantità di elettricità richiesta ad un miner bitcoin, l'esecuzione di un nodo richiede energia: normalmente è meglio lasciare in esecuzione l'hardware del vostro nodo 24 ore su 24, 7 giorni su 7.
• Larghezza di banda Internet: l'esecuzione di un nodo bitcoin con le impostazioni predefinite può consumare molta larghezza di banda, fino a diverse centinaia di gigabyte al mese. Tuttavia, è possibile limitarlo tramite le impostazioni della larghezza di banda nell'applicazione del nodo bitcoin.
Italian Satoshi
Una selezione di articoli dai protagonisti del mondo bitcoin, tradotti in italiano.
follow me :
Related Posts
11 imperativi per difendere i vostri bitcoin dai moderni truffatori
Aug 02, 2024
Salvare le chiavi private nel DNA: Bitcoin come informazione
Jun 28, 2024
Lightning è il linguaggio comune dell'economia Bitcoin
Jun 21, 2024