blockchain e dintorni (2)

privatekey-chiaveprivata-codicesblocco

come si fa a dimostrare la paternità della chiave pubblica e quindi del testo originale ?

‘not your key, not your coin‘. chi ha la disponibilità della chiave privata dispone anche del contenuto, in valore, ad esso collegato. di fatto l’algoritmo di generazione delle chiavi (sha256) genera prima la chiave privata dalla quale viene dedotta in modo irreversibile e univoco la chiave pubblica: praticamente la chiave privata è un codice che sblocca, consentendo di spenderli i valori contenuti a quell’indirizzo (chiave pubblica).

quindi, chi possiede la chiave privata è, presumibilmente, il possessore (autore) del messaggio che ha generato anche la chiave pubblica.

questo sistema ha l’inconveniente di perdere la paternità del testo generato qualora la chiave privata dovesse essere smarrita o rubata.

esiste però la possibilità di ovviare a tutto questo in maniera molto semplice. se all’interno del testo, magari in appendice si inseriscono i dati identificativi dell’autore (questo testo è stato scritto da mario rossi nato a , il …) il problema è banalmente risolto anche in caso di smarrimento o furto della chiave privata. potrò perdere il valore collegato ma mai la paternità del testo.

nella blockchain di bitcoin come in altre, vengono conservate e per sempre tutte le registrazioni (chiavi pubbliche) fatte; quindi tramite la funzione crittografica sha256 posso, in qualsiasi momento, ricostruire la mia chiave partendo dal testo originale che però dovrà essere esattamente lo stesso, alla virgola.

sperimentare tutto questo è molto semplice e non costa niente basta andare su bitaddress.org (generatore di chiavi per bitcoin) e utilizzare la modalità “brain wallet“.

quindi chiunque da ora può utilizzare, quasi gratuitamente la funzione di notariato senza bisogno del notaio …. se vi pare poco !

long life bitcoin !

blockchain e dintorni (1)

publickey-chiavepubblica-indirizzo

tra i tanti pregi della rivoluzionaria tecnologia blockchain, una in particolare mi sembra sottaciuta o poco enfatizzata. il cosiddetto “timestamping” che consiste nel certificare in maniera insindacabile che un fatto (una transazione in blockchain) sia avvenuto in una data e ora certa: appunto la data e l’ora di inserimento della transazione in un blocco della blockchain.

parlo di blockchain e presumo quindi che chi legge ne abbia un idea abbastanza chiara; per i meno informati blockchain.info (non esiste un sito ufficiale).

finora per certificare un evento ad una certa data si utilizzavano le poste italiane: si autoinviava una raccomandata all’interno della quale , sigillati, c’erano i documenti di cui certificare la data di creazione tramite il timbro postale apposto anche a sigillo e integrità della busta. si usava, ad esempio per certificare la data di presentazione di una comunicazione fatta ad un ente o istituzione. all’epoca la certezza della data era quindi affidata ad un timbro postale che comunque era corruttibile per chi ne avesse la convenienza e la possibilità !

con l’uso della blockchain tutto ciò non è possibile o più precisamente non è “praticamente” possibile essendo il sistema stesso (penso alla blockchain di bitcoin, certamente la più sicura in assoluto) decentralizzato, incensurabile, permissionless e praticamente incorruttibile.

ogni transazione della blockchain è legata ad un indirizzo/chiavepubblica che tutti possono vedere; ad ogni indirizzo corrisponde quindi, in entrata o in uscita, un valore associato (nel nostro caso bitcoin).

per generare l’indirizzo da inserire nella blockchain ci sono diversi modi, tutti validi e riconosciuti dall’algoritmo di bitcoin: generazione di numeri casuali; un numero binario qualsiasi di 256 bit; un testo alfanumerico qualsiasi che attraverso una funzione crittografica (sha256) viene trasformata in un numero alfanumerico riconosciuto dall’algoritmo. e qui siamo alla caratteristica che più ci interessa: l’indirizzo/chiavepubblica può essere quindi un testo qualsiasi e di lunghezza variabile;

quindi con un importo minimo di 5-10 euro associato a tale indirizzo posso registrare nella blockchain una frase qualsiasi. praticamente inverto l’utilità della funzione e, dove l’indirizzo/chiavepubblica è funzionale al valore collegato, decido di utilizzare un valore minimo che però mi da la possibilità di “registrare” una frase.

la frase quindi può essere il testo di una canzone inedita; una poesia; un testamento; una vendita o possesso di un oggetto; la cessione a qualsiasi titolo; un risultato numerico; una previsione di qualsiasi tipo; un marchio; ecc.

si capisce quindi che tutti i protocolli di protezione della proprietà intellettuale e molto di più diventano superati da una semplice registrazione nella blockchain (ledger) che già c’è ed è inviolabile ed intellegibile da tutti senza bisogno di notai (wow!), avvocati e tribunali. quindi chiunque abbia in mente di registrare un testo originale può de facto certificarne l’origine, la data e la proprietà con veramente pochi spiccioli.

è questa certamente una grande rivoluzione !!

segue privatekey-chiaveprivata-codicesblocco