Emanuele 5 ottobre 2017 funzionamento blockchain 2

Raiden Network ha di recente permesso di vedere un’anteprima dietro le quinte dello stato di avanzamento della programmazione e quindi dello stato di realizzazione del loro canale. Questa tecnologia è estremamente entusiasmante e rappresenta uno dei più importanti progetti che offre soluzioni di scalabilità per Ethereum. Raiden lo fa principalmente facendo transizioni On-chain off-line e dando agli utenti gli strumenti per comunicare Off-chain.

Per spiegare questo paradigma dell’off-chain on-chain, così come gli scambi di beni, affronteremo il problema passo dopo passo, e proverò a spiegare come il network Raiden fornisca un ottimo esempio dei benefici che l’off-chain ha da offrire. Iniziamo prima di tutto dai motivi per cui la tecnologia blockchain è così importante.


Universal Acceptance of State

Blockchain ci fornisce e introduce il concetto di  “Distributed Ledger Technology (DLT)”, termine che è più facile da comprendere se lo analizziamo parola per parola.


Distributed

Un sistema ripartito è un sistema che condivide tutte le informazioni con tutti i partecipanti a prescindere da chi siano, tutti i partecipanti quindi sono allo stesso livello. I partecipanti dunque possono, se e quando vogliono, accedere a tutte queste informazioni condivise. Un sistema totalmente ripartito è un sistema che ha un protocollo trasparente che fornisce ad ogni partecipante un alto livello di fiducia nel fatto che ogni informazione è stata resa disponibile.


Ledger

Per capire di cosa si parla quando si tratta di Ledger occorre partire dal significato originale e originario di Ledger: “Libro Mastro“ ossia la base fondamentale della contabilità.  I Ledger sono molto più facili da capire perché in qualche modo li usiamo e gli diamo forma da quando gli esseri umani hanno iniziato a scrivere.

I ledger non sono altro che registri di quello che è o è stato. Un libro contabile per esempio tiene traccia di dove si trovano i soldi, lo stato attuale dei beni. Se guardi il saldo del tuo conto in banca vedi 1€ , allora significa che lo stato o la posizione di quel valore è nel tuo conto corrente bancario.

Chi lo ha comunicato alla banca?

Qualsiasi persona o organizzazione che ha mandato un messaggio, sia elettronicamente attraverso un bonifico o un assegno firmato, o versando i soldi fisicamente alla banca e dicendo che 1€ è tuo.

Come fa la banca a sapere che quell’euro apparteneva originariamente a quell’altra persona o ente?  

Perché il messaggio fisico (assegno) o elettronico (bonifico) è gestito da un’altra banca o istituzione di cui la tua banca si fida.

Come fa la banca a fidar…. ok fermiamoci qui.

Distributed Ledger Technology

A questo punto puoi notare che c’è molta fiducia tra uno svariato numero di persone e organizzazioni, ed è questo che fa funzionare la contabilità tradizionale. Quindi cosa succede quando hai della valuta al di fuori di questa tradizionale rete di nodi fidati? Generalmente non serve a niente a meno che non la inserisci tu all’interno della rete. Questo non solo richiede che hai accesso a una rete fidata, ma anche che la specifica rete a cui accederai riconoscerà adeguatamente il valore che hai intenzione di scambiare.

È proprio necessaria tutta questa fiducia?

Se riportiamo l’attenzione sul sistema distribuito di cui si è parlato prima, ci viene ricordato che quel sistema fornisce un alto livello di fiducia attraverso la condivisione di tutte le informazioni. Bene, se tutte le informazioni sono state rese disponibili, allora non hai più bisogno di un “nodo” fidato per tenere traccia del libro maestro.  Lo stesso libro (o ledger) esiste in ogni nodo, incluso il tuo, e ogni altro singolo nodo crede infatti che anche essi posseggono lo stesso ledger. Quindi a questo punto vieni universalmente riconosciuto.


Autorità finale

Adesso che siamo sicuri della nostra abilità di avere a disposizione tutte le informazioni che vogliamo grazie al sistema distribuito, possiamo essere certi dei soldi che ci vengono inviati. Ogni volta che un partecipante vuole cambiare qualcosa, la richiesta passerà attraverso ogni singolo partecipante e tutti quanti concorderanno allo scambio attraverso il protocollo stabilito. Il che significa che l’atto di concordare effettuato dagli altri partecipanti verrà considerato come una sorta di “autorità finale”.  Questo sembra fantastico, ma presenta un piccolo problema: inviare ogni singolo scambio ad ogni singolo partecipante significa che ogni partecipante deve in qualche modo registrare ogni singolo scambio. Nonostante stiamo parlando del mondo digitale, questo processo ha delle limitazioni.

Per risolvere questo problema, abbiamo bisogno di pensare al concetto di autorità finale nel senso convenzionale del termine, nel contesto di fiducia. Quando facciamo grandi movimenti di denaro, come comprare una casa o una macchina, o firmare qualche grosso contratto commerciale, abbiamo un testimone imparziale, come un notaio. Questo meccanismo fornisce te e la tua controparte di un alto senso di fiducia, e la sicurezza che la rete fidata (la banca) riconoscerà questo scambio.

Il problema si pone quando andiamo in un negozio o a mangiare fuori al ristorante, poichè non abbiamo un notaio che ci segue sempre in giro. Bisogna infatti notare che questo meccanismo, che prevede una rete fidata, non viene usato molto spesso perchè risulterebbe estremamente caro e scomodo nella vita di tutti i giorni.

Se inviare soldi ad un sistema ripartito equivale a inviarli a parti terze che fanno da testimoni, allora qual’è l’equivalente di mandare soldi con soltanto una firma? La risposta sono le transazioni off-chain.

Chiavi private e accordi Off-chain

Adesso ti starai chiedendo, se mandiamo delle transazioni off-chain, come fanno gli altri a verificare se mando una transazione valida senza usare blockchain? Non era il punto cardine del sistema distribuito il fatto che tutti possono avere accesso alle informazioni? Senza questa condivisione di informazioni, non si avrebbe un sistema di tracciamento-valute adeguato, giusto?

Allora… bisogna guardare all’intero sistema attraverso una lente diversa. Un elemento che non abbiamo ancora analizzato sono i nodi, e in particolare come fanno i nodi in un sistema distribuito a sapere che la richiesta di transazione che hanno ricevuto è valida.

Il processo di creare una transazione valida prevede l’uso della crittografia usando una coppia di chiavi pubbliche e private. Per metterla in maniera semplice, nello schema crittografico usato da blockchain, ogni chiave pubblica ha esattamente una chiave privata che le combacia e viceversa. Le chiavi pubbliche stanno ai nostri indirizzi pubblici nella rete, come le chiavi private stanno alle nostre firme personali che nessun altro conosce, e per questo private. Inoltre, è dimostrato che ogni transazione “firmata” da una chiave privata viene inviata dall’indirizzo pubblico associato.

Spero che questa breve spiegazione vi abbia aiutato a comprendere, anche se in linee generali, come Raiden Network crei le transazioni senza neanche usare le blockchain. Il processo di creazione di una transazione valida è indipendente dall’uso delle blockchain che registra la transazione.

Colleghiamo i punti

Adesso che abbiamo un’idea generale dei vari elementi che formano la struttura, possiamo comprendere meglio gli State Channel e progetti come il network Raiden. Una cosa che abbiamo imparato nella sezione precedente è che possiamo letteralmente creare una transazione che cambierà lo stato nel nostro sistema distribuito SE la inviamo. Adesso quindi, mettiamo insieme tutti i pezzi e veniamo a capo di questo enigma delle blockchain. Se sai come funzionano gli assegni bancari allora dovrebbe essere facile comprendere il resto. 

Diciamo che vuoi inviare a parti terze dei soldi in forma di token, attraverso il network Ethereum. Questa terza parte è anch’essa connessa con questa rivoluzionaria DLT (Distributed Ledger Technology) e quindi è felice di accettare i tuoi soldi in forma di token. Sai che ci saranno parecchi passaggi avanti e indietro riguardo questi soldi e preferiresti ridurre sia il costo che la tempistica della transazione per evitare i limiti delle blockchain. Come fare?

Lo state channels del network Raiden ti permette di salvare lo stato dei tuoi beni dal network principale di Ethereum, depositandoli in un canale diretto con la tua controparte. Questo network capisce le funzioni crittografiche che stanno alla base e che verificano le transizioni “firmate” dalla tua chiave privata. E’ come mandare un assegno firmato che non può tornare indietro, non sono i soldi veri propri che passano nel network principale, è una rappresentazione verificabile della tua intenzione a trasferire questi soldi.

La tua controparte, che ha accettato la prima fase di questa transizione entrando in comunicazione con te nello State channel, possiede adesso una transazione firmata che permetterà il passaggio di soldi una volta che lo scambio viene pubblicato sul network principale. La consapevolezza che tutte queste informazioni siano disponibili sulla blockchain, e il fatto di possedere una transazione firmata dal tuo partner commerciale, fornisce la sicurezza necessaria per far procedere lo scambio come se fosse già avvenuto sul network principale.

Dov’è la fregatura?

Se mando e ricevo un assegno da te, qual’è il mio interesse personale? Mettendo fiducia ed etica da parte, il mio interesse è quello di tenere tutte le transazioni che mostrano che mi hai mandato dei soldi, e buttare tutte quelle dove io ti ho mandato soldi. Tuttavia, tu potresti avere lo stesso interesse. Il rischio sta nell’abilità da entrambe le parti di pubblicare lo stato finale del canale all’autorità finale… ossia la rete principale di Ethereum.

Lo strumento che è stato correntemente sviluppato da Raiden permette di fissare una sessione a tempo quando si stipula un accordo, che può venire definito quando si apre un canale network. Quando una delle parti decide di chiudere l’accordo, la controparte riceve la comunicazione relativa la sessione scaduta per poterle chiudere l’accordo a sua volta. A quel punto lo stato del canale va all’autorità finale.

Come Ethereum, Raiden è solo l’inizio di una bellissima rivoluzione tecnologica.

di C.Brown

Clicca qui per accedere alla guida gratuita su come comprare, vendere, trasferire e conservare in sicurezza gli Ether.