Full Node
nodo completo
Full Node
nodo completo
Difficoltà: base
Argomento: tecnologia
DEFINIZIONE
I Full Node sono nodi che scaricano l'intera cronologia di una blockchain e la tengono aggiornata con i nuovi blocchi.
Un full node aiuta il funzionamento della rete peer to peer, scaricando dagli altri nodi transazioni e blocchi, effettuandone la verifica e inoltrandoli a ulteriori nodi della rete.
La maggior parte dei full node offrono i propri servizi ai lightweight client consentendo loro di trasmettere le proprie transazioni alla rete e avvisandoli quando una transazione influisce sul loro portafoglio. Se i nodi che eseguono questa funzione non sono sufficienti, i client non saranno in grado di connettersi tramite la rete peer-to-peer e dovranno invece utilizzare servizi centralizzati.
Un full node mantiene e aggiorna le seguenti informazioni:
- chain state: il chain state, o stato della chain, contiene le informazioni relative agli utxo, o utxo set
- blocks db: reppresenta il database che memorizza tutti i blocchi della block chain
- mempool: la mempool, l'area temporanea di transito delle transazioni non confermate attraverso la quale le transazioni vengono propagate ai nodi prima di essere inserite nella block chain
Il nodo ha comunicazioni:
- inbound: o in ingresso, il nodo accetta connessioni in ingresso che vengono iniziate da nodi esterni per collegarsi al nodo; un nodo può avere fino a 117 connessioni inbound
-
oubound: o in uscita: le connessioni outbound vengono iniziate dal full node per collegarsi ai nodi esterni. Un nodo stabilisce 8 connessioni outbound
-
Banlist: il nodo mantiene una lista di nodi ai quali proibisce di avere delle connessioni, spesso a causa di comportamenti sospetti o violazione del protocollo.
- Whitelist: la lista di nodi che ricevono permessi speciali
Un full node comunica con il mondo esterno attraverso i seguenti protocolli di comunicazione:
- RPC: Remote procedure call, è il protocollo che consente al software locale di comunicare con il full node
- http: il protocollo http, quello nato per il web, fornisce una interfaccia che consente agli utenti di interagire con il nodo tramite un browser web
- ZMQ: ZeroMQ è una libreria di messaggi asincroni, spesso utilizzata per avere notifiche su transazioni e blocchi
Esistono diverse implementazioni software del full node, tra questi:
- Bitcoin Core considerato l'implementazione che attualmente rappresenta lo standard de facto per Bitcoin
- Bitcoin Knots
- Libbitcoin
- nix-bitcoin
- btcd
- Vedi anche
- Bitcoin Core
- Block Blocco
- Blockchain Catena di blocchi
- Node Nodo
aggiornato il 2021-10-21