Di questo articolo molto interessante vorrei soffermarmi sui seguenti aspetti:
1) ormai ci sono almeno 3 diversi attori (per semplificare) con interessi non sempre convergenti: miner, full node, "semplici" utenti che vogliono solo effettuare delle transazioni
2) per i miner, più transazioni possono inserire nei blocchi, meglio è (il loro lavoro non aumenta di conseguenza e quindi aumenta la loro redditività)
per i full node al contrario la dimensione dei blocchi e il numero di transazioni incide pesantemente sul loro lavoro, che consiste nel far circolare queste transazioni e nel verificarle una a una (oltre a rendere gli altri nodi in grado di verificarle in modo autonomo fornendo loro anche i blocchi vecchi)
per il semplice utente, più transazioni è in grado di processare il sistema meno tempo dovrà aspettare e minori saranno i costi per le commissioni;
da questo punto di vista sembra che gli interessi di miner e utenti coincidano (blocchi più grandi, più transazioni) mentre per i full node sarebbe meglio il contrario
3) quindi miner e utenti vorrebbero velocità e tante transazioni, i full node che stanno in mezzo e hanno il compito di controllare in modo indipendente queste transazioni sono i regolatori/"rallentatori" che devono aumentare le loro prestazioni e aumentare i costi per le verifiche;
il sistema comunque potrebbe bilanciarsi quasi da solo, nel senso che il bisogno di full node (cioè il bisogno di controllo indipendente delle transazioni) non può non crescere grazie sia a coloro che attiveranno dei servizi sulla blockchain e grazie anche ai singoli che avranno investito somme importanti nel bitcoin e quindi avranno il loro interesse a monitorare il proprio investimento
“There are only as many nodes on the Bitcoin network as there is demand to perform independent and trustless validation of transactions.”
In sostanza la possibilità di controllare con sicurezza la validità delle proprie transazioni deve avere un costo, costo che sarà sostenibile, come è logico che sia, solo da coloro che devono tutelare grossi volumi.
È impensabile che, qualora io possieda pochi centesimi di Bitcoin (ho visto un thread nella sezione internazionale dove la maggior parte degli utenti sosteneva di possedere appunto solo pochi centesimi) pretenda di avere comunque la possibilità di essere in grado di controllare in modo conveniente per me (ma con il grado di sicurezza incredibile che offre questo sistema!) anche l'acquisto di un caffè. A me pare economicamente insensato, chi paga?
La sicurezza di questo sistema di pagamento la deve pagare in prima persona chi usa i bitcoin. Se uno ne usa troppo pochi allora rinuncerà per forza di cosa alla sicurezza del controllo in prima persona e si fiderà di servizi terzi.
3) se il valore del sistema Bitcoin dipende dal numero di transazioni effettuate (quindi dipende più dal numero degli utenti coinvolti che dal numero dei nodi fisici che le propagano) allora è meglio avere meno full node ma più prestazionali, quelli che ci sono devono quindi essere in grado di gestire blocchi più grandi e un maggior traffico, in modo da mantenere bassi i costi delle transazioni per gli utenti
4) se si perseguisse invece come obiettivo assoluto la decentralizzazione (non nel senso di permettere a tutti di effettuare delle transazioni a basso costo, ma nel senso di permettere a tutti di verificare a basso costo le transazioni mettendo in piedi un loro full node), dovremmo avere blocchi ancora più piccoli in modo che anche dispositivi modesti come il raspberry possano processarli, ma per ridurre così drasticamente i costi per i full node dovrebbero aumentare allora i costi di transazione per gli utenti (meno transazioni costi più alti).
Rimane la domanda di fondo: lo scopo di un mezzo di pagamento è che tutti possano utilizzarlo (con basse commissioni) o che tutti siano in grado di controllare autonomamente le transazioni di tutti? Il secondo caso è possibile solo se manteniamo molto limitato il numero di scambi (ma allora il sistema servirebbe solo per scambi grossi, scambi per i quali sia ragionevole pagare alte fee).
Io non vedo alternative: o si rende il sistema utile per tutte le transazioni, anche quelle piccole (aumentando di conseguenza il lavoro di verifica dei full node, ogni volta che spostate anche solo 10000 satoshi state aumentando il lavoro di verifica) e si limita quindi il numero dei possibili controllori, o viceversa si limita l'accesso al sistema delle transazioni a poche e importanti transazioni (così poi tutti saremmo in grado di verificarne l'autenticità a basso costo, ma a che pro se io non posso partecipare a nemmeno una transazione?)
5)
Data collected with Statoshi shows that a highly connected node needs on average 200 Kb/s downstream and 1.5 Mb/s upstream, though usage is much spikier and can easily see peaks of 2 Mb/s downstream and 40 Mb/s upstream.
According to Akamai’s State of the Internet report, the average available bandwidth is 5 Mb/s, but their list only covers a quarter of the world.
Estimates show that as of 2014 only 60% of the global population is using the Internet.
se questi sono i veri requisiti che un full node deve avere per essere veramente utile alla rete allora mi sorge spontanea una domanda: non è che un full node lento è come un'auto che va ai 60 km/h in autostrada, cioè crea più che altro disagi alla circolazione degli altri veicoli ?
Mi stanno sorgendo grossi dubbi sull'utilità, per la rete, di mettere in piedi full node lenti
“Most ordinary folks should NOT be running a full node. We need full nodes that are always on, have more than eight connections, and have a high-bandwidth connection to the Internet.”