Terminologia essenziale della blockchain

Il Commento del giorno

– di WisyWally

Blockchain è generalmente considerato un argomento di natura tecnica complessa. Un importante requisito per avanzare nello spazio blockchain è capire in che modo determinati elementi tecnici interagiscono reciprocamente e si coordinano tra loro (specialmente quando si cerca di comprendere la cripto-economia o la cripto-legge). Ciò a sua volta richiede una familiarità di base con la sua terminologia. Ecco un elenco di base per qualsiasi principiante blockchain che dovrebbe aiutare a digerire le discussioni più tecniche.

Algoritmo di consenso

Forse uno dei termini più importanti nello spazio e sicuramente cruciale per comprendere le differenze essenziali tra le varie criptovalute. L’algoritmo di consenso è l’elemento che determina come viene raggiunto il consenso su quella blockchain. In altre parole, è la parte del protocollo blockchain che descrive chi riesce a convalidare blocchi di dati (e quindi ha diritto alla ricompensa) e come altri possono verificarne la legittimità. Tutte le entità partecipanti sulla blockchain devono aderire e seguire lo stesso algoritmo di consenso per partecipare.

Algoritmo di consenso – Proof of Work

L’algoritmo di verifica della Proof of Work è forse il più comune e viene utilizzato sulla blockchain di Bitcoin. Quando si applica l’algoritmo PoW, il primo minatore che presenta una “prova di lavoro” per un blocco può validarlo. Questa prova di lavoro può essere generata inserendo ripetutamente dati di transazione (blocco) + una sequenza casuale di cifre (nonce di blocco) in una formula (di hash), fino a quando viene trovato un risultato desiderabile (la prova di lavoro). Altri minatori possono verificare la prova del lavoro prendendo la presunta stringa di input e applicandola alle stesse formule per vedere se il risultato è effettivamente quello che è stato presentato. PoW è stato oggetto di accesi dibattiti come un algoritmo di consenso controverso a causa dei costi dell’elettricità coinvolti nell’esecuzione dei calcoli delle formule.

Hashing

La procedura che un minatore su una blockchain Proof-of-Work ripete costantemente per trovare una firma idonea (ovvero una prova di lavoro). In altre parole, è la procedura di inserire ripetutamente una stringa casuale di cifre in una formula di hashing fino a trovare un output desiderabile.

Nonce

Parte essenziale dei blocchi elaborati in una blockchain Proof-of-Work. Il nonce è un piccolo frammento di dati nel blocco che può essere modificato casualmente e ripetutamente in modo che i minatori possano continuare ad eseguire funzioni di hashing dei dati dell’intero blocco (cambia ogni volta che il nonce cambia) finché non trovano un risultato adatto (firma).

Algoritmo di consenso – Proof of Stake

L’algoritmo di Proof of Stake viene utilizzato da Blackcoin e viene considerato implementato almeno in parte sulla blockchain di Ethereum. Quando si applica l’algoritmo PoS, i minatori scommettono sulla criptovaluta in modo tale da aumentare le possibilità di essere selezionati per convalidare un blocco. La criptovaluta “messa in gioco” è bloccata come deposito per garantire che il minatore convalidi il blocco secondo le regole. Se il minatore viola le regole, il deposito sarà “bruciato”, alias distrutto. Al contrario della PoW, la PoS ha meno costi per i minatori (la PoW richiede molti costi di elettricità e hardware per il processo di hashing, la PoS richiede solo cose come configurazione del server, protezione DDoS, eccetera; ciò non toglie che anch’essa abbia dei lati negativi, se non di più rispetto alla PoW).

Algoritmo di consenso – Proof of Authority

L’algoritmo di Proof of Authority è una forma alternativa all’algoritmo di PoS. Invece di puntare criptovaluta (ricchezza), in PoA si mette in gioco la propria identità. Ciò significa rivelare volontariamente chi si è in cambio del diritto di convalidare i blocchi. Qualsiasi azione malevola che si può intraprendere come validatore, si rifletterà sulla propria identità. Le blockchain PoA richiedono una forma completa di KYC (un processo di verifica che determina chi è il soggetto che dichiara di essere).

Hyperledger

Hyperledger è uno sforzo di collaborazione open source creato per far avanzare le tecnologie blockchain cross-industry. È una piattaforma che unifica aziende e sviluppatori per coordinare e costruire framework blockchain in vari settori. L’iniziativa Hyperledger ha oltre 100 membri, tra cui aziende come IBM, Samsung, Deutsche Borse, American Express, BNP Paribas e Wells Fargo.

Blockchain senza autorizzazione

Una blockchain senza autorizzazione è una blockchain in cui gli utenti non necessitano dell’autorizzazione da parte di nessuno sulla rete per eseguire determinate azioni, incluso l’accesso alla rete. Pertanto è pubblicamente disponibile a chiunque, di solito molto trasparente e decentralizzata. La potenza (di voto) è equamente distribuita tra tutti i partecipanti alla rete. Esempio: Bitcoin (BTC), Litecoin (LTC)

Blockchain con autorizzazione

Le blockchain autorizzate sono l’opposto. Nodi specifici o entità su queste blockchain hanno poteri autorizzativi su altri, permettendo loro di nominare validatori e consentire o negare l’accesso alla rete. Le blockchain autorizzate hanno autorità centralizzate, possono essere chiuse o ecosistemi privati, e sono spesso meno trasparenti. Esempio: Ripple (XRP). Queste blockchain vengono spesso impiegate nell’area delle operazioni aziendali interne.

Lightning network

Il Lightning network è un livello aggiuntivo (“livello 2”) sopra una blockchain (su Bitcoin, ad esempio) che consente un’elaborazione più rapida delle transazioni utilizzando i “canali di pagamento”. Un canale di pagamento può essere aperto tra pari (parti) che registra tutte le transazioni tra queste parti senza inviarle tutte direttamente alla blockchain effettiva. Quando il canale di pagamento viene chiuso, tutte le transazioni vengono regolate tra loro e il risultato finale di tutte le transazioni viene inviato alla blockchain effettiva.

Plasma

Plasma è il concetto di Lightning Network implementato sulla blockchain di Ethereum.

Sharding

Sharding è una forma di partizione di una blockchain. Invece di elaborare tutte le transazioni su una blockchain, altre blockchain vengono eseguite sopra la prima. Elaborano tutte le transazioni e inviano frequenti aggiornamenti del loro libro mastro alla prima blockchain che registra gli aggiornamenti dei libri secondari delle blockchain di secondo livello in modo che la rete sulla blockchain di primo livello non venga intasata a causa di elevati volumi di transazioni (tipo di pagamento simile ai canali già discussi riguardo alla rete Lightning, ma in relazione a blockchain più piccole collegate ad una principale). La comunità di Ethereum sta attualmente sperimentando il concetto di sharding.

Fungible

Fungible significa che un dato bene è identico. Nel mondo delle criptovalute parliamo spesso di token fungibili o non fungibili . Un token fungibile è Bitcoin. Un Bitcoin è e sarà sempre un Bitcoin, proprio come qualsiasi altro Bitcoin. Tuttavia alcuni altri token possono essere non fungibili, il che significa che questi token possono avere differenze reciproche uniche. Un esempio è CryptoKitties. Lo scambio di CryptoKitties è tecnicamente raggiunto scambiando token, ma ognuno dei token CryptoKitties è unico, in quanto deve riflettere un gattino diverso (ad esempio il colore dei capelli). Questi token non sono fungibili, hanno proprietà leggermente diverse.

Hard fork

Si riferisce in genere ad una divisione della catena in cui un aggiornamento della rete impone ai minatori e ai nodi di scegliere tra la rete aggiornata o la versione originale della rete. Entrambe le reti funzioneranno separatamente da qui in avanti e non interagiranno più l’una con l’altra. Un minatore può solo mettere le sue risorse a lavorare su una delle catene ne lcaso di PoW (la storia si complica di più in caso di PoS). Un hard fork significa praticamente che la cronologia della blockchain fino a quel momento è stata copiata e regolata dalla rete aggiornata, risultando in due diverse catene e due diverse criptovalute. Tuttavia gli scambi di criptovaluta e le applicazioni wallet dovranno modificare anche il loro software per continuare a supportare la nuova criptovaluta. A volte scelgono di sviluppare un nuovo software per la versione aggiornata della criptovaluta, ma mantengono anche il software originale, in modo che l’applicazione supporti sia catene che entrambe le monete (Bitcoin e Bitcoin Cash, ad esempio). Possono anche scegliere di supportare solo una delle versioni, esercitando un’ulteriore pressione sulla comunità da seguire.

Soft fork

Un soft fork implica un aggiornamento del protocollo di rete, proprio come un hard fork, ma non costringe i minatori e i nodi a scegliere tra la vecchia o la nuova rete. I vecchi nodi e i minatori possono ancora partecipare alla nuova rete senza eseguire l’aggiornamento. Tuttavia, se la vecchia rete detiene la maggior parte del potere di estrazione, inizia a diventare più complicata. I nodi aggiornati non sono in grado di partecipare alla rete dei nodi precedenti, quindi se i nodi precedenti creano la propria catena come minoranza, la soft fork genera ancora una divisione della catena.

Minatore

Un minatore è un nodo sulla rete che tenta di aggiungere nuovi blocchi alla blockchain. Su una blockchain basata su Proof of Work un minatore fa questo per hashing. Su un blockchain Proof of Stake i minatori vengono spesso chiamati ‘forgers’.

Nodo (validatore) (client)

Un nodo è fondamentalmente un piccolo server che memorizza, aggiorna e trasmette una copia completa della blockchain. La blockchain esiste sui nodi. Se nessun nodo è online, una blockchain è offline e non può essere aggiornata o utilizzata. In caso di Proof of Work, i minatori sono sempre tenuti ad eseguire un nodo completo per estrarre.

Smart contract

Uno smart contract è un contratto digitale programmato su una blockchain (specificamente progettato per ospitare smart contract, come la blockchain di Ethereum). Uno smart contract viene distribuito su un indirizzo su questa blockchain e non può essere spostato né modificato in seguito. Il contratto (fondamentalmente una “sceneggiatura”) opera ed esegue in modo completamente automatico senza alcuna interferenza da parte di terzi. È pubblicamente disponibile a chiunque, da leggere e utilizzare. Uno smart contract spesso viene fornito con nuovi token. Questi token sono coniati all’indirizzo del contratto di distribuzione. Ecco un esempio del modo in cui potrebbe funzionare uno smart contract: viene distribuito uno smart contract denominato “new contract” e vengono caricati 1.000 “new coin” sullo stesso indirizzo. Il contratto è programmato per inviare automaticamente 1 new coin ad ogni indirizzo che invia all’indirizzo del contratto 1 bitcoin. Sebbene gli smart contract non possano essere modificati, ci sono alcuni trucchi per aggiornarli. Un esempio è quello di includere una codifica di override che si riferisce ad un contratto inesistente che solo il creatore può creare in futuro (includendo un indirizzo disponibile esclusivamente per il creatore) e che viene ignorato se non esiste.

Conferma

La quantità di conferme di un blocco si riferisce al numero di blocchi aggiunti in cima a quel blocco sulla blockchain. Ogni blocco aggiunto viene considerato come una conferma, poiché anche tutti i nodi della rete hanno verificato e validato indirettamente i blocchi prima di esso. Quindi, se vengono aggiunti 5 blocchi sopra un blocco, quel blocco ha 5 conferme. Maggiore è la conferma di un blocco, minore è la probabilità che venga modificato (più difficile da attaccare), quindi più sicura è la transazione considerata.

dApp

dApp sta per applicazione decentralizzata. Potrebbe trattarsi di un qualsiasi smart contract implementato sulla blockchain di Ethereum, in quanto tutti operano autonomamente, ovvero decentrati. CryptoKitties è un esempio di dApp.

Genesis Block

Questo blocco viene spesso definito come il primo blocco su una blockchain. Il Genesis Block di Bitcoin è stato creato il 3 gennaio 2009 e indica la nascita della sua blockchain. Un fatto divertente: il Genesis Block di Bitcoin cita il titolo del New York Times il giorno in cui è stato creato: “03 / Jan / 2009 Cancelliere sull’orlo del secondo piano di salvataggio per le banche”.

Blocco obsoleto

Un blocco obsoleto è un blocco valido che una volta veniva trasmesso da un minatore mentre un altro blocco valido veniva trasmesso contemporaneamente da un altro minatore. I nodi registreranno solo uno di questi blocchi, a seconda di quale blocco li raggiunge per primi. Quando entrambi i blocchi sono stati propagati, alcuni nodi avranno il blocco A come ultimo blocco valido, mentre altri avranno il blocco B. Entrambi i blocchi sono validi a questo punto, ma uno di essi diventerà non valido non appena un nuovo blocco viene trasmesso sull’altro. Diciamo che un minatore trova un nuovo blocco in seguito e ha il blocco B registrato come ultimo blocco prima di quello. Ora mette il nuovo blocco in cima al blocco B e trasmette questa catena a tutti gli altri nodi. Altri nodi, a prescindere dal blocco ultimo blocco A o B, ora riconoscono che questa blockchain è più lunga/più pesante di quella che possiedono attualmente e sono obbligati a seguire questa blockchain. Ciò significa che tutti i nodi che avevano il blocco A come ultimo blocco ora devono cancellare il blocco A e sostituirlo con il blocco B e l’altro nuovo blocco su di esso. Un blocco obsoleto è un blocco che una volta era valido, ma non è più incluso nella catena più onesta (più lunga/più pesante). Iin questo esempio il blocco A è diventato un blocco obsoleto.

Blocco orfano

Un blocco orfano è un blocco ricevuto da un nodo che non riconosce (ancora) il blocco principale. Prendiamo l’esempio del blocco obsoleto qui sopra. Diciamo che il nodo 7 con l’ultimo blocco A ora riceve un nuovo blocco trasmesso da un minatore che ha il blocco B come ultimo blocco. Quindi il blocco B è il genitore ufficiale del blocco appena trasmesso, ma il nodo 7 ha incluso il blocco A e non il blocco B, e quindi non riconosce il genitore del nuovo blocco (non ha mai visto il blocco B ancora). Il blocco appena trasmesso è considerato “orfano”. Il nodo 7 non convalida ancora il blocco orfano. Invece richiederà fino a 500 dei suoi blocchi parent dal nodo da cui ha ricevuto l’orfano al fine di tentare di identificare i suoi genitori, i nonni e così via (e quindi i blocchi che ha potenzialmente mancato finora).

Blocchi dello zio

Un blocco dello zio è lo stesso di un blocco obsoleto, ma sulla blockchain di Ethereum. Il processo di convalida su Ethereum avviene molto più velocemente rispetto alla blockchain di Bitcoin, il che significa anche che ha più possibilità di trasmettere simultaneamente due blocchi validi. Ciò porta a blocchi più obsoleti/zio. Per mantenere i minatori motivati, l’ecosistema di Ethereum ha deciso di ricompensare anche i minatori per i blocchi dello zio (75% della ricompensa originale), ma sono comunque considerati come blocchi obsoleti, non inclusi nella blockchain originale. Quando una blockchain processa i blocchi più velocemente, questo aumenta la quantità di blocchi zio/obsoleti generati, processo spesso denominato “uncle rate”.

Merkle Tree

Un Merkle Tree è il concetto base di creazione di firme blockchain (hashing). Si chiama albero perché le firme vengono create dai dati e quindi combinate con altre firme per creare una nuova firma globale. Questo va avanti e avanti, e può essere visto come il meccanismo usato per i “blocchi a catena” insieme su una blockchain. Assomiglia alla forma dei rami di un albero.

P2P (Peer-to-peer)

Peer-to-peer è sinonimo di una rete decentralizzata in cui tutti i partecipanti sono direttamente collegati tra loro senza una sorta di punto centrale di connettività. Tutti i peer (partecipanti, nodi/minatori) sono direttamente connessi l’uno con l’altro.

Chiave pubblica

Una chiave pubblica è l’indirizzo del proprio wallet ed è necessaria ad altre entità per inviare messaggi o transazioni.

Chiave privata

Una chiave privata è la chiave che consente al proprietario di un wallet di inviare transazioni firmate dal rispettivo indirizzo (chiave pubblica).

ASIC

È un acronimo e sta per “application specific integrated circuit” (circuito integrato per un’applicazione specifica) e si riferisce fondamentalmente a hardware specificamente progettato per eseguire in modo ottimale una singola attività (come l’hashing). I minatori ASIC sono pertanto specificamente progettati per eseguire gli hash il più velocemente possibile al fine di aumentare le entrate minerarie.

Multi-firma

Una multi-firma è una firma formata da altre firme combinate. Alcune operazioni o azioni su una blockchain possono richiedere una firma multipla, il che significa che sono necessari più utenti (indirizzi) per firmare l’operazione affinché possa essere eseguita.

Oracoli

Un oracolo è un’applicazione software che verifica le occorrenze del mondo reale (come una spedizione di mele) e invia queste informazioni alla blockchain. Gli oracoli sono fondamentalmente trasformatori di dati e trasmettitori, convertendo le occorrenze del mondo reale in dati per blockchain.

Hot wallet

Un hot wallet è un wallet online. Quando parliamo di un hot wallet spesso facciamo riferimento ad un wallet di un exchange, che è online perché i fondi devono essere rapidamente disponibili e trasferibili ad utenti, acquirenti e venditori. Quando un wallet è online, ovvero collegato a Internet, i suoi dati sono più vulnerabili agli hacker e/o agli agenti malevoli.

Cold Wallet

Un cold wallet, al contrario, è un wallet offline. Non è connesso a Internet e quindi i suoi dati sono irrecuperabili da qualsiasi hacker o agente malevolo. Esempi di un cold wallet sono un Nano Ledger (USB) o semplicemente un wallet cartaceo (pezzo di carta con codice QR e chiave privata su di esso).

Satoshi

Il Satoshi è la più piccola unità di una data criptovaluta, ovvero la più piccola entità decimale di una criptovaluta. Nell’esempio di Bitcoin, 0,00000001 BTC (8 decimali) è la divisione più piccola possibile.

White Paper

Un white paper è un documento approfondito su un argomento specifico che presenta un problema e fornisce una possibile soluzione. Nuove idee blockchain vengono spesso presentate sotto forma di un white paper.

Per approfondire segui WisyWally.