Facebook Vs Bitcoin

Ieri mi sono preoccupato, ma in fondo senza spiegare perché, alla lettura della news che vede Facebook atterrare nel mondo delle banche. In fondo qualunque miliardario può aprire una banca, perché non dovrebbe farlo anche Facebook?

Tuttavia questa notizia mi ha lasciato il tarlo a rosicchiare dentro e mi ha portato a immaginare tutti gli scenari che ne possono risultare.

facebook-moneyCome advocate delle monete decentralizzate temo che questo creerà qualche problema a chi pensava e sperava che il mondo sarebbe andato in una certa direzione. Facebook ha la forza per far deviare la rotta.

Il problema essenziale per le cripto monete a la Bitcoin oggi è che non le sa usare nessuno. Mi spiego, esistono milioni di nerd che se vogliono aprono wallet e fanno scambi monetari e delle gran belle litigate su reddit. Ci sono anche due parlamentari italiani che hanno letto qualche news sul tema, ma esistono miliardi di persone normali che non hanno neanche voglia di cercare la voce Bitcoin su wikipedia.

Bitcoin è decentralizzato e restituisce il controllo agli utenti. Facebook è frictionless, scala benissimo con il numero di utenti ed è già installato nel cervello di tutti.

Quindi se nasce una valuta o un sistema di pagamenti su Facebook che potrà essere scambiata anche con Whatsapp indovinate quanti avranno voglia di passare ad un uso sistematico e quotidiano di Bitcoin?

Inoltre Facebook potrebbe aprire veramente scenari nuovi e virtuosi grazie ad una piattaforma di micro o nano pagamenti incorporati direttamente nelle sue pagine web.

Pensate ai like, potrebbero essere trasformati in piccoli crediti remunerati (a la paymeabit per intenderci). Le bufale penalizzate con uno storno automatico per chi le inoltra senza fare una verifica. Insomma si aprono spazi per trasformare Facebook stessa con contenuti a pagamento ma con una modalità appunto frictionless che non si era mai vista prima.

Non fraintendetemi e non mettetemi nel Bitcoin Obituary (vabbè non sono così famoso per finirci), non sto dicendo che Facebook ucciderà Bitcoin e le cripto. Però certo si candida a prendere su di sé molta attenzione da parte di chi non ha ancora compreso a fondo i vantaggi, le caratteristiche libertarie e la carica di autonomia che viene delle cripto.

Facebook mangia banche

…e pensieri a caldo sulla centralizzazione di tutto. Dalle bestemmie ai pagamenti.

facebook-money

Se Facebook diventa una banca? o meglio se Facebook diventa anche una banca? Oltre a essere un posto virtuale dove si fa amicizia, politica, sexting, shopping, si scrivono pensieri poesie preghiere opere opinioni etc.

Forse è il caso di chiedersi come fermarla. Non solo Facebook ovvio, ma i grandi come lui (o lei) quindi Google, Apple, Microsoft etc.

Ma fermarli come? Non con nuove leggi e regole ovviamente. Sono aziende, operano in un mercato, fanno i loro interessi e si spera quelli dei loro clienti, però l’entità della centralizzazione di servizi e funzioni nelle mani di pochi sta assumendo i toni distopici.

Vabbé sarà che ho appena visto Black Mirror e l’idea che la polizia ti punisca togliendoti 1 punto (ben 1 punto) di social score fa sorridere ma insomma.

Ci avevano detto che Internet era la disintermediazione di tutto, e invece sta crescendo dentro di sé una dozzina di super-intermediari che veicolano tutto.

Fai meglio di loro, e vedrai. Se sei innovativo li spazzi via. Siamo sicuri? Quindi? Torniamo indietro. Basta tecnologia!?

Ma neanche per idea. Anzi ce ne vuole di più, però ci vuole più cultura della tecnologia.

Dobbiamo imparare diverse cose: il valore della nostra privacy, il controllo che possiamo esercitare sulla tecnologia che usiamo, essere attivi e consapevoli invece che passivi consumatori ignoranti (nel senso che ignoriamo eh, non nel senso che …), decentralizzare che significa anche diversificare invece di centralizzare. Prendere il controllo invece di cederlo.

Se costruisci la tua casa sul terreno di qualcun altro forse non sei molto saggio. Perché lo facciamo per la nostra identità digitale? Internet dà la parola a tutti, e le piattaforme alla Facebook l’hanno data veramente a tutti. Si litigava e si scrivevano corbellerie anche su Usenet, IRC, ICQ, ma c’era una barriera d’ingresso. Una specie di selezione, insomma non potevi essere troppo troppo ignorante (sempre senza offesa, eh). Ora la barriera non c’è e dobbiamo solo smetterla di essere “Gli imbecilli di Umberto Eco”.

Tutto questo cosa c’entra con il fatto che faremo i pagamenti con Whatsapp? C’entra, secondo me c’entra.

 

 

Etimologia della parola “blog”

Forse non tutti sanno che blog è la contrazione di “web log” cioè un log dei nostri pensieri “buttato” dentro una pagina web.

Tuttavia l’etimologia di questa locuzione è davvero interessante. La parola web infatti vuol dire ragnatela, anche se ormai per noi italiani significa rete di computer perdendo ormai ogni legame con il termine inglese “web”. Acora più interessante è la storia dell’altra parola, log. Log infatti in gergo informatico è un file in cui vengono scritti messaggi di sistema annotati con data e ora. Una specie di diario che il computer tiene per registrare i suoi eventi.

Log deriva a sua volta dall’espressione Log Book che è il diario di bordo delle navi dove venivano annotate giornalmente posizioni e velocità. La parola “log” significa letteralmente pezzetto di legno. La ragione per cui si usa questo termine è che in passato si usava un pezzo di legno (detto anche barchetta) legato ad una corda la quale presentava dei nodi posti a distanze regolari l’uno dall’altro. Il pezzo di legno si lanciava fuori bordo e si lasciava andare la corda. Nel corso di un minuto questa scorreva e venivano contati i nodi. Dal numero di nodi si ricavava la velocità (appunto in nodi o miglia orarie) e quindi annotate nel Log Book. Dal ciocco di legno al blog il passo è stato lungo.

In italiano questo strumento si chiama Solcometro

loch_c3a0_plateau

 

Piccola prova su strada deep learning

attenzione: contenuto vagamente nerd

Può Il deep learning essere considerato oggi alla stregua di un altro tool a disposizione degli sviluppatori? Forse non ancora. Forse richiede ancora competenze specifiche su classificazione, reti neurali, statistica etc. che non tutti gli sviluppatori hanno. Tuttavia nel corso degli ultimi anni la quantità e la qualità dei framework per scrivere il proprio modello predittivo sono aumentate notevolmente, e si sa, uno inizia con la pratica, brancola nel buio per un po’, ma se è determinato prima o poi impara anche la teoria.

Nel caso opposto, a studiare la teoria per anni senza mai metterla in pratica si rischia di annoiarsi o peggio, di diventare un guru.

In fondo la figura del data scientist che cos’è? Visto da uno statistico il data scientist è uno sviluppatore che sa poco e male di statistica, visto da uno sviluppatore un data scientist è uno statistico che sa un po’ di Python. Visto da un recruiter, un data scientist è uno che sa usare Hadoop, Spark e ha lavorato con i Big data (senza precisare quanto big).

screenshot-2016-11-16-20-55-53

Nel mio percorso, guidato da curiosità intellettuale e necessità di imparare ed aggiornarmi mi sono trovato a voler e dover cercare un framework per il deep learning. Se volete sapere cos’è il deep learning vi consiglio un mio precedente articolo. Per la mia investigazione mi sono rivolto a tre framework: TensorFlow, MXNet e H2O. Perché questi e non anche Caffe, Torch, Theano e tutti gli altri che vi possono venire in mente? Perché TensorFlow, MXNet e H2O hanno una decente capacità di lavorare con il linguaggio R. Non che questo sia indispensabile per fare deep learning, ma insomma, quando si manipolano dati e numeri è moooolto scomodo ritornare a Python o Java dopo che si è usato R.

Premetto, quella che segue è una classifica molto personale, non scientifica e soprattutto non quantitativa. Una serie di opinioni insomma. Se volete un confronto più strutturato e ragionato leggete questo su wikipedia.

https://en.wikipedia.org/wiki/Comparison_of_deep_learning_software

Quindi alla luce dei miei criteri opinabili nonché segreti quale dei tre framework alla fine preferisco? Beh, ci sono pro e contro ma alla fine per me il vincente è TensorFlow. Vediamo perché.

TensorFlow è ben documentato, molto aggiornato (c’è Google che finanzia), la community sembra in crescita ed è facile trovare aiuto. L’interfaccia in R è ottima e documentata. Supporta le GPU e in futuro immagino le TPU (cosa sono?). Comincia a diventare keyword anche per i recruiter. Difetti: l’installazione è comunque un incubo. Sì, lo so che conta poco ma a me le piccole fastidiose bazzecole come versioni di Numpy , compilazioni infinite e dipendenze un po’ sparse possono far perdere la pazienza e tempo. Rivolto a Google dico: fate un installer decente per tutte le piattaforme! Grosso problema poi se vuoi installare il supporto GPU su Mac. Io ho desistito. Quando vedi che parte una compilazione di codice sorgente che poi si blocca è un brutto segno. Troppo prematuro per chi non vuole perdere tempo.

MXNet sembra un progettino di due studentelli, la company che ci lavora si chiama DMCL, e in questo momento il loro sito non risponde! 😮  Invece guardando bene c’è tanto lavoro dietro e un’ottima reputazione per questo progetto open source. Il pregio principale per me è che supporta CPU e GPU in modo molto immediato. Difetti: purtroppo non una grande community, la documentazione per R abbastanza incompleta e  le API sono ridotte rispetto a TensorFlow.

H2O viene da una startup che ha raccolto un bel po’ di fondi e di attenzione in Silicon Valley. Il prodotto è bello, basato su Java ed è molto facile installarlo e partire con qualche modello. Ha tuttavia alcune limitazioni secondo me inaccettabili. Primo problema: non supporta le GPU. Secondo problema non supporta le reti ConvNet (perché sono importanti?). Ho posto la domanda direttamente a uno dei loro ingegneri che presentava il prodotto in una fiera e mi ha risposto che volendo H2O può integrare MXNet o TensorFlow nel backend e ottenere anche le loro funzionalità 😮 Beh, ma allora perché installare H2O e non direttamente TensorFlow.

Cronache dal criptocosmo

Se una macchina deve essere infallibile non potrà essere anche intelligente (A. Turing)

Speriamo! (il sottoscritto)

Questo è un racconto di fantascienza cyberpunk, o forse no. Comunque vogliamo raccontare uno dei più grandi attacchi informatici che ha messo a rischio un patrimonio di oltre 150M$.

Una storia che tutti dovrebbero conoscere, anche se non siete esperti di Bitcoin, probabilmente finirà nei libri di storia, o almeno su quelli di informatica. Oggi non se ne parla se non nei forum dedicati, probabilmente non è nemmeno finita sulla home di Repubblica.

Partiamo dall’inizio, tutto inizia nel 2008 quando Satoshi inventa una moneta che viene generata dai computer, scambiata fra computer, impossibile da confiscare, clonare, falsificare, inflazionare, eliminare, abbattere, infine … impossibile da trascurare, il Bitcoin.

Il suo inventore è un misterioso anonimo individuo, nessuno sa chi è. Potrebbe essere una setta segreta, uno scienziato pazzo, un ricco genio annoiato, un novello Fantozzi che scrive il mega-presidente è uno stronzo sul cloud.

Quello che si sa è che molti cominciano a parlare di Bitcoin, certo non al telegiornale della Rai e nemmeno nella casa del GF. Ma insomma, preoccupati, curiosi, interessati, anarcoidi, tecnopati, avventurieri, truffatori, paladini della libertà, politici svegli e altri solo opportunisti. Viene sussurrato nelle alcove, gira nelle teste e nelle parole, viene cantato da poeti deliranti. The good wife ci fa pure una puntata, nel 2012, mentre la nostra banca resta per ora in-differente.

Vitalik è un ragazzino di 20 anni, testa un po’ quadrata, magrissimo, probabilmente un genio. Scrive di Bitcoin, quindi un giornalista. Non solo, scrive codice,  quindi un programmatore. Ha un’idea, decide di andare oltre Bitcoin, quindi un inventore. Perchè limitarsi ad una moneta per computer? Perché non mettere in piedi un intero universo in cui i computer rispettano dei contratti digitali molto più articolati. Vitalik ha in mente il computer definitivo che non può essere mai spento e dove programmi agiscono, scambiano transazioni, pagano, rispettano leggi. Quali leggi? Quelle scritte nei contratti che non possono essere infranti senza conseguenze. Code is law. Ricordiamocelo perché dovremmo tornare su questo.

Vitalik e co. mette su uno dei più importanti crowd funding della storia, quindi un imprenditore? Senza passare da Kickstarter (figuriamoci da un VC), vende quote del nascente progetto, paghi in Bitcoin ottieni Ether. Nasce Ethereum pre-sale.

Ma non arriva mai – qualcuno comincia a pensare “vi siete fregati i soldi” e qualcun’altro parte con il te l’avevo detto, in fondo

  • They are asking an insane 30k BTC
  • 50% pre mined
  • They are setting a price out of nothing for 1 eth, while it’s not even out yet
  • “ex” Goldman Sachs pricks are supporting this project

Però sarà il fatto che a differenza di Bitcoin, Ethereum suona meno anarchico, più politicamente corretto, piace di più alle istituzioni e alle corporation. In molti ci credono, scam, non scam, Microsoft e IBM ci credono. Microsoft aggiunge nel suo celebre (celebre?) Visual Studio uno strumento per programmare in solidity, il linguaggio per gli smart contract di Ethereum e IBM si lancia in un progetto che rimane un po’ fumoso che si chiama Adept che in un colpo solo incrocia due buzzword micidiali: Internet of things e blockchain. Ma non è l’unico …

Inizio del 2016, un bel momento per la blockchain, qualunque sia il significato che diamo a questa parola. C’è euforia, tutti parlano di Blockchain, ci sono blockchain per tutti i gusti …permissioned, unpermissioned, privata, pubblica, blockchain per i cibi, una per le piante, una per i dati, una per i diritti d’autore, blockchain più veloci, blockchain senza blocchi, blockchain senza chain, database pittati da blockchain, blockchain pistacchio e fragola etc.

Tutti parlano di blockchain – ai massimi livelli – ipotetica commissione governativa sull’innovazione tecnologica (true story)

avete messo degli obiettivi strategici sulla blockchain nel prossimo programma quadro

beh, abbiamo una nuova agenda digitale per l’innovazione

Sì, ma abbiamo messo dentro anche la blockchain?

Mah, veramente, dovremmo controllare

Il ministro è stato molto chiaro, senza blockchain salta qualche testa.

Ragazzini di vent’anni salgono in cattedra e sui banchi in fondo vecchi professori prendono appunti. Nel mezzo i quarantenni con qualche capello grigio, che magari hanno qualche Bitcoin da parte, e che hanno visto nascere il web, il p2p, il cloud etc. sono un po’ scettici. Perché dovrebbe funzionare la decentralizzazione oggi? Non ha funzionato nel 1990 circa quando è stato creato il web, non ha funzionato nel 200o circa con il p2p (beh emule e torrent funzionano però), infatti è arrivato il cloud, ma l’eroe di turno dice – non ero ancora nato nel 1994, non saprei dire cosa è andato storto – strappa l’applauso e mette tutti in fuorigioco. Non fare il vecchio, piegati anche tu al nuovo mondo delle DAPPs scritte poi con questi caratteri di MΞRÐA

Ma aspetta un po’, parliamo di contratti e di DAO. Cominciamo dai contratti o smart contract come si dice nell’ambiente. Prima precisazione gli smart contract non sono né smart né contract. Sono in realtà dei programmi che vengono messi in funzione sulla blockchain e vengono eseguiti in maniera identica in tutti i nodi della rete.

screenshot-2016-10-30-21-48-44

Ogni programma lo possiamo immaginare come una macchina a stati, ecco appunto. Ricominciamo, ogni programma ha dei registri in memoria che chiamiamo variabili di stato. Quando programma riceve una transazione, questo cambia il suo stato, spedisce un’altra transazione etc. Questi stati non sono memorizzati nella memoria di un solo computer ma in quella di tutti i computer (della rete). Questo per impedire che il programma possa essere spento o manomesso. In pratica le sue variabili sono mantenute nella blockchain alla stessa stregua del nostro saldo. Un computer terribilmente inefficiente, in pratica per eseguire un programma fatto di poche istruzioni migliaia di computer devono eseguirle in modo identico per poter dire: acconsento, siamo d’accordo sullo stato successivo del programma.

Terribilmente inefficiente ma praticamente indistruttibile, una volta che parte non può essere spento se spegnersi non è previsto nel suo codice.

Una Decentralized Autonomous Organization (DAO) è un contract con una dotazione finanziaria e che emette quote (token) che possono essere comprate con ether (la moneta di ethereum). Il contract può ricevere proposte progettuali e finanziarle usando la sua dotazione. Idealmente un nuovo modello di azienda senza uffici, senza CEO/CTO/CIO etc. che svolge in modo autonomo la gestione dei fondi e dove gli stakeholder votano con una transazione sulla blockchain, più token hai, più il tuo voto conta. Non è bellissimo?

Non avrai altro DAO all’infuori di me, e mi chiamerai THEDAO

Screenshot 2016-10-30 22.58.00.png

Parte la campagna, da un punto di vista dei termini di accesso e partecipazione la posizione dei developer è più o meno questa “il codice è legge noi non abbiamo responsabilità”. Sarebbe la solita nerdata senza conseguenze se non si rivelasse il più grande crowdfounding di sempre, 150M$ in un mese.

The terms of The DAO Creation are set forth in the smart contract code existing on the Ethereum blockchain at 0xbb9bc244d798123fde783fcc1c72d3bb8c189413. Nothing in this explanation of terms or in any other document or communication may modify or add any additional obligations or guarantees beyond those set forth in The DAO’s code.

Mi trovo seduto a pranzo ospite di una grande azienda quando uno di loro scherzando annuncia – Davide invested 50 grands on TheDAO – io quasi mi strozzo col boccone, gli altri mi guardano e io – nah, just few hundreds, I like playing with new toys. Siamo positivi, cosa potrebbe andare storto, e vabbe’ al max ci perdo qualche centone.

Ma quanto sono sicuri questi contratti? diciamo che un contratto per essere sicuro non dovrebbe essere lungo, qualche centinaio di linee al max. Non lo dico io, lo dice Vitalik in un AMA. Ma la DAO e’ lunghissima, migliaia di linee di codice. Aggiungi di qua, aggiungi di là. Non è che poi si sfascia tutto.

The second-system effect (also known as second-system syndrome) is the tendency of small, elegant, and successful systems to be plagued with feature creep due to inflated expectations.[1]  (The Mythical Man-Month.[2])

17 Giugno TheDAO viene sifonata, o quasi restano 27 giorni

Come ha fatto il DAO (o la DAO?) ad essere violato?
Quando un partecipante vuole uscire dalla DAO può scrivere del codice che invoca una funzione del contratto chiamata splitDAO () ma ci sono due problemi.

Il primo è che questa funzione quando invocata prima di tutto SPEDISCE gli ether al richiedente e solo DOPO impone che il nuovo balance è ZERO.

Il secondo problema, il codice di Ethereum può essere richiamato più e più volte facendo in modo che questa che dovrebbe essere una specie di macro transazione viene eseguita parzialmente molte volte, ma solo nella parte in cui spedisce i fondi e mai in quella in cui azzera il balance. Insomma, una bella regione critica, senza semafori, via libera … sempre.

Se la tua religione ti proibisce di leggere codice sorgente scrolla.

function splitDAO(
  uint _proposalID,
  address _newCurator
) noEther onlyTokenholders returns (bool _success) {

  ...
  // XXXXX Move ether and assign new Tokens.  Notice how this is done first!
  uint fundsToBeMoved =
      (balances[msg.sender] * p.splitData[0].splitBalance) /
      p.splitData[0].totalSupply;

  if (p.splitData[0].newDAO.createTokenProxy.
value(fundsToBeMoved)(msg.sender) == false) 
// XXXXX above is the line the attacker wants to run more than once
      throw;

  ...
  // Burn DAO Tokens
  Transfer(msg.sender, 0, balances[msg.sender]);
  withdrawRewardFor(msg.sender); // be nice, and get his rewards
  // XXXXX Notice the preceding line is critically before the next few
  totalSupply -= balances[msg.sender]; // XXXXX AND THIS IS DONE LAST
  balances[msg.sender] = 0; // XXXXX AND THIS IS DONE LAST TOO
  paidOut[msg.sender] = 0;
  return true;
}

Il processo continuerà all’infinito, fino a quando non esaurisce tutti i gettoni di TheDAO.

eh8yj3

In realtà però una pezza ce la possiamo mettere, infatti la DAO padre durante questo processo viene sifonata da una DAO figlia, che come il padre ha 28 giorni di tempo prima di poter finanziare qualcuno. Quindi è come una sanguisuga messa lì dall’hacker ma che l’hacker non potrà strappare dalla bestia prima di 28 giorni. C’è poco tempo … cosa possiamo fare?

screenshot-2016-10-31-19-50-53

Vitalik propone un soft fork, in pratica senza annullare nessuna delle transazioni già presenti nella blockchain ma limitandosi ad una specie di blacklist dove le transazioni aventi lo scopo di prelevare dall’account 0x7278d050619a624f84f51987149ddb439cdaadfba5966f7cfaea7ad44340a4ba (ie. the DAO and children) impedendo all’attacker l’accesso ai fondi superata la finestra dei 27 giorni.

Ai miners non restava che stare calmi, far funzionare le transazioni come al solito e aspettare una versione del software da scaricare e installare se avessero condiviso questa scelta.

L’attacker però non gradisce l’idea e scrive al mondo – vi denuncio, non sono un ladro. Ma il codice non era legge? In effetti, una legge ingiusta in questo caso, ingiusta per chi?

A soft or hard fork would amount to seizure of my legitimate and rightful ether, claimed legally through the terms of a smart contract. (…)

I reserve all rights to take any and all legal action against any accomplices of illegitimate theft, freezing, or seizure of my legitimate ether, and am actively working with my law firm. Those accomplices will be receiving Cease and Desist notices in the mail shortly.

(TheDAO Hacker)

Commento a caldo: ma ci sta trollando o davvero fa?

Ma visto che come minaccia legale è evidentemente poco credibile l’attacker trova un modo forse più efficace. Tenta di corrompere i miner, votate per me. Che significa, non adottate il soft fork.

[S]oon we will have a smart contract to reward miners who oppose the soft fork and mines the transaction. 1 million ether + 100 btc will be shared with miners.

TheDAO Hacker

Ma forse l’attacker non ha bisogno di scongiurare il soft fork, qualcosa è sfuggito ai geni della Ethereum Foundation, qualcosa è sfuggito a Vitalik.

Vitalik, ti sbagli il soft fork non funziona

Emin Gun Sirer è una cassandra (a Cagliari si direbbe una cugurra), ma nel caso della criptoanalisi e sicurezza informatica, si sa, la paranoia è una virtù. Peccato che nessuno ascolti le cassandre, altrimenti non sarebbero cassandre. Sirer è una figura nota nell’ambiente per aver spesso e volentieri messo il dito su possibili vulnerabilità nelle criptomonete, senza risparmiare ovviamente anche Bitcoin. Forse in tanti casi le sue analisi sono state speculazioni teoriche, ma questa volta trova una grossa falla all’idea del soft fork pensato per contrastare the DAO hack.

In pratica il soft fork diventa un vettore per un grande DoS (Denial of Service) che può essere architettato più o meno così: facciamo un flooding della rete con transazioni computazionalmente pesanti, e poi come ciliegina finale un’operazione sul DAO contract (quello blacklisted). Ecco che i miner si trovano impegnati a minare delle transazioni che poi si trovano costretti a rifiutare, bruciando cpu senza guadagnare nessuna fee.

Gotta find a way
To find a way
When I’m there
Gotta find a way
A better way

(Nirvana)

Allora facciamo l’hard fork, sì ma cos’è? In sostanza una specie di rollback, un tornare indietro nel tempo. In realtà è un ri-allocamento dei fondi sifonati dentro un nuovo contratto DAO, quest’ultimo “aggiustato” e che permetterà solo ai legittimi token owner di riprendersi i fondi depositati.

La parola passa ai miner, solo l’adozione praticamente unanime di questo passaggio, che richiede una nuova versione del software di mining, può decretare il successo dell’operazione salvataggio. Ma è giusto o no fare questo salvataggio? In fondo da un lato abbiamo uno scenario in cui un solo individuo ha sifonato una buona parte degli ether in circolazione, creando una centralizzazione in termini di capitale, e creando un’enorme contraccolpo psicologico a tutti quelli che avevano creduto in Ethereum prima e in TheDAO poi. L’altro scenario, quello risultante dall’hard fork, sembra premiare i poveri derubati, ristabilire la giustizia, punire il colpevole o per lo meno metterlo fuori gioco. Quindi il gioco sembra facile, andiamo di hard fork. Beh, no. Non è così semplice, si crea un precedente nella tecnologia blockchain, viene mostrato e deciso che in fondo la blockchain non è così immutabile, non è vero che una transazione è per sempre se attraverso un’opera di discussione e persuasione viene fatta passare questa operazione. Si compromette alla radice il concetto stesso di blockchain. In fondo se hai puntato i tuoi soldi su theDAO hai sbagliato tu. Non eri obbligato.

screenshot-2016-11-01-00-12-36

Blocco 1920000

Il fork è riuscito, Ethereum è salvo, TheDAO è salva, o meglio inutile. Anch’io appena possibile mi informo su come convertire i miei token in ether e dimenticare questa storia. E’ stata una piccola esperienza negativa per il sottoscritto, immagino che qualcuno ci avesse investito parecchio, ora potrà tirare un sospiro di sollievo e recuperare i soldi. Non proprio tutti forse, insomma la restituzione dei DAO avviene al tasso base, mentre chi li ha comprati nella fase finale ha speso più di quello che recupera. Insomma la fregatura grossa e scongiurata. Per quelle piccole come limature, spread, gabelle, balzelli etc. non c’è scampo. Tutto sembra tornare alla normalità. I blocchi si susseguono al ritmo di uno ogni 15 secondi, come al solito, 1920001, 1920002, 1920003, … la vita riprende, in quel mondo ai più sconosciuto.

Qui Blocco 1920000, sono Ethereum classic, vi parlo dal passato e non mi arrendo

Blockchain e fork, idealmente una Blockchain ha una sola testa che avanza nel tempo blocco dopo blocco come un serpente digitale che guarda sempre avanti. Se per qualche malaugurato caso la rete dei miner si divide e crea una seconda testa la Blockchain si divide, una parte della rete cresce sulla testa numero uno, e l’altra parte sulla testa numero due. In generale quando questo succede tutti i nodi se ne accorgono e il protocollo stabilisce cosa fare: eliminare la branca che risulta più “corta”, diciamo con meno blocchi (non è così semplice, ma lasciamo stare i dettagli). In questo modo la branca perdente sparisce e la chain torna ad avere una sola testa. Questo vale quando la community è coesa e il fork avviene per caso, ma cosa succede quando il fork è forzato da un cambiamento delle regole e qualcuno non vuole invece cambiarle. Succede che nasce Ethereum Classic.

It is however, with deep regret, that we as a community have had to spontaneously organize to defend the Ethereum blockchain platform from its founding members and organization due to a long train of abuses, specifically by the leadership of the Ethereum Foundation.

(Ethereum Classic Declaration of Indipendence)

Questa subcommunity continua a minare a partire dal blocco del fork, il 1920000 e da lì in su ma non con le nuove regole, bensì tenendo le vecchie, dove esiste una DAO sifonata ed un signor hacker che con il suo address prima o poi potrà intascare il maltolto.

 

Se sei arrivato in fondo a questo abbastanza lungo post ti meriti un premio. Ti linko qui una versione molto divertente di questa storia.

La storia di Ethereum by Whale Panda