- Torna al menu
- Torna al menuPrezzi
- Torna al menuRicerca
- Torna al menuConsenso
- Torna al menu
- Torna al menu
- Torna al menu
- Torna al menuWebinar ed Eventi
Come salvare la rete di nodi di Bitcoin dalla centralizzazione
Jameson Lopp di BitGo LOOKS i motivi per cui il numero di nodi Bitcoin sulla rete sta diminuendo e discute su cosa potrebbe invertire la tendenza.
La decentralizzazione è, direi, la proprietà più importante della rete Bitcoin . Senza di essa, molte altre proprietà di bitcoin, come la sua capacità di facilitare le transazioni senza una terza parte o di fornire una piattaforma senza autorizzazione per l'innovazione, sarebbero compromesse.
Sono molti gli aspetti che contribuiscono alla decentralizzazione di Bitcoin, il più importante dei quali è la rete di nodi che compongono l'infrastruttura di Bitcoin, conservando copie della blockchain e condividendo i dati dei blocchi e delle transazioni attraverso la rete.
E tuttavia, nonostante la loro importanza, il numero dinodiè in calo da anni, probabilmente centralizzando la rete.

Sono statoscrivere sul declinonei conteggi dei nodi per un paio d'anni e ho monitorato i miei nodi con ilStatoshi software che ho rilasciato nel 2014. Poiché le prestazioni dei nodi e della rete Bitcoin in generale sono diventati un argomento HOT negli ultimi dibattiti sulla scalabilitàSpero di far luce su alcuni punti che T hanno ricevuto molta attenzione.
Nei primi giorni di Bitcoin, l'unico modo per partecipare alla rete era eseguire un nodo completo. Nel corso degli anni, l'ecosistema è prosperato e ora ci sono molte opzioni di portafoglio tra cui gli utenti possono scegliere. La maggior parte dei portafogli odierni sono client leggeri che interrogano i nodi completi per i dati, oppure sono ospitati da terze parti e quindi non richiedono all'utente di eseguire un nodo completo.
Di conseguenza, la maggior parte dei nuovi utenti sta optando per non eseguire un nodo completo, mentre alcuni operatori di nodi esistenti hanno scelto di chiudere i propri. Di quanti nodi ha realmente bisogno Bitcoin ?
A seconda della prospettiva, potresti giungere a diverse conclusioni:
- ONE: poiché Bitcoin non ha fiducia, l'unico nodo che conta è quello che gestisci.
- Centinaia: ovvero abbastanza da rendere impossibile per una singola entità chiudere una parte significativa della rete a causa della diversità geografica e giurisdizionale.
- Migliaia: o abbastanza per supportare l'elevata domanda di slot di connessione da parte dei client SPV. I client SPV non sono necessariamente solo portafogli, ma possono anche essere app peer-to-peer comeFaro.
All'estremo opposto dello spettro, non possiamo mai avere troppi nodi o decentralizzare troppo la rete. Detto questo, come dovremmo reagire al fatto che meno dell'1% degli utenti Bitcoin gestisce un nodo completo?
Quando qualche anno fa chiesi a Pieter Wuille, sviluppatore di Bitcoin CORE , dell'importanza del numero di nodi, lui rispose:
"Quello che fanno i nodi completi è assicurarsi che la rete sia onesta. E non è tanto una questione di quanti ce ne siano, quanto piuttosto di quanto sia difficile gestirne ONE."
Pieter è ONE degli sviluppatori Bitcoin più prolifici in termini di codice e funzionalità aggiunte al protocollo; sa di cosa parla. Pieter è anche l'autore di Testimone segregato, che ci auguriamo ci fornisca un percorso per implementare varie soluzioni di scalabilità per Bitcoin.
Poiché Bitcoin è diventato così popolare che stiamo raggiungendo il limite massimo di 1 MB per le dimensioni dei blocchi, c'è molta controversia su come possiamo ampliare la rete per supportare più utenti senza influire negativamente sulla decentralizzazione di Bitcoin.
Dibattito sulla dimensione del blocco
ONE argomento che emerge spesso durante il dibattito sulla dimensione dei blocchi è basato sul costo di gestione di un nodo. Esiste una teoria secondo cui costi più elevati (come requisiti di risorse computazionali aggiuntivi per convalidare e trasmettere blocchi più grandi) si tradurranno in meno nodi e viceversa.
Lo sviluppatore Paul Sztorc ha introdotto il concetto di CONOP (costo dell'opzione nodo) nel suo eccellente post,Misurare la decentralizzazione. Sostiene che costi più bassi dovrebbero portare più persone a intraprendere azioni che siano vantaggiose per loro. Questo argomento ha senso per me se si suppone che T ci siano più variabili in gioco oltre al costo di gestione di un nodo.
Più avanti in questo post discuteremo di altri fattori che probabilmente influenzano il CONOP.
Dopo aver osservato e partecipato ai dibattiti sulla scalabilità nell'ultimo anno, mi ritrovo continuamente a tornare allo stesso problema:non ci sono requisiti minimi di risorse definiti per l'esecuzione di un nodo.
Di conseguenza, non c'è un obiettivo che gli sviluppatori Bitcoin debbano prendere in considerazione quando discutono la possibilità di apportare modifiche al protocollo che comporterebbero maggiori requisiti di risorse per eseguire un nodo completo. Se si deve sviluppare una specifica minima, dovrebbe probabilmente basarsi sull'hardware corrente che viene utilizzato per eseguire nodi completi.
Un dispositivo basato su ARM come Raspberry Pi o ODROID+ sembra essere la specifica minima attuale per eseguire un nodo. Può KEEP il passo con blocchi da 1 MB, anche se ci vogliono due settimane per eseguire la sincronizzazione iniziale della blockchain (per bloccare 390.000) a causa della CPU a bassa potenza.
Puoi acquistare unSeme di bitper $ 170 o unMini Bitcoinper $ 140. Se sei esperto di tecnologia puoi costruirne uno tuoNodo Raspberry Piper 100$ oppure puoi costruire un nodo abbastanza potenteper circa $200che dovrebbe essere in grado di funzionare bene per diversi anni.

Un altro problema trascurato quando si discute sul costo accettabile per la gestione di un nodo è che non abbiamo mai definito la base di utenti target per la gestione di un nodo completo.
I sondaggi demografici condotti nel corso degli anni continuano a indicare che la maggior parte degli utenti Bitcoin sono uomini caucasici di età inferiore ai 30 anni, orientati alla tecnologia, ma questo è un riflesso della maggior parte dei primi utilizzatori Tecnologie .
Sembra esserci un sentimento generale nella comunità secondo cui, affinché il Bitcoin abbia successo a lungo termine, dobbiamo trovare un modo per renderlo accessibile alle masse.
Tuttavia, come mostra il grafico seguente di BitNodes, i nodi sono fortemente concentrati nel Nord America e nell'Europa occidentale.

Chi vogliamo che gestisca un nodo completo? La risposta ingenua sarebbe "tutti", ma è chiaro che non è fattibile, dal momento che l'accesso a Internet non è ancora onnipresente.
Immagino che la ragione principale dell'attuale distribuzione geografica dei nodi sia l'accesso affidabile e conveniente a Internet a banda larga.
Gavin Andresen una volta disse:
"La maggior parte delle persone normali NON dovrebbe gestire un nodo completo. Abbiamo bisogno di nodi completi sempre attivi, con più di otto connessioni e una connessione a banda larga a Internet".
mostra che un nodo altamente connesso necessita in media di 200 Kb/s in downstream e 1,5 Mb/s in upstream, anche se l'utilizzo è molto più discontinuo e può facilmente registrare picchi di 2 Mb/s in downstream e 40 Mb/s in upstream.
Secondo AkamaiStato di InternetSecondo il rapporto, la larghezza di banda media disponibile è di 5 Mb/s, ma il loro elenco copre solo un quarto del mondo.
Le stime mostrano che a partire dal 2014solo il 60%della popolazione mondiale utilizza Internet.
Una specifica minima del nodo
Una specifica minima ben progettata dovrebbe stabilire obiettivi per le caratteristiche prestazionali desiderate per un nodo, le risorse necessarie per soddisfare tali obiettivi prestazionali e un costo per ottenere hardware che soddisfi tali obiettivi prestazionali.
Consiglierei di incorporare una logica simile a quella sviluppata da Jonas Nick, Greg Sanders e Mark Friedenbach percosti di convalida della dimensione del bloccoIl loro approccio è ben ponderato, anche se una specifica minima dovrebbe essere più complessa perché avrebbe dimensioni aggiuntive.
Ad esempio, una specifica minima potrebbe avere un aspetto simile a questo:
- Costo delle risorse hardware di destinazione: $ 200
- Tempo di destinazione nel caso peggiore per convalidare un blocco: 10 secondi
- I/O di rete minimo: 2 Mb/s
- I/O minimo del disco: 2 Mb/s
- CPU minima: 5.000 MIPS
- RAM minima: 1 GB
Jean-Paul Kogelman ha dato unaottimo esempiodi come una specifica minima stabilita aiuterebbe a supportare il processo decisionale durante i dibattiti sulla scalabilità esaminando i recenti cambiamenti nei costi di verifica della firma delle transazioni.
Nelle versioni di Bitcoin CORE precedenti alla 0.12, OpenSSL è utilizzato per verificare le firme. A partire dalla 0.12, le firme sono verificate con secp256k1, che è circa cinque volte più veloce di OpenSSL. Di conseguenza, il tempo di verifica delle transazioni (e quindi dei blocchi) dovrebbe diventare quasi cinque volte più veloce.
Poiché questo dovrebbe ridurre il tempo peggiore per verificare un blocco di quasi l'80%, la specifica minima ci fornisce una semplice scelta binaria:
- Adeguare opportunamente i requisiti minimi di risorse verso il basso
- Adeguare opportunamente altri parametri, come il numero di operazioni di firma per transazione e il numero di transazioni per blocco, per riportarci in linea con gli obiettivi minimi di prestazioni.
Quando vengono proposte modifiche al protocollo che hanno un impatto sulle prestazioni, se è disponibile una specifica minima, allora dovrebbe essere chiaro come viene influenzata dalle modifiche. Con il progredire Tecnologie e la diminuzione del costo delle risorse computazionali, dovrebbe anche essere chiaro come i requisiti di risorse possano essere aumentati senza aumentare il costo di gestione di un nodo.
Pertanto, le opzioni appropriate per rispondere ai cambiamenti dovrebbero essere meno controverse di quanto abbiamo sperimentato con il dibattito sulle dimensioni dei blocchi. Se, ad esempio, è chiaro che gli operatori di nodi che eseguono hardware con requisiti minimi non saranno influenzati negativamente dall'aumento delle operazioni di firma consentite per blocco per corrispondere al guadagno di prestazioni da secp256k1, non dovrebbe essere controverso aumentarlo.
Costo contro beneficio
Ritengo che sia un obiettivo ammirevole cercare di KEEP bassi i costi di gestione dei nodi e renderli accessibili all'utente medio.
D'altro canto, se KEEP i requisiti di risorse dei nodi al livello di quanto può gestire l'ultimo modello di Raspberry Pi su una connessione Internet residenziale (media globale), non sono sicuro di quanto sarà utile se la richiesta di inclusione nei blocchi si traduce in commissioni di transazione che escludono più utenti.
Detto in altri termini, se il costo dell'utilizzo della rete aumenta fino al punto di escludere l'utente medio dalle transazioni sulla blockchain di bitcoin, allora probabilmente T gli importerà di poter gestire un nodo a un costo irrisorio. Consideratelo come un equilibrio tra il costo della verifica delle transazioni e il costo della transazione.
Le reti di livello due (come Lightning Network e la rete di micropagamento di 21) possono certamente svolgere un ruolo nell’alleggerire il carico in questo caso, ma ricorda che anche gli utenti delle reti di livello duealla fine bisogna sistemarsicontro la blockchain di bitcoin.
Ci sono numerosi costi per gestire un nodo, come ad esempio:
- Curva di apprendimento iniziale (costo del tempo)
- Costi di installazione, configurazione e sincronizzazione iniziale (tempo, larghezza di banda, CPU)
- Costi di gestione continua (larghezza di banda, CPU, RAM, disco)
- Costi di manutenzione (tempo necessario per la risoluzione dei problemi e gli aggiornamenti).
La curva di apprendimento iniziale per vedere il valore di Bitcoin può richiedere settimane o mesi. Capire come gestire un nodo può richiedere alcune ore: sono abbastanza certo che la maggior parte delle persone non arriva nemmeno alla fase di port forwarding.
Il tempo di sincronizzazione iniziale può durare da diverse ore a diverse settimane, a seconda delle specifiche della macchina. Soggettivamente, fisserei i costi di manutenzione a ONE al mese nel caso peggiore.
Finora abbiamo esaminato il costo di gestione di un nodo da una varietà di prospettive. È ragionevole teorizzare che costi più alti si tradurranno in meno nodi e costi più bassi si tradurranno in nodi più alti, ma cosa succede se il costo T è l'unico fattore?
Pagamento tramite BitPay
Amministratore delegato Stephen Pairaffermato in modo succinto:
"Ci sono solo tanti nodi sulla rete Bitcoin quanti sono i requisiti per eseguire una convalida indipendente e senza fiducia delle transazioni."
Penso che Pair e Stzorc abbiano entrambi ragione, e quindi il conteggio dei nodi è una funzione della domanda di convalida delle transazioni senza fiducia rispetto al costo di gestione di un nodo. Come tale, affermerei che il conteggio dei nodi dipende anche dal valore archiviato e transato dagli utenti Bitcoin .
Mentre alcuni sostengono che gestire un nodo oggi sia puramente altruistico, ci sono degli incentivi per farlo:
- Investimento:Se hai investito molto in Bitcoin, potresti voler supportare la rete per proteggere tale investimento.
- Prestazione:È di ordini di grandezza più veloce interrogare una copia locale della blockchain rispetto all'interrogare i servizi di dati della blockchain tramite Internet.
- Resistenza alla censura e all'assenza di autorizzazione:Ricevendo e inviando transazioni dal tuo nodo, ONE ha il potere di impedirtelo.
- Privacy:Se stai interrogando altri nodi o servizi sui dati della blockchain, questi potrebbero usare tali query per provare a deanonimizzarti.
- Mancanza di fiducia:Possedere una copia del registro che hai convalidato personalmente significa T dover affidare la tua fiducia a terzi per essere onesti sullo stato del registro.
La mia prospettiva è che, invece di puntare a un singolo individuo che gestisca un nodo, l'obiettivo dovrebbe essere che chiunque abbia una quantità non banale di valore in Bitcoin gestisca un nodo. Coloro che hanno il valore più a rischio hanno il più grande incentivo a spendere risorse per proteggere i propri asset operando in modo trustless.
Abbiamo visto BTCC implementare di recente100 nodi e sappiamo che molte altre aziende Bitcoin gestiscono i propri nodi. Io stesso supervisiono il funzionamento di più nodi mainnet e testnet per conto di Vai a Bit e gestisco anche personalmente diversi nodi perché ho investito molte risorse in Bitcoin e desidero supportare la rete.
Se un utente possiede solo 100 $ in Bitcoin, allora T ha molto senso per lui gestire un nodo completo, a meno che il tempo e il costo delle risorse per gestire un nodo non siano nell'ordine di pochi minuti e qualche centesimo.
Per ottenere prospettive dagli utenti Bitcoin in merito alla loro decisione di eseguire o meno un nodo completo, ho condotto un sondaggio e raccolto più di 500 risposte. Questo non è chiaramente un sondaggio scientifico condotto rigorosamente, ma spero che sia meglio di niente.
È possibile visualizzare le analisi di alto livelloQuie i dati grezzi sono disponibiliQui.
Alcune conclusioni chiave emerse da questo sondaggio:
- Il 24% degli intervistati era solito gestire un nodo completo, ma T lo fa più
- Il 42% dei non operatori T vede alcun incentivo a gestire un nodo
- Il 44% o più degli operatori di nodi utilizzano il proprio nodo per il proprio beneficio diretto
- Il 57% degli utenti è disposto a dedicare oltre 100 KB/S di larghezza di banda upstream a un nodo
- Il 58% degli utenti non è disposto a pagare più di 10 $ al mese per gestire un nodo
- L'81% degli operatori di nodi gestisce un nodo a casa.
Il risultato più sorprendente è stato che non sembra esserci alcuna correlazione tra l'investimento di un utente in Bitcoin e il suo interesse nel gestire un nodo.
Tuttavia, la domanda potrebbe essere stata troppo vaga, poiché T richiedeva importi monetari specifici.
Credo ancora che qualsiasi entità (in particolare un'azienda) che effettua transazioni o archivia grandi quantità di valore sia maggiormente incentivata a gestire un nodo.


Conclusioni
Ricordiamo la teoria spesso citata secondo cui costi più elevati si tradurranno in meno nodi.
Questa potrebbe non essere un'ipotesi valida, poiché un volume di transazioni più elevato potrebbe essere il risultato di una maggiore adozione e quindi di un maggior numero di entità disposte a gestire nodi completi.
Sì, il costo sarà più alto e potrebbe benissimo superare la soglia dei 10 dollari al mese che l'utente medio è (attualmente) disposto a pagare, ma se l'utilità della rete Bitcoin continua ad aumentare e più entità stanno effettuando transazioni di grandi quantità di valore, saranno maggiormente incentivate a pagare costi più elevati per operare in modo non affidabile.
D'altro canto, dovremmo anche KEEP presente che non ha molto senso partecipare a un sistema decentralizzato quando il costo di convalida è basso ma il costo di transazione è estremamente alto a causa della contesa per lo spazio dei blocchi.
Se affrontiamo il dibattito sulla dimensione del blocco dal punto di vista dell'utilizzo delle risorse, mi sembra che qualcuno verrà escluso in entrambi i casi. Non aumentare la dimensione del blocco escluderà alcuni utenti dall'invio di transazioni, mentre aumentarla escluderà alcuni utenti dall'esecuzione di nodi.
Sono molte le variabili in gioco e dovremmo cercare KEEP in equilibrio in modo da poter far crescere l'ecosistema mantenendolo decentralizzato.
In ordine di priorità decrescente, consiglio agli sviluppatori Bitcoin :
Determinare una specifica minima delle risorse per l'esecuzione di un nodo completo con caratteristiche di prestazioni target, come il tempo peggiore per convalidare un blocco.
Concentratevi sull'aumento del volume di transazioni che la rete Bitcoin può supportare, aumentando così la sua utilità e il numero di utenti (e casi d'uso) che può servire. Di conseguenza, dovrebbero esserci più entità che eseguono archiviazione e trasferimento di alto valore che saranno incentivate a gestire i propri nodi.
Concentratevi sul rendere più semplice l'esecuzione di un nodo dal punto di vista della curva di apprendimento. Ciò dovrebbe verificarsi anche in modo naturale man mano che Bitcoin costruisce una storia e una reputazione più lunghe.
Rendere più semplice l'esecuzione di un nodo dal punto di vista delle risorse computazionali. Abilitare un nodo all'esecuzione immediata in modalità SPV sincronizzando la blockchain in background sarebbe un buon primo passo. Avviare un nodo dagli impegni UTXO sarebbe un enorme passo avanti.
Indagare direttamente sull'incentivazione finanziaria del funzionamento del nodo, ad esempio tramitefornitura di servizi datiin cambio di compensi.
Se riusciamo a KEEP il costo di gestione di un nodo aumenti a un ritmo più rapido del valore della sua gestione, dovremmo essere in grado di KEEP decentralizzata l'infrastruttura di rete, anche se aumenta l'onere gravante sugli operatori dei nodi.
La demografia degli operatori di nodi continuerà probabilmente a cambiare, ma incoraggio gli utenti Bitcoin ad accogliere i cambiamenti nell'ecosistema, purché la proprietà fondamentale della decentralizzazione rimanga intatta.
Seguici Jameson su Cinguettio.
Immagine costo-beneficiotramite Shutterstock
Jameson Lopp
Jameson Lopp è il CTO e co-fondatore di Casa, un servizio di autocustodia. Un cypherpunk il cui obiettivo è quello di creare Tecnologie che dia potere alle persone, ha creato portafogli Bitcoin multifirma dal 2015. Prima di fondare Casa, è stato il responsabile dell'infrastruttura presso BitGo. È il fondatore del Bitcoin Special Interest Group di Mensa, del Triangle Blockchain and Business meetup e di diversi progetti Bitcoin open source. In tutto questo tempo ha lavorato per istruire gli altri su ciò che ha imparato a sue spese, scrivendo software robusto in grado di resistere sia agli avversari che agli utenti finali inesperti.
