full node

Introduzione

Lasciatemi spiegare rapidamente che un full node Bitcoin è solamente un pezzo di software (Bitcoin Core) che svolge alcuni compiti importanti…

  • Conserva una copia della blockchain (una delle tante copie)
  • Si connette con altri nodi, formando una rete di comunicazione che propaga le transazioni (le transazioni sono conservate in un “mempool”, la coda di transazioni in attesa di essere incluse nella blockchain)
  • Controlla che tutte le transazioni aggiunte alla blockchain siano valide e rifiuta quelle che non sono valide.
  • Fornisce dettagli sulla blockchain (come i saldi) ad altri tipi di software che lo richiedono (ad esempio i wallet)
  • Fornisci una copia della blockchain a qualsiasi nuovo nodo che voglia unirsi alla rete. Il nuovo nodo quindi controlla in modo indipendente che ogni transazione nella copia che riceve sia valida.

Come installare un full node Bitcoin

Per eseguire un full node, devi scaricare il software Bitcoin Core e poi lasciare che scarichi la blockchain da un altro nodo e il tuo nodo verificherà ogni blocco da solo. A quel punto lo lascerai attivo e verranno ricevuti nuovi blocchi (contenenti transazioni) circa ogni 10 minuti e il tuo nodo controllerà se il nuovo blocco è valido e, in tal caso, lo aggiungerà alla sua copia della blockchain.

Un blocco sospetto viene rifiutato, non perché tutti gli altri lo rifiutano, e non perché tutti copiano il proprio vicino, ma perché il blocco non è valido secondo le regole contenute nel software Bitcoin Core. Dunque, anche tutti gli altri che utilizzano lo stesso software lo rifiuteranno quel blocco sospetto.

Il tuo wallet Bitcoin non conserva una copia della blockchain e di solito è separato da Bitcoin Core (sebbene Bitcoin Core abbia una funzionalità di wallet). Il tuo wallet infatti contiene solo le tue chiavi. Deve chiedere a un full node: “Ehi signor nodo, questo mio indirizzo contiene bitcoin?” — tecnicamente non è del tutto esatto, ma per ora è sufficiente.

Gestire il tuo nodo significa non chiedere ad altre persone cosa sta facendo la loro copia di Bitcoin Core. È la tua copia di Bitcoin Core e non devi fidarti di altre persone. Il tuo wallet può chiedere la TUA copia della blockchain di Bitcoin (realizzare la connessione digitale tra il tuo wallet e il nodo è la parte tecnicamente impegnativa e critica, non solo far funzionare il nodo).

Quindi, fatto questa introduzione, ora spieghiamo perché è importante gestire il proprio nodo:

1 – Privacy: Evita sorveglianza indesiderata

Quando il tuo wallet ti dice il tuo saldo, chiede a un nodo Bitcoin pubblico CASUALE quale saldo contiene ciascuno dei tuoi indirizzi e ti fornisce i risultati e vedi il tuo bitcoin totale in quel wallet. Anche gli indirizzi vuoti che non hai utilizzato vengono interrogati. Le società di sorveglianza gestiscono alcuni di questi nodi. “Che diavolo?” – Si è vero.

Stai comunicando a un’entità casuale, possibilmente una società di sorveglianza, il tuo indirizzo IP (che può essere utilizzato per identificarti), e che hai un wallet Bitcoin, e TUTTI i tuoi indirizzi attuali e futuri, e tutti i saldi di tutti quegli indirizzi, ora e dopo. Fornire queste informazioni alle società di sorveglianza è pericoloso per molte ragioni.

2 – Sicurezza: Previeni potenziali truffe sul tuo full node

Quando vendi qualcosa, l’acquirente (sofisticato tecnicamente) può potenzialmente manipolare il nodo a cui si connette il tuo wallet. Possono inviarti bitcoin contraffatti e il tuo wallet penserà di aver ricevuto bitcoin reali perché il nodo corrotto ha mentito al tuo wallet. Certo, questo è molto improbabile, ma il fatto che sia possibile prevenirlo gestendo un full node rende lo sviluppo di questo tipo di attacco non interessante o fruttuoso. Cosa succede realmente con questo attacco? Il truffatore in qualche modo fa sì che il tuo wallet Bitcoin legga la blockchain sbagliata da un nodo dannoso. Sposta i presunti bitcoin su QUELLA blockchain, non su quella vera, e il tuo wallet pensa che tu sia stato pagato.

Se vieni truffato in questo modo, potresti accettare questa contraffazione come pagamento finale e inviare merci in cambio di questi bitcoin falsi. Un giorno, quando ti connetti a un vero nodo Bitcoin, il tuo wallet mostrerà che in realtà non hai mai ricevuto bitcoin; Il tuo saldo sarà inferiore a quello che pensavi dovesse essere, perché il trasferimento falso non è mai esistito sulla vera blockchain Bitcoin.

Puoi evitarlo collegando il tuo wallet a un nodo di cui ti fidi, ma ancora meglio è connetterti al tuo nodo. Don’t tust, verify. Questo è il mantra del Bitcoiner.

Non farlo è un po’ come accettare l’oro come pagamento e chiedere a una persona a caso di utilizzare il proprio analizzatore per verificare che l’oro ricevuto sia reale. Non sai se quella persona a caso è dalla parte dell’acquirente o è onesta.

Potresti chiedere: “Nessuna fiducia? Aspetta, non mi fido di Bitcoin Core quando lo scarico? Come faccio a sapere che non è falso?” – Sì e no. Esistono modi per verificare che il software scaricato sia autentico, ma questo non lo vediamo in questo articolo.

Potresti quindi chiedere: “Non ho fiducia negli sviluppatori che la copia autentica si comporti come mi aspetto?” — In realtà sì, a meno che tu non scriva il software da solo o non legga il codice, ci deve essere un certo livello di fiducia, ma l’idea è di mantenerlo al minimo (solo dire cio’ potrebbe mettermi nei guai con la mafia di Bitcoin, shhh). La maggior parte delle persone (me compreso) non possono e non vogliono leggere il codice, quindi esiste un certo elemento di fiducia. La certezza è che centinaia, forse migliaia di sviluppatori esaminano il codice alla ricerca di errori e problemi prima che venga rilasciato. Non è facile apportare modifiche a Bitcoin Core e questa è una funzionalità, non un bug. Usando l’analogia dell’analizzatore dell’oro, probabilmente non ne costruirai uno da zero per verificare che il tuo oro sia reale, e va bene.

3 – Autonomia: Resistenza alle modifiche

Se un gruppo di persone si unisse, come ha fatto nel 2017, e decidesse di provare a cambiare le regole di funzionamento di Bitcoin, ad esempio aumentando la dimensione del blocco (o peggio aumentando l’offerta), puoi scegliere di non aggiornare il tuo nodo al nuovo sistema e mantenere il tuo nodo attuale. Se sei più di una minoranza, ci sarà un gruppo di persone che gestiscono il Bitcoin Core invariato e un gruppo di persone che gestiscono la versione modificata: un fork. Ecco come è nato Bitcoin Cash. La nuova versione è stata respinta all’unanimità, ma coloro che hanno perso la guerra hanno continuato a gestire i propri nodi e anche a minare bitcoin. Coloro che possedevano bitcoin possedevano anche bitcoin cash. Per un dato indirizzo, c’era un saldo sulla blockchain Bitcoin, e un saldo sulla blockchain Bitcoin Cash.

Se non avessi gestito il tuo nodo, non avresti avuto voce in capitolo in questa guerra, e il tuo wallet potrebbe essersi connesso ad un nodo di Bitcoin Cash e qualcuno potrebbe averti pagato in Bitcoin Cash invece che in Bitcoin. Potresti quindi aver rinunciato ai tuoi beni in cambio di monete che non soddisfacevano la politica monetaria da te preferita.

4 – Robustezza: Contribuisci alla rete

Se gestisci un full node e lo lasci acceso 24 ore al giorno, questo aiuta la rete. Più nodi sono in esecuzione, più velocemente le transazioni possono propagarsi per tutti e più difficile sarà chiudere Bitcoin: per uccidere Bitcoin, ogni singola copia della blockchain deve essere distrutta.

5 – Condivisione: Diventa full node umano

Se impari a gestire il tuo nodo, allora anche TU diventi una sorta di nodo umano, perché un giorno potresti aiutare qualcun altro a gestire e utilizzare il proprio nodo.

In futuro, potrebbe essere troppo impegnativo per TUTTI gestire il proprio nodo. Non vogliamo che le persone si fidino dei nodi casuali. Immagino che ci sarà una persona tecnica in ogni “circolo di fiducia” sociale a cui le persone potranno collegare i propri wallet. Questo piccolo compromesso è molto meglio che connettersi a nodi Bitcoin pubblici casuali.

6 – Apprezzamento: Capire a pieno il potere di Bitcoin

Gestire il tuo nodo è fantastico e ti fa apprezzare molto il potere di Bitcoin. Probabilmente finirai per comprarne di più.

Conclusione:

Si spera che ora sia chiaro che dovresti eseguire un node. Ci sono vari modi.

Ecco alcune opzioni e guide che ho scritto per aiutarti:

Raspberry Pi, MyNode

Raspberry Pi, RaspiBlitz

Bitcoin Core ed EPS + Wallet Electrum, su un Raspberry Pi

Bitcoin Core su Mac OS, con EPS e portafoglio desktop Electrum

Gestisci un nodo Bitcoin con Windows e VirtualBox/Linux

Collega il wallet desktop Electrum al tuo nodo Bitcoin (con video)


Questo articolo e’ stato tradotto dall’originale di Parman