Post
Topic
Board Discussioni avanzate e sviluppo
Re: Scalabilità bitcoin e "troncatura della blockchain" domanda per esperti!
by
arulbero
on 08/01/2016, 13:53:29 UTC


In input di una transazione non ci va infatti l'address di partenza, ma ci va la TX e l'input number corrispondente a quella TX.
Quindi, attualmente, per spendere BTC di 5 anni fa il sistema deve conoscere la TX (e non l'address).



Purtroppo, la dimensione della blockchain e' solo uno degli aspetti del problema.

a parte la discussione ormai "di moda" sulla massima dimensione del blocco
(dico di moda perche' almeno questo e' un falso problema, ossia ci sono diverse soluzioni)
uno dei problemi piu' sottili che vedo e' l'allontanamento da un modello p2p della rete.

In realta', bitcoin non e' piu' una rete p2p ormai da tanto tempo, infatti mentre i full node sono
poco piu' di 5.000, stimo che ci siano piu' di 500.000 utenti, ossia un full node 100 o piu' utenti.

e si allontanera' sempre di piu' dall'essere p2p, semplicemente perche' il costo in risorse (e soldi)
per tenere un full node aumentera' sempre di piu' a fronte di nessuna ricompensa,
quindi il numero di full-node continera' a scendere, mentre il numero di utenti continua ad aumentare.

In pratica, presto arriveremo ad un full node ogni 1000 utenti, e via via sempre peggio.
Purtroppo, tempo che il modello p2p di bitcoin sia  insostenibile.

QUindi succedera' che solo chi ha una convenienza economica si sobbarchera' i costi di un full
node (quindi full-blockchain, full memory pool, full processor power per controllo transazioni real-time ecc..)
in pratica solo gli exchange, le mining pool e pochi altri potranno permettersi un full node.


Sicuramente il modello p2p, già abbandonato da tempo per quanto riguarda il mining, rappresenta sempre meno anche la situazione attuale dei full node.
A me tutto ciò sembra inevitabile per una mera questione di efficienza: replicare N volte lo stesso lavoro di controllo delle transazioni e dei blocchi, dove N è il numero dei nodi, non è un metodo efficiente di operare.

Provo ad allargare il discorso ad altri 2 esempi di decentralizzazione questa volta riuscita (almeno secondo me):

1) la costruzione condivisa di un'enciclopedia online come Wikipedia funziona in modo "decentralizzato" (almeno nella produzione dei contenuti) poichè si basa sul contributo personale e specifico (e pertanto non "automatizzabile") di diversi individui: in questo caso il modello distribuito ha un suo senso d'esistere e costituisce un valore aggiunto alla realizzazione dell'enciclopedia (a differenza per esempio di un'enciclopedia realizzata da pochi esperti, che proprio perchè pochi come numero possono coprire un'area limitata del sapere e hanno tempo/energia complessivi limitati da dedicare al compito di preparazione di una enciclopedia classica).

2) il software open source, che molto spesso ha una qualità ottima, sfrutta al meglio la sua specifica caratteristica di raccogliere e convogliare il contributo di moltissimi sviluppatori (è un catalizzatore di un lavoro "distribuito") e proprio per questo spesso è più sensibile anche alle richieste di miglioramenti dei suoi utilizzatori.

In entrambi questi esempi il ruolo della decentralizzazione è quello di raccogliere una ricchezza di capacità e talenti distribuiti nel pianeta per costruire un progetto condiviso che valorizza le capacità dei singoli. Questo è il vero senso della decentralizzazione.

Nel caso del bitcoin invece, poichè il lavoro da fare è "stupido" (minare e controllare la transazioni sono procedure automatizzate), la decentralizzazione rischia di diventare semplicemente spreco e l'individuo non è spinto nè dal riconoscimento individuale del proprio specifico lavoro (come succede quando si scrive una voce su Wikipedia) nè da quello meramente economico (come ha ricordato gbianchi, non c'è ricompensa per il lavoro dei full node).

Perchè a questo punto uno dovrebbe mantenere a sue spese (sempre crescenti!) un full node? Semplicemente perchè è "giusto"? Perchè così si migliora la sicurezza generale della rete? Senza riconoscimenti personali di qualche tipo non è un modello sostenibile.

La mia conclusione è che la produzione e la gestione del denaro e dei suoi movimenti sono compiti ripetitivi e automatizzabili e come tali richiedono una sempre maggiore specializzazione e accentramento, inevitabilmente.
Il sistema Bitcoin non distingue tra un computer di potenza 1000 e 1000 computer di potenza 1, quindi per una questione di efficienza il sistema tende naturalmente a convergere a una rete di pochi nodi (tipo le banche con le monete fiat) che gestiscono e dirigono il traffico delle transazioni.