lunedì 11 marzo 2019

Basta parlare a vanvera di Blockchain! (spesso solo per fare marketing peggio del detersivo che "lava più bianco")

Come spiego da tempo uno dei problemi principali del mondo delle Cryptovalute è la marea di FUFFA informativa che
1. rende difficile distinguere ciò che è buono da ciò che è scam
2. sposta interesse ed investimenti su progetti spesso irrealizzabili invece che sui nodi più importanti

In tutto questo come spiego da tempo regna sovrana la disinformazione sulla BLOCKCHAIN che sarebbe la bacchetta magica per fare di tutto... dalle elezioni democratiche a risolvere i problemi della fame in Africa.
In realtà come spiegavo nel post Il Bitcoin sparirà...ma la Blockchain rimarrà e cambierà il Mondo = ah ah ah ah!
la blockchain senza bitcoin ha usi limitatissimi e nella maggioranza dei casi ci sono soluzioni tecnologiche "centralizzate" infinitamente meno costose, più adatte ed elastiche della blockchain...
Ma purtroppo c'è gente che continua a fare marketing&propaganda basandosi su mezze bufale o su bufale intere... ;-)
e non intendo solo le aziende/la finanza tradizionale che vogliono ri-ciclarsi usando la parola "blockchain"
ma anche i movimenti politici che si spacciano come il CAMBIAMENTO
mentre in realtà banfano persino più di "quelli prima", oppure sono ignoranti e superficiali...il che sarebbe persino peggio.
Movimento5stelle: Ne abbiamo parlato tanto, lo abbiamo pensato, immaginato, sperato, sognato. 
E ora c’è. Stiamo parlando del voto su #blockchain, la nuova frontiera della democrazia diretta che consente di utilizzare la Rete in un nuovo modo. 
Davide Casaleggio: Il voto su blockchain per Rousseau è realtà. Venite a testarlo al Villaggio di Milano
Non a caso i veri esperti di blockchain e gli sviluppatori si sono incaxxati sull'ennesima BUFALA a 5 stelle
.....Ma scrivete con cognizione di causa? Sapete cosa è github e come funziona? Avere il know how di fare un minimo di controlli prima di scrivere un post da regime nord coreano come questo? Neanche l'onestà di fare un fork, hanno scaricato il codice di due progetti esistenti e lo hanno uploadato sul loro account, cambiando un paio di righe nel readme. Praticamente proof of concept è già eccessiva come definizione. Allo stesso modo allora domani vi presento un intero sistema operativo, basta che faccio un repo con una distro linux e la chiamo Cicciolinux, poi aspetto la gloria a mezzo stampa.
.....In realtà, durante l’evento si è scoperto che il sistema di voto non è ancora funzionante e che è invece solo allo stato embrionale. Bah!
Purtroppo questa farsa della blockchain utile per fare anche il caffè continua, non solo da parte di aziende della finanza tradizionale centralizzata o di aziende furbette che vogliono fare "smart marketing"
ma anche da parte di players che nei fatti si fanno portatori di più stato, più assistenzialismo, più centralismo, moneta "stampabile" a seconda delle necessità etc etc
ma poi come scrivevo =Riempirsi la bocca di rivoluzione bitcoin/blockchain pur essendone "come visione" agli antipodi..
ed ancora da non perdere il Video Esplicativo del duo Montemagno-Zucco:
5 miti da sfatare sulla Blockchain (Bitcoin)

Anche se poco alla volta un po' di verità sta venendo fuori...
Vi traduco dunque questa IMPERDIBILE analisi che spiega bene come attorno alla blockchain ci sia tanto "hype" ma come IN REALTÀ gli usi effettivi/convenienti siano ben pochi se non collegati al bitcoin.
La ripresa del mercato Crypto passa anche dallo sfoltire l'informazione fuffa e/o le markette di qualcuno che ci prova...
che presentare fischi per fiaschi non porta mai a buoni esiti, soprattutto considerando che non sono temi alla portata di tutti e l'ignoranza regna sovrana, dunque è facile usare BLOCKCHAIN come una parola magica...
----------------------------------------------------------

Why Blockchain is Hard
Perché la blockchain è poco elastica
Jimmy Song
14 maggio 2018

Le aspettative attorno attorno alla blockchain sono enormi.
Per capire il clamore attorno alla blockchain, prova a ripetere con me questi slogan che girano ovunque:
La blockchain per.....
- risolvere la disuguaglianza di reddito
- rendere tutti i dati al sicuro per sempre
- rendere tutto molto più efficiente e affidabile
- salvare i bambini che muoiono dalla fame

Ma alla fin fine che diamine è una blockchain?.................
.
E può davvero fare tutte queste cose?
La blockchain può portare veramente a qualcosa di sorprendente per settori diversi come assistenza sanitaria, finanza, gestione della supply chain e diritti musicali?

Non essere a favore di Bitcoin significa automaticamente che sei pro-blockchain?
Ed al contrario, come puoi essere a favore del Bitcoin ma dire qualcosa di negativo sulla tecnologia che ci sta dietro?

In questo articolo, cerco di rispondere a molte di queste domande osservando che cos'è una blockchain e, cosa più importante, che cosa non è.

Cos'è una blockchain?

Per esaminare alcune di queste affermazioni, dobbiamo definire cosa sia una blockchain e qui risiede molta della confusione.
Molte aziende usano la parola "blockchain" per indicare una sorta di dispositivo magico con cui tutti i loro dati non saranno mai sbagliati.
Un tale dispositivo, naturalmente, non esiste, almeno quando è coinvolto il mondo reale.


Allora, cos'è una blockchain?
Tecnicamente parlando, una blockchain è un elenco di blocchi collegati e un blocco è un gruppo di transazioni ordinate.
Se non hai capito l'ultima frase, puoi pensare ad una blockchain come sottoinsieme di database, con alcune proprietà aggiuntive.

La cosa principale che distingue una blockchain da un normale database è che ci sono regole specifiche su come inserire i dati nel database.
Cioè, non può entrare in conflitto con altri dati che sono già nel database (coerenti), è append-only (immutabile) e i dati stessi sono bloccati su un proprietario (possessore), è replicabile e disponibile per tutti.
Infine, tutti sono d'accordo su quale sia lo stato delle cose nel database ("il canone") senza un partito centrale (decentralizzazione).

È questo ultimo punto che è davvero il Santo Graal della blockchain.
Il decentramento è molto interessante perché implica che non esiste un singolo punto di errore (single point of failure).
Cioè, nessuna singola autorità sarà in grado di portarti via la tua risorsa o di cambiare la "storia delle transazioni" in base alle loro esigenze.
Questa traccia di controllo immutabile in cui non hai bisogno di fidarti di nessuno (trustless) è il vantaggio che tutti coloro che sono impegnati in questa tecnologia stanno cercando.
Questo vantaggio, tuttavia, ha un costo elevato.

Quanto costa la Blockchain
L'immutabile sistema di controllo non alterabile da ogni singolo player o gruppo di players è certamente utile, ma ci sono molti costi per creare un tale sistema.
Esaminiamo alcuni dei problemi.

Lo sviluppo è più difficile e più lento
Creare un sistema che sia chiaramente "consistente" non è un compito facile.
Un piccolo bug potrebbe corrompere l'intero database o fare in modo che alcuni database siano diversi da altri.
Ovviamente un database danneggiato o diviso non ha più alcuna garanzia di coerenza.
Inoltre, tutti i sistemi di questo tipo devono essere progettati sin dall'inizio per essere coerenti.
Non c'è il "muoviti velocemente e ribalta lo status quo" in una blockchain.
Se ribalti tutto, perdi consistenza e la blockchain diventa corrotta e inutile.



Potresti pensare: perché non puoi semplicemente modificare il database o ricominciare da zero ed andare avanti?
Ciò sarebbe abbastanza facile da fare in un sistema centralizzato, ma questo è molto difficile in uno decentralizzato.
È necessario il consenso o l'accordo di tutti i giocatori nel sistema, al fine di modificare il database. La blockchain deve essere una risorsa pubblica che non è sotto il controllo di una singola entità (decentralizzata, ricordi?)...
O l'intero sforzo alla fin fine è solo un modo molto costoso per creare un database lento e centralizzato.

Le strutture "ad incentivo" sono difficili da progettare
Aggiungere le giuste strutture di incentivi e fare in modo che tutti gli attori del sistema non possano abusare o corrompere il database è ugualmente un bel problema.
Una blockchain può essere coerente, ma non è molto utile se contiene un sacco di dati frivoli e inutili solo perché i costi di inserimento dei dati sono molto bassi.
Allo stesso modo una blockchain coerente non è utile se non ha quasi nessun dato perché i costi di inserimento dei dati sono troppo alti.



Cosa fornisce la finalità dei dati?
Come puoi assicurarti che i premi siano allineati con gli obiettivi della rete?
Perché i nodi mantengono o aggiornano i dati e cosa li spinge a scegliere un dato piuttosto che un altro quando sono in conflitto?
Queste sono tutte domande di incentivazione che necessitano di buone risposte e che devono essere soddisfatte non solo all'inizio ma anche nel futuro in quanto la tecnologia e le aziende cambiano, altrimenti la blockchain non è utile.

Di nuovo, ti starai chiedendo perché non puoi "aggiustare" qualche sistema sbagliato di incentivi.
Ancora una volta, questo è facile in un sistema centralizzato mentre in uno decentralizzato semplicemente non puoi cambiare nulla senza consenso.
Non c'è nulla che "aggiusta" nulla a meno che non ci sia un accordo da parte di tutti.

La manutenzione è molto costosa
Un database centralizzato tradizionale deve essere scritto solo una volta.
Una blockchain deve essere scritta migliaia di volte.
Un database centralizzato tradizionale deve verificare i dati una sola volta.
Una blockchain ha bisogno di controllare i dati migliaia di volte.
Un database centralizzato tradizionale deve trasmettere i dati per l'archiviazione una sola volta.
Una blockchain ha bisogno di trasmettere i dati migliaia di volte.
I costi per mantenere una blockchain sono di ordini di grandezza più alti e il costo deve essere giustificato dall'utilità.
La maggior parte delle applicazioni alla ricerca di alcune delle proprietà dichiarate in precedenza come coerenza e affidabilità possono ottenere le stesse finalità con un costo molto più basso utilizzando sistemi centralizzati tradizionali con controlli di integrità, ricevute e backup.

Gli utenti sono sovrani
Questo può essere davvero positivo in quanto le aziende non amano di avere sulle spalle la responsabilità dei dati utente.
Questo però può essere anche negativo, tuttavia, se l'utente ha un comportamento anomalo.
Non c'è modo di cacciare l'utente che spammerà la tua blockchain con dati frivoli oppure ha trovato un modo per trarre profitto in qualche modo che causa agli altri utenti molti disagi.
Questo è legato all'osservazione di cui sopra che le strutture di incentivi devono essere progettate davvero molto bene in quanto un utente che trova la possibilità di fare un exploit non è in grado di rinunciarvi, soprattutto se c'è un profitto per l'utente.
Potresti pensare di poter semplicemente rifiutare il servizio agli utenti malintenzionati, il che sarebbe molto facile da fare in un servizio centralizzato.
Tuttavia, a differenza di un servizio centralizzato, il rifiuto del servizio è difficile perché nessuna singola entità ha l'autorità per espellere qualcuno.
La blockchain deve essere imparziale e applicare le regole definite dal software.
Se le regole non sono sufficienti a scoraggiare un cattivo comportamento c'è ben poco da fare...
Non c'è "la durezza" della legge qui.
Devi semplicemente avere a che fare con attori malevoli o che si comportano male, probabilmente per un tempo molto lungo.

Tutti gli aggiornamenti sono volontari
Un aggiornamento forzato non è un'opzione.
Gli altri giocatori sulla rete non hanno l'obbligo di passare al tuo software.
Se lo facessero, un tale sistema sarebbe molto più facile, più veloce e meno costoso da costruire come sistema centralizzato.
Il punto di una blockchain è che non è sotto il controllo di una singola entità e questo caposaldo verrebbe violato con un aggiornamento forzato.



Invece nella blockchain tutti gli aggiornamenti devono essere compatibili con le versioni precedenti.
Questo è ovviamente piuttosto difficile, soprattutto se si desidera aggiungere nuove funzionalità e ancora più difficile quando l'evoluzione deve attraversare un periodo di beta testing.
Ogni versione del software aggiunge un sacco di variabili alla matrice di test ed allunga il tempo di rilascio.
Anche in questo caso, se si trattasse di un sistema centralizzato, sarebbe molto più semplice correggerlo mandando in pensione i vecchi sistemi.
Non puoi farlo, comunque in un sistema decentralizzato in quanto non puoi costringere nessuno a fare nulla.

L'aggiornamento è davvero difficile
Infine, aggiornare il sistema è almeno di diversi ordini di grandezza più difficile rispetto a un sistema centralizzato tradizionale.
La ragione è ovvia.
Gli stessi dati devono vivere allo stesso tempo in centinaia o migliaia di nodi piuttosto che in un singolo luogo.
Il sovraccarico di trasmissione, verifica e archiviazione è enorme in quanto ogni singola copia del database deve farsene carico (ed ha un costo), invece farsene carico solo una volta come accade in un database centralizzato tradizionale.

È possibile, naturalmente, ridurre l'onere riducendo il numero di nodi.
Ma a quel punto, perché hai bisogno di un sistema decentralizzato?
Perché non creare un database centralizzato se i costi di aggiornamento sono la preoccupazione principale?

La centralizzazione è molto più semplice
Alla fine della fiera i sistemi decentralizzati sono molto difficili da gestire, costosi da mantenere, difficili da aggiornare ed hanno un problema nell'evolvere.
Un database centralizzato è molto più veloce, meno costoso, più facile da mantenere e più facile da aggiornare rispetto a una blockchain.
Quindi perché le persone continuano a usare la parola blockchain come se fosse una panacea per tutti i loro problemi?



Innanzitutto, molti di questi settori che vogliono rivendersi sulla blockchain sono davvero in ritardo per gli aggiornamenti dell'infrastruttura IT.
L'assistenza sanitaria ha un software notoriamente terribile.
La gestione finanziaria gira ancora su dei software degli anni '70.
Il software di gestione della supply chain è al contempo difficile da utilizzare e difficile da installare.
La maggior parte delle aziende in questi settori non è in grado di aggiornarsi a causa del rischio implicito.
Ci sono molti aggiornamenti di infrastruttura che costano centinaia di milioni e finiscono per essere arretrati comunque.
Blockchain è un modo per vendere questi aggiornamenti dell'infrastruttura IT e renderli un po 'più appetitosi.
Tutto marketing o poco più....


In secondo luogo, blockchain è un modo per apparire come se fossi all'avanguardia della tecnologia.
Piaccia o no, la parola "blockchain" ha assunto una vita propria.
Pochissime persone effettivamente capiscono di cosa si tratta, ma vogliono apparire come persone all'avanguardia...e dunque vogliono riempirsi la bocca di blockchain come un modo per sembrare più intelligenti.
Proprio come "cloud" indica il computer di qualcun altro e "AI" significa un algoritmo ottimizzato, "blockchain" alla fin fine significa un database lento e costoso (che ha senso quasi esclusivamente solo se collegato al bitcoin).

In terzo luogo, le persone non amano il controllo governativo di determinate industrie e desiderano un meccanismo di aggiudicazione diverso rispetto al quadro giuridico che è spesso lento e costoso.
Per loro, "blockchain" è in realtà solo un modo per sbarazzarsi del pesante apparato del regolamento governativo.
Questo sta sovradimensionando ciò che la blockchain può fare.
Blockchain non elimina magicamente il conflitto umano.

Il risultato è un sacco di persone che pubblicizzano le PROMESSE senza capire effettivamente le difficoltà ed i costi.
Quel che è peggio, i reali dettagli tecnici e i costi vengono nascosti dai TOP che fanno marketing sulla blockchain in modo tale da oscurare ciò che una blockchain può e non può fare.
Tutti i loro sottoposti ganno paura di dire che il Re è nudo e dunque eccoci nella situazione surreale in cui siamo ora.

Quindi a cosa serve la blockchain?
Abbiamo già stabilito che una blockchain è molto costosa rispetto ai database centralizzati.
Quindi l'unica ragione per cui dovresti usare una blockchain è decentrare.
Cioè, rimuovere il singolo punto di errore o controllo.

Ciò significa naturalmente che il software o il database non devono cambiare spesso le cose o non le devono cambiare del tutto.
Quasi sempre si ralizzerebbe un piccolo vantaggio per l'aggiornamento ma allo stesso tempo molti svantaggi nel rovinare o cambiare le regole.



La maggior parte delle industrie/delle imprese non sono così.
La maggior parte delle industrie richiede nuove funzionalità o aggiornamenti e la libertà di cambiare ed espandere secondo necessità.
Dato che le blockchain sono difficili da aggiornare, difficili da cambiare e difficili da scalare, la maggior parte delle attività economiche in svariati settori non ha molto senso per una blockchain.

L'unica eccezione che abbiamo trovato è il denaro. A differenza della maggior parte dei casi di uso imprenditoriale, il denaro è migliore se non cambia. 
 L'immutabilità e la difficoltà nel cambiare le regole è positiva per il denaro e non un danno. 
Questo è il motivo per cui blockchain è lo strumento giusto per il lavoro quando si tratta di Bitcoin.

Ciò che è chiaro è che molte aziende che cercano di utilizzare la blockchain non vogliono affatto una blockchain, ma piuttosto un aggiornamento IT per il loro particolare settore.
Questo è OK, ma usare la parola "blockchain" per arrivarci è disonesto e sovradimensionato.

Conclusione
Blockchain è un termine popolare in questi giorni e sfortunatamente questo meme "blockchain not Bitcoin" ( = va bene la blockchain ma non il bitcoin) non morirà.
Se sei un servizio centralizzato, una blockchain non ti dà nulla che non puoi fare migliaia di volte meglio con un database centralizzato.
Se sei un servizio decentralizzato, probabilmente stai ingannando te stesso e non stai pensando ai singoli punti di errore che esistono nel tuo sistema.
Non ci dovrebbe essere affatto un "voi" in un servizio veramente decentralizzato.


Il più grande scherzo in questo intero articolo...

Nei primi anni 2000 ci fu una spinta da parte di molti dirigenti nel settore tecnologico ad usare Java e XML.
Nonostante queste due cose siano strumenti e non prodotti reali, molti dirigenti hanno insistito sul loro utilizzo, non importa quanto questi strumenti fossero inadatti ed insufficienti rispetto agli obiettivi che i loro ingegneri stavano cercando di ottenere.
Blockchain è molto simile a questo.
Concentrati sui problemi che stai risolvendo e gli strumenti in modo auto-evidente si riveleranno per quello che sono ed a cosa servono.
Concentrati sugli strumenti che vuoi utilizzare e finirai per creare macchine Rube Goldberg che non faranno nulla di particolarmente buono ed utile.

In un certo senso, le attuali concezioni di blockchain stanno cercando di fare l'impossibile.
Vogliono la sicurezza di un sistema decentralizzato con il controllo di uno centralizzato.
Il desiderio è il meglio di entrambi i mondi, ma quello che si finisce per ottenere è il peggiore di entrambi i mondi.
Ti troverai sul groppone i costi e la difficoltà di un sistema decentralizzato con le modalità di errore di un sistema centralizzato.

Blockchain sta venendo fin troppo come parola d'ordine per vendere un sacco di FUFFA inutile.
Più velocemente ci libereremo della pubblicità e del marketing
migliori a lungo termine saranno i risultati...
.