I soldi non esistono

italia-carta-moneta-repubblica-100-mila-lire

“Pagabili a vista al portatore”. Pagabili cosa? Le diecimila Lire? Cioè se io fossi andato in banca con una banconota da diecimila Lire il cassiere mi avrebbe pagato diecimila Lire? Il denaro è complesso anche nel linguaggio. Ma no – direte voi – significa che la Banca d’Italia aveva dentro i forzieri l’equivalente in oro di diecimila Lire per quella banconota e invece di costringerti a portarti dietro quel fardello aveva stampato una bella, ed era bella, banconota. Falso! Da quasi un secolo non è più così. Il Gold Standard è stato abbandonato dal 1931 e il denaro è sganciato dalle vere ricchezze di chi lo stampa. La moneta è diventata a corso legale, che significa che vale qualcosa perché lo dice la legge. Il denaro è una merce che quindi passa di mano in mano spinta dalla semplice fiducia che se oggi io la ricevo in cambio di un qualcosa, domani potrò spenderla per avere in cambio qualcosa di equivalente. Ma quindi come viene controllata la sua creazione? Ad esempio come fanno le banche a ottenere i soldi che poi prestano ai loro clienti per comprare case, macchine, aziende?

Ma ci sono i risparmi – direte voi – migliaia di nonnine e nonnini che nella loro vita hanno messo da parte ogni mese qualche decina di dollari, euro, sterline e così via e che ora costituiscono fondi trilionari che possono essere investiti in piccoli e grandi progetti, dal mutuo della giovane coppia fino al passante ferroviario ad alta velocità. Falso anche questo!

Ci vorrebbero miliardi di nonnini e nonnine parsimoniose, i conti semplicemente non tornano. Quello che sfugge alla comprensione comune è che le banche creano i soldi nel momento in cui qualcuno li chiede in prestito. Quando un cliente ben intenzionato chiede un prestito alla banca sta creando un debito ed un credito, cioè del nuovo denaro. Questo perché il debitore onesto farà di tutto per restituire quel denaro attraverso la creazione di nuovo valore: lavorerà fino alla morte per estinguere il debito. Il nuovo “oro” è il lavoro dei debitori onesti. Il nuovo Gold Standard sei tu! Certo ci sono dei limiti, ma questi limiti sono alti.

Pensate che me lo stia inventando? No, lo scrive un rapporto pubblicato dalla Bank of England[link]

Whenever a bank makes a loan, it simultaneously creates a matching deposit in the borrower’s bank account, thereby creating new money

Ecco che quindi la Banca Centrale si limita in genere a favorire il circuito dei prestiti attraverso la manopola dei tassi d’interesse: tassi più bassi per facilitare l’accesso al credito, tassi più alti per rallentarlo.

Qui si esprime probabilmente la quintessenza del potere dei numeri. Immaginate un consesso di personalità che ogni mese si riunisce intorno ad un tavolo – che in confronto la Tavola Rotonda di Artù è roba da Ikea – e dopo una cerimonia solenne mette a verbale un unico numero: 0.5% (o simile). Una riunione con produttività molto scarsa si potrebbe obiettare, anche perché i signori seduti a quel tavolo sono i banchieri più pagati del mondo e con ogni minuto del loro tempo si potrebbe costruire un’aula scolastica o comprare un’ambulanza. Tuttavia i destini di 400 milioni di persone dipenderanno da quel numero.

Solo che c’è un limite inferiore al potere di questa manopola che è lo zero. Non posso prestare denaro con un tasso d’interesse negativo, anche se qualcuno ci sta pensando.

Sempre la Bank of England dice:

In exceptional circumstances, when interest rates are at their effective lower bound, money creation and spending in the economy may still be too low to be consistent with the central bank’s monetary policy objectives. One possible response is to undertake a series of asset purchases, or ‘quantitative easing’ (QE). QE is intended to boost the amount of money in the economy directly by purchasing assets, mainly from non-bank financial companies

Cioè, cosa rimane da fare quindi alla Banca Centrale quando i tassi sono già pari a zero? Rimane solo la possibilità di stampare nuovo denaro. Nelle semi dittature o in regimi più o meno corrotti il nuovo denaro viene dato direttamente agli amici e familiari del governo, nei paesi più civili si fa il Quantitative Easing che significa comprare il debito pubblico. Quindi il denaro che preleviamo al Bancomat è solo un voucher, un coupon per trasmettere valore con un passaggio di mano. In effetti i Bancomat potrebbero in futuro stampare direttamente le banconote, non cambierebbe niente.

— altri articoli e approfondimenti su Il Bitcoin sotto il materasso

Ma allora i Bitcoin esistono

E’ stata l’affermazione di mia moglie e in effetti questa è quasi una prova tangibile. Si chiama BTM, ovvero Bitcoin Transfer Teller Machine (thx Michele). Ci sono diversi modelli e diversi provider. Alcune consentono di acquistare Bitcoin, altre di venderli e alcune entrambe le operazioni. Ho avuto modo di provarne una e ho effettuato un acquisto.

whatsapp-image-201604302b252812529

Non avendo con me il codice QR del mio wallet, la macchina mi ha dato la possibilità di creare seduta stante un paper wallet, cioè una nuova chiave privata ed un indirizzo Bitcoin stampati su una specie di scontrino cartaceo e sul quale accreditare la somma appena acquistata.

Questo metodo non è molto sicuro, in teoria la macchina conosce la chiave privata del wallet appena creato e quindi potrebbe in qualunque momento “saccheggiarlo”. Ma per la mia prova ho scambiato un totale di 10 sterline, quindi non è che dovessi temere chissà quali conseguenze. La modalità di funzionamento è molto semplice: si inserisce la banconota, si presenta il codice QR con il nostro indirizzo Bitcoin alla telecamera, e la macchina procede alla transazione. Dato che ogni transazione Bitcoin richiede un tempo medio di 5 minuti per essere confermata, bisognerebbe aspettare lì e assicurarsi, usando un servizio che ci permette di verificare le transazioni online, se la cifra viene effettivamente inserita in una transazione valida e successivamente confermata. Confesso che non ho aspettato e non avevo nessuna intenzione di controllare immediatamente. Il cambio non è particolarmente favorevole, a occhio un 10% più caro di Preev, ma d’altronde se ti scappa di prelevare dei Bitcoin …

Per trovare il “bancomat” ho utilizzato il servizio @CoinATMRadar. Nel mio caso ho selezionato l’unico che era aperto dopo le 19 e di Sabato. Mi sono ritrovato nella zona di Old Street, un ambiente con zero Fintech firm e molti Pub, e infatti la BTM era in uno di questi … il  Bar 186

Che cos’è veramente il deep learning

L’hypecycle implacabilmente ci propone nuovi topic che ci fanno sentire in colpa perché non ne sappiamo abbastanza. Uno di questi è il deep learning. Ma esiste o è solo una buzzword? Cos’è allora? Qualcuno lo sta facendo veramente o è come il solito “sex at college”, tutti ne parlano ma nessuno lo fa.

Partiamo dall’immaginario collettivo, deep learning è già di per se una buzzword formidabile nell’evocare qualcosa che si nasconde tra le pieghe di nuove meraviglie come le google car che guidano da sole e i computer capaci di far rivivere lo stile di Van Gogh. Sul lato oscuro, abbiamo letto di eminenti scienziati parlare di fine dell’umanità, di pericolo superiore al riscaldamento globale, di razza umana come semplice boot loader per la macchina senziente che verrà.

Cerchiamo di capire cos’è.

Secondo Michael Jordan (non quello alto 2mt): … su tutti gli argomenti accademici c’è un sacco di disinformazione. I media sta cercando di fare del loro meglio per catturare i lettori. Il Deep Learning è in gran parte un rebranding delle reti neurali, che risalgono al 1980. In realtà risalgono al 1960 e sembra che ogni 20 anni ci sia una nuova onda che li ripropone. Le reti neurali si chiamano così perché ispirate, se non al funzionamento, almeno alla struttura che idealmente abbiamo del cervello umano, un organo composto da cellule neurali che sono collegate tramite assoni e sinapsi fra loro.

Rete neurale artificiale e neuroni di un piccione

 

Ma in realtà – sempre secondo Jordan – pensare che il deep learning sia un approccio ispirato al funzionamento del cervello umano e di come questo elabora le informazioni , impara e prende decisioni è semplicemente sbagliato!

In realtà una rete neurale è più semplicemente un modello matematico esprimibile come una funzione, diciamo f( ) che prende dei dati in ingresso e restituisce un output che dipende dalla nostra applicazione (vedi esempi sotto).

output = f ( input )

dove input potrebbe essere il log del nostro webserver e output potrebbe essere “attacco informatico”  oppure “tutto apposto”. Oppure, input potrebbe essere l’immagine un’immagine da TAC e  output= “tumore in corso”/”tutto regolare”. In generale la rete neurale risolve un problema di classificazione. Ad esempio, il software che riconosce il volto delle persone nelle immagini è molto probabilmente basato su una rete neurale.

Il fatto è che questa funzione contiene anche una, in genere numerosa, serie di parametri che come delle immaginarie manopole filtrano o amplificano alcune parti dell’input. Per farsi un’idea, ogni freccetta nel diagramma qui sotto corrisponde ad uno di questi parametri.

neural_net
Rete neurale molto semplice

 

Il disegno semplifica parecchio dato che nei casi reali il numero delle “freccette” è molto elevato. Quanto elevato? Per avere un’idea pensate che i pallozzi di input layer corrispondono ai pixel di un’immagine.

classify
Mi è semblato di vedele un gatto!

Quindi una bitmap 1000×1000 ha bisogno di un input da 1 milione di elementi

Si parla di learning perché questa funzione va addestrata, in pratica si mettono in input dei dati di cui conosciamo con precisione l’output e si cerca di ottenere l’insieme dei parametri che permette alla nostra rete di indovinare il massimo numero di output conosciuti (la groundtruth). Questo passaggio si chiama training.

Questo spazza via l’analogia suggestiva e un po’ romantica con il cervello umano e il fatto di aver inserito una piccola formula matematica penso abbia spaventato la metà dei lettori. In realtà quella mostrata qui è una versione super edulcorata di questa, e così mi son giocato anche l’altra metà.

In una rete neurale in genere queste funzioni corrispondono ad uno dei pallini del diagramma, che in genere sono oraganizzati in una o più schiere verticali dette livelli. Nel nostro caso abbiamo due livelli, uno hidden ed uno output. Più livelli significa più pallozzi (o meglio neuroni), e più pallozzi significa più parametri che devono essere aggiustati dal nostro algoritmo di training.

“Deep” perché se aggiungiamo molti livelli a questo schema otteniamo delle reti profonde che hanno delle caratteristiche interessanti: data una mole di dati (immaginate una tabella di numeri con centinaia e centinaia di colonne) queste sono in grado di “capire” da sole quali di queste colonne vanno mantenute e quali semplicemente scartate. Sono in grado di applicare delle “rotazioni” nello spazio vettoriale (whatz??) in modo da massimizzare la quantità e la qualità d’informazione trattata. Suona un po’ complicato? Lo è. Facciamo un esempio, sappiamo che la taglia di una persona (XS,S,M,L,XL,XXL) dipende dalla sua altezza ma anche dal suo peso.

taglia dipende da (altezza, peso)

Ebbene, molto probabilmente esiste una combinazione lineare di queste due grandezze che chiamiamo “corporatura” che potrebbe essere espressa in termini di somme e prodotti

corporatura = coefficiente1 * altezza + coefficiente2 * peso

Dove coefficiente1 e coefficiente2 sono dei numeri che inizialmente non ci sono noti e non entriamo nei dettagli di come vengono calcolati, diciamo che servono a dare importanza all’altezza e al peso rispettivamente.

Questa nuova feature potrebbe essere molto più utile e rapida per classificare la taglia di una persona rispetto all’insieme delle due che abbiamo raccolto attraverso le misure. Questo ragionamento lo abbiamo impostato in modo manuale e si basa su un’ipotesi ragionevole data dalla nostra conoscenza del problema. Una rete neurale (e specialmente una rete profonda), è invece in grado di estrarre automaticamente queste feature più efficienti senza avere una conoscenza del problema che sta trattando.

tikz41
Una rete (poi non così) deep

Il problema del Deep è che aumentando il numero di livelli di una rete neurale si aumentava a dismisura il tempo necessario per fare il training. Però siamo nel 2016, e mentre nel 1969 sono andati sulla luna con un computer potente come un Vic20, adesso un cellulare da 20EUR potrebbe contenere tutto lo scibile umano, almeno quello che vale la pena conoscere.

Addestrare una rete fully connected (dove ogni neurone è collegato a tutti quelli del livello successivo) resta comunque un problema complesso. Un approccio interessante consiste nel aumentare il numero dei livelli senza richiedere che tutti i vari neuroni siano completamente connessi. Ci sono diversi approcci (che non vediamo qui) dei quali diamo solo qualche link: Deep Belief Networks, Recurrent Networks, Convolutional Networks.

Non si tratta di risultati dell’ultima ora, La pagina LeNet di Yann LeCun (oggi head of AI a Facebook) è una piccola caverna delle meraviglie. La mia preferita è questa. La rete fornisce la risposta corretta in tempo reale (answer) mentre il “manoscritto” viene continuamente modificato.

a31
Rete alle prese con un riconoscimento di caratteri birichino

Per capirci, stiamo parlando di uno studio di vent’anni fa.

 

 

 

 

 

Prova notarile per autori indie nel 2016

 

389px-quentin_massys_-_portrait_of_a_man_-_national_gallery_of_scotland

Nel 2016 ci sono nuovi modi per proteggere un’opera inedita dal plagio di qualche malintenzionato, o per lo meno per dimostrare senza ombra di dubbio di esserne l’autore.

Il diritto d’autore sulle opere di ingegno nasce con l’opera stessa e la legge tutela le opere dell’ingegno per il solo fatto della loro creazione, indipendentemente da qualsiasi formalità di deposito e di registrazione.

In passato le possibilità erano essenzialmente tre, la prima consisteva nell’iscriversi alla SIAE ma questa opzione un po’ vecchio stile ha lo svantaggio di costare (tariffe sul sito SIAE) e di durare solo 5 anni. La seconda, forse ancora più costosa e vecchio stile, consiste nel depositare l’opera firmata in ogni sua pagina presso un Notaio. “Firmata in ogni sua pagina” dà già il senso ottocentesco della questione. Immagino i notai oggi siano più moderni di quelli di cento anni fa, tuttavia ho come il sospetto che per la maggior parte di loro la firma digitale sia una firma autografa scannerizzata. La terza soluzione, quella di chi non aveva soldi da investire in sigilli e diritti di cancelleria, era quella di spedirsi una copia dell’opera con una raccomandata in un pacco sigillato con timbri e data in bella vista.

Ma siamo nel 2016

abbiamo il wifi, i computer quantici, le stampanti 3d, e la crittografia asimmetrica e non è accettabile pensare in termini di “spediamoci un pacco sigillato con raccomandata”. Nel 2016 soprattutto abbiamo la blockchain (se non sapete cos’è vi consiglio di leggere I Bitcoin sotto il materasso). Ebbene, è possibile prendere un file e ottenere una sorta di “timbro” digitale con data e ora certa a prova della sua “esistenza”. Questa certificazione crittografica non viene semplicemente creata e poi conservata nel disco di qualche startup leggera che oggi c’è e domani sparisce, no viene scritta nella stessa blockchain dei Bitcoin, un archivio clonato in modo integro e non falsificabile in migliaia e migliaia di computer nel mondo.

Esistono vari servizi che permettono di inserire queste timestamp dentro la blockchain, io conosco Bitnation, proofofexistence and stampd.io. Devo ammettere di aver scelto quest’ultimo perché mi è sembrato leggermente più facile da capire e utilizzare (e non è poco). Nel caso del mio ebook, la GUI ha generato un SHA256 del mio file e con un piccolo pagamento di 0.09EUR ha inserito quest’informazione dentro una transazione Bitcoin di tipo OP_RETURN (in pratica una transazione che non sposta coin, ma contiene 40 byte di dati). Ora il mio ebook è crittograficamente attestato come “esistente” ad una data certa. Un piccolo paragrafo di testo come quello che segue serve a spiegare al mondo che

Tutti i diritti sono riservati. L’hash SHA256 del libro è sigillato nella blockchain nella transazione d922071f70c342e57908f58a03a9203b34b7ce00b37404c2f37fdd7a7f07a1fb 
OP_RETURN = 5354414d50442323 +5ad406c004e335c11c89b2e7a87a8dafc486cf2e09a795a0b0b918ad56a0efaa

In caso di vertenza, potrò crittograficamente dimostrare che possedevo una copia del file prima di chiunque altro, e questa prova la potrò fornire anche se stampd.io avrà chiuso i battenti poiché tale prova non è dipendente dall’integrità dei loro archivi ma dall’integrità della blockchain.

 

***

Approfondimento su questi temi in “I Bitcoin sotto il materasso“, disponibile per Kindle.

 

C’è scalabilità e scalabilità

Tutti a dire che Bitcoin non scala perché non gestisce più di una decina di transazioni al secondo e si dà per scontato che la scalabilità significhi usare più risorse per servire sempre più richieste in una maniera più o meno direttamente proporzionale.

Ma se ragionassimo in maniera completamente diversa e provassimo a contare non il numero di utenti e transazioni ma il numero di attacker, ossìa coloro che vogliono manomettere la sicurezza delle transazioni con double spending, manomissione dei blocchi e altre forme di attacco. Ebbene quello che salterebbe fuori è che il Bitcoin è capacissimo di scalare su questa dimensione.

Guardiamo la voce scalabilità su Wikipedia e scopriamo che esiste una scalabilità detta amministrativa.

Un sistema amministrativamente scalabile è quello che mantiene inalterata la sua gestibilità indipendentemente da quante organizzazioni lo utilizzano.

 

Non è esattamente quello di cui stiamo parlando?

Possiamo immaginare infatti che Bitcoin operi in uno scenario in cui tutti possono accedere alla rete senza autenticazione e tutti sono potenzialmente disonesti eppure nonostante questo la rete è sempre riuscita ad assorbire gli attacchi. Direi quindi che è estremamente resiliente ….ricapitolando: tutti accedono senza autenticarsi, tutti possono attaccare cercando di creare una copia disonesta della blockchain, nessuno è incaricato di approvare o revocare le transazioni …eppure in questo inferno di caos e disonestà la blockchain viene su “onesta”, integra e aliena come il monolite di Odissea nello Spazio.

Com’è possibile garantire che questo registro universale rimanga integro? Cioè come garantire che ogni aggiornamento sia onesto e venga riportato possibilmente in maniera identica in tutte le copie? La risposta = Proof-of-work.

La grandezza dell’innovazione del Bitcoin sta tutta qui. La soluzione parte dal presupposto che le pagine del registro universale (chiamate blocchi) debbano essere molto difficili da creare ma molto facili da riconoscere (nel senso di riconoscerne la validità).

A questo scopo è stato previsto che, data la difficoltà nella creazione di queste “pagine”, mediamente solo ogni dieci minuti qualcuno dei partecipanti riuscirà a crearne una nuova, mentre una volta creata, tutti gli altri partecipanti potranno istantaneamente verificare che le transazioni in essa contenute siano valide e quindi aggiungere il blocco alla loro copia locale.

E se un partecipante decide di barare e scrivere nella copia locale una cosa diversa e non veritiera? Beh, sarà l’unico fra tanti, e nessuno presterà attenzione alla sua copia.

E se nessuno dei partecipanti rispetta questa regola? Allora nessuna copia sarà ritenuta valida da nessuno degli altri partecipanti, la moneta non avrà nessun valore fino a che almeno due cominceranno a comportarsi in maniera onesta ed esisterà una versione integra condivisa da almeno due di loro. Gli altri si adegueranno o non avranno mai visione di una copia valida.

Ma se il numero di partecipanti raddoppia, il tempo di creazione di una nuova pagina (diciamo blocco) dovrebbe allora dimezzarsi? Sì, ma il protocollo prevede che i partecipanti debbano misurare periodicamente se questo succede e, se succede, debbano aumentare la difficoltà del “gioco” in modo da tenere il tempo medio di creazione pari a 10 minuti.

Il Bitcoin non è nato quindi per essere un modo efficiente per trasferire un credito da una parte all’altra del mondo. E’ nato invece per funzionare in un ambiente assolutamente ostile secondo due principi: nessuno ha titolo esclusivo per tenere traccia dei pagamenti; si dà per scontato che siano tutti disonesti e che tutti vogliano falsificare il registro universale. E se funziona in un ambiente così ostile lo deve alla magia della proof-of-work.

***

Approfondimento su “I Bitcoin sotto il materasso“, disponibile su Kindle.