01/06/2017

Serie Blockchain di Dialogic #2.

Una blockchain, come suggerisce il nome, è composta da blocchi successivi contenenti informazioni. Nella sezione precedente abbiamo visto come il proof of work può impedire a chiunque di aggiungere informazioni arbitrariamente a una blockchain. Ma come funziona esattamente questo meccanismo?

Questo testo è stato tradotto automaticamente e quindi può differire dall'originale. Nessun diritto può derivare da questa traduzione.

💬 Click here to read this page in English.

Come funziona una blockchain? Parte 2: blocchi

Una blockchain può essere compresa al meglio immaginandola come un foglio di calcolo online (nella 'cloud'). È condivisa con molte persone, che possono lavorarci contemporaneamente e visualizzare tutte le modifiche. Questo vale anche per la blockchain, in cui è consentito aggiungere informazioni solo "in fondo". Puoi modificare le cose, ma il passato rimane sempre intatto. Una blockchain è quindi molto trasparente.

Ma partiamo dall'inizio: com'è fatta un "blocco"? Un blocco contiene informazioni utili, come una transazione digitale o un accordo tra due parti.

Perché la blockchain accetti il tuo blocco, l'hash (o impronta digitale, vedi l'articolo precedente di questa serie) del blocco deve iniziare con un determinato numero prestabilito di "zeri". Come spiegato nell'articolo precedente, dimostri in questo modo di aver svolto un certo numero di calcoli quando hai creato il blocco. Questo impedisce, come abbiamo visto la scorsa volta, che una singola persona prenda il controllo completo di una blockchain.

Per far sì che l'impronta inizi con il numero specificato di zeri, dobbiamo "provare" molte varianti del blocco fino a verificare se l'impronta soddisfa il requisito. Per farlo, aggiungiamo al contenuto del blocco un numero (attualmente non utilizzato): il nonce. Modifichi il nonce finché l'impronta del blocco non inizia con il numero richiesto di zeri.

La 'double spend'

La blockchain è una catena di blocchi – la catena può essere estesa solo con un blocco alla volta. È possibile che due persone creino contemporaneamente un nuovo blocco. Questi blocchi potrebbero essere in conflitto tra loro: uno potrebbe contenere una transazione in cui denaro è speso per la persona A, mentre l'altro potrebbe contenere una transazione in cui denaro è speso per la persona B. Naturalmente, solo una delle due transazioni può essere confermata. Come risolve la blockchain questo problema?

Nella blockchain alla fine vince la catena più lunga. Quindi, se riesci a creare per primo un blocco che segue un altro blocco, è più probabile che quel blocco faccia parte della "catena più lunga". L'esempio qui sotto lo dimostra. I blocchi 006406 e 006274 vengono creati contemporaneamente. Poiché più blocchi seguono il blocco 006406, quest'ultimo diventa alla fine parte della catena più lunga.

Questo principio aiuta anche a prevenire modifiche ai vecchi blocchi. Quando i blocchi contengono transazioni finanziarie, non vuoi ovviamente che i soldi già spesi siano restituiti!

Immagina di voler modificare la transazione nel blocco '006406', cosa dovresti fare? Modificare la transazione cambia il blocco e di conseguenza l'impronta del blocco (ed è impossibile modificare il blocco in modo che abbia esattamente la stessa impronta del vecchio blocco). Ciò che puoi fare è quindi cercare di aggiungere di nuovo il blocco e ricalcolare manualmente i blocchi seguenti, creando una catena più lunga di quella attuale.

Per minare in totale cinque blocchi, è necessario trovare cinque volte un'adeguata impronta. Più lunga è la catena, più difficile diventa. Paragonabile alle tradizionali matrioske russe: se vuoi sostituire quella interna, devi aprirle tutte una per una e ricomporle una per una.

Nel frattempo, gli altri partecipanti continuano ad allungare la catena più lunga (che include la transazione indesiderata). Per essere più veloce degli altri, devi disporre di significativamente più potenza di calcolo (specificamente, hai bisoglio di una 'maggioranza' di >50% della potenza di calcolo totale della rete!).

Grazie alla blockchain le informazioni storiche non possono essere modificate, e i soldi possono essere spesi solo una volta, grazie alla maggioranza di potenza di calcolo necessaria. Ben pensato!

Per capire come qualcosa funziona veramente, preferisco smontarlo completamente.

Vuoi saperne di più su questo tema?

Tommy van der Vorst, partner

Conosci Tommy

Possiamo esservi d'aiuto?

Invia facilmente un messaggio a Tommy qui sotto:

Puoi anche chiamarci al +31 30 215 05 80 o inviarci un e-mail a tenderdesk@dialogic.nl. Risponderemo entro cinque giorni lavorativi.

I nostri recapiti