🇮🇹 Cos'è la Blockchain Cardano? La guida più completa di sempre! Parte 2 di 2

#3 Data scaling

Infine, abbiamo il data scaling.

Pensate a questo.

Le blockchain memorizzano cose per l’eternità. Ogni piccolo pezzo di dati, rilevante o meno, viene memorizzato nella blockchain per l’eternità. Man mano che il sistema cresce e sempre più persone entrano, con il puro afflusso di dati la blockchain diventa sempre più voluminosa.

Ora, ricorda che una blockchain funziona perché è composta da nodi. Ogni nodo è un utente che memorizza una copia della blockchain nel proprio sistema.

Capite dov’è il problema, giusto?

Man mano che la blockchain diventa più voluminosa, richiederà più spazio, e questo è irragionevole per un normale utente con un normale computer.

Il modo in cui Cardano vuole risolvere questo problema è implementando una semplice filosofia: “Non tutti hanno bisogno di tutti i dati”.

Ad esempio, se Alice e Bob si impegnano in una transazione, potrebbe non essere rilevante per nessun altro nella rete. L’unica cosa che devono sapere è che la transazione è avvenuta e che era legittima.

Le tecniche che Cardano sta esaminando sono:

  • Miglioramenti

  • Iscrizioni

  • Compressione

Se vengono applicate sinergicamente, allora può effettivamente ridurre sostanzialmente la quantità di dati che un utente deve avere.

Oltre a questo, c’è anche il concetto di Partizionamento. Ciò che significa in realtà è che invece di avere un’intera blockchain, un utente può semplicemente avere un pezzo della blockchain e ridurre notevolmente la quantità di dati che devono memorizzare. Cosa che sperano di fare attraverso le sidechains (ci ritorneremo più avanti).

L’obiettivo di Cardano è quello di utilizzare tutte queste informazioni per comprimere i dati che gli utenti devono consumare senza compromettere la sicurezza o le garanzie che le loro transazioni siano passate correttamente. La ricerca su questo argomento è iniziata all’Università di Edimburgo.

Elemento #2: Interoperabilità

Ora che abbiamo visto come funziona il lato della scalabilità di Cardano, passiamo al secondo pilastro: Interoperabilità. Il punto cruciale dell’interoperabilità è che, come dice Charles Hoskinson, non ci sarà un token che li domini tutti.

Diamo un’occhiata all’attuale ecosistema. Nella criptosfera, abbiamo diverse cripto monete come Bitcoin, Ethereum, Litecoin ecc. Allo stesso modo, nel mondo finanziario tradizionale, abbiamo sistemi come le banche tradizionali che usano SWIFT, ACH ecc.

Il problema sta nel fatto che è estremamente difficile per queste entità individuali comunicare tra loro. È difficile per bitcoin sapere cosa sta succedendo in Ethereum e viceversa. Questo diventa doppiamente difficile quando le banche cercano di comunicare con le criptovalute.

Ecco perché gli scambi di criptovalute, che forniscono un portale tra le cripto e le banche, diventano così potenti e importanti. Tuttavia, è proprio lì che sta il problema. Gli scambi non sono un’entità decentralizzata e sono estremamente vulnerabili.

  • Possono essere violati.

  • Possono andare in blackout per lunghi periodi per l’aggiornamento del sistema. Questo è fondamentalmente quello che è successo a Binance di recente.

Inoltre, c’è un’altra area in cui questa cattiva comunicazione tra il mondo tradizionale e il mondo delle criptovalute può portare ad un risultato disastroso: Le ICO.

Nelle ICO, un’entità ottiene milioni di dollari in cambio dei loro token, tuttavia, risparmiare quei soldi nei loro conti bancari può diventare difficile. Le banche vorrebbero ovviamente sapere da dove vengono tutti quei soldi e chi sono quelli che li hanno forniti, cosa che è quasi impossibile da fornire.

Era necessaria una soluzione più elegante e senza rischi per l’interoperabilità.

Una criptovaluta di terza generazione deve fornire un ecosistema dove ogni singola blockchain può comunicare con un’altra blockchain e con sistemi finanziari legacy esterni.

Quindi, vediamo in che modo Cardano ha intenzione di aumentare l’interoperabilità sia nel mondo delle criptovalute che nel mondo legacy.

Il mondo delle criptovalute: comunicazione Inter-Chain e SideChains

L’idea di Cardano è quella di creare un “internet delle blockchain”. Immaginate un ecosistema in cui Bitcoin può fluire in Ethereum e Ripple può fluire senza soluzione di continuità in Litecoin senza la necessità di passare attraverso scambi centralizzati. Questo è il motivo per cui i trasferimenti cross-chain sono qualcosa che Cardano vuole implementare senza alcun intermediario

Uno dei modi in cui Cardano vuole farlo è implementando le sidechain.

Il concetto di sidechain è presente nei giro delle criptovalute già da un po’ di tempo. L’idea è molto semplice: hai una chain parallela che corre insieme alla chain principale. La chain laterale sarà collegata alla chain principale tramite un two-way peg.

Cardano supporterà le sidechains basate sulla ricerca di Kiayias, Miller e Zindros (KMZ) che riguarda ““non-interactive proofs of proofs of work”.”.

Secondo Hoskinson, l’idea delle sidechains deriva da due cose:

  • Ottenere una versione compressa di una blockchain.

  • Creare l’interoperabilità tra le catene.

Per cosa sarà usato Cardano?

Quando si tratta di aumentare l’interoperabilità con il mondo legacy, Cardano vuole concentrarsi sui tre ostacoli che rendono il mondo della crittografia incompatibile con il mondo legacy:

  • Metadati.

  • Attribuzione.

  • Conformità.

Ostacolo #1: Metadati

Metadati significa la storia dietro la transazione.

Se Alice spendesse 50 dollari, i metadati potrebbero essere i seguenti:

  • Per cosa ha speso i soldi Alice?

  • A chi ha dato i soldi Alice?

  • Dove ha speso i soldi?

Mentre nello spazio delle criptovalute non è tutto così ben pianificato, è estremamente essenziale nel mondo bancario tradizionale. Infatti, questo è uno dei motivi principali per cui la maggior parte delle entità hanno problemi con i post ICOs. Semplicemente non hanno i metadati necessari da fornire alle banche.

Nel mondo legacy, i metadati sono estremamente importanti. Ecco gli scopi per cui servono:

  • Scoperta e identificazione delle risorse.

  • Organizzazione efficace dei dati elettronici.

  • Ci dice come i dati vengono scambiati tra vari sistemi e quindi migliora l’interoperabilità.

  • Molto utile nella protezione delle risorse. Aiuta a identificare le caratteristiche e il comportamento dei dati per poterli replicare se necessario.

Tuttavia, il problema dei metadati è che sono estremamente personali e, poiché i dati sono memorizzati nella blockchain in modo permanente e trasparente, ci troviamo davanti a una situazione in cui informazioni estremamente private possono essere affisse permanentemente alla blockchain.

Una delle cose principali su cui Cardano sta facendo ricerca è come attaccare i metadati alla catena selettivamente.

Ostacolo #2: Attribuzione

Simile ai metadati, tramite l’attribuzione si conoscono i nomi delle persone coinvolte nelle transazioni. In pratica, a chi viene attribuita una particolare transazione?

Se la blockchain fissa permanentemente l’attribuzione a se stessa, comprometterà notevolmente la privacy degli individui coinvolti.

Quindi, Cardano prevede di autorizzare i propri utenti a distribuire l’attribuzione come e quando è richiesto.

Ostacolo #3: Conformità

Il terzo ostacolo è la “Conformità”.

La conformità include fattori come: KYC (Know Your Customer), AML (Anti Money Laundering), ATF (Anti Terrorist Financing) ecc.

La conformità è usata per controllare la legittimità di una transazione. Fondamentalmente, se Alice paga Bob 50 dollari, la conformità è usata per assicurarsi che la transazione non sia fatta per scopi nefasti.

Mentre il mondo delle criptovalute non ha fatto molto su questo fronte, è estremamente fondamentale nel mondo bancario dove la storia e la legittimità di ogni transazione deve essere conosciuta.

Ciò su cui Cardano sta facendo ricerca è come utilizzare Metadati e Attribuzione insieme alla Conformità per aiutare i propri utenti ogni volta che hanno bisogno di interagire con le banche.

Elemento #3: Sostenibilità

Infine, arriviamo al terzo pilastro: la sostenibilità.

Secondo Hoskinson, questo è a mani basse il più difficile da risolvere. Fondamentalmente significa: in che modo Cardano ha intenzione di pagare il suo futuro sviluppo e crescita?

Di solito, quando il sistema richiede alcuni sviluppi e sono necessarie sovvenzioni, ci sono un paio di cose che possono accadere:

Tuttavia, entrambe le cose hanno un problema.

Con il patrocinio si ha il problema di una possibile centralizzazione. Se una grande azienda dà un’enorme quantità di sovvenzioni a una società di blockchain, può dirigere il modo in cui gli sviluppi si rivelano nel sistema.

Con le ICOs, è come un’improvvisa ondata di denaro senza alcun modello sostenibile e che aggiunge un token completamente inutile all’ecosistema.

Bisogna fare qualcosa di diverso e più sostenibile.

In questo senso, Cardano sta progettando di prendere ispirazione da Dash e creare un tesoreria.

Come funzionerà il tesoreria?

Ogni volta che un blocco viene aggiunto alla chain, una parte del reward di quel blocco sarà aggiunta alla tesoreria.

Quindi, se qualcuno vuole sviluppare e portare alcuni cambiamenti all’ecosistema, presenta un ballot al tesoreria per chiedere sovvenzioni.

Gli stakeholder dell’ecosistema Cardano poi votano e decidono se il ballot deve essere concesso o meno.

Se decidono di concederlo, chi ha presentato il ballot ottiene la sovvenzione per lo sviluppo.

Questo sistema ha un paio di vantaggi importanti:

  • Il tesoreria continua a riempirsi man mano che vengono scoperti sempre più blocchi.

  • È direttamente proporzionale alla dimensione della rete. Più grande è la rete, maggiori sono le risorse disponibili e anche il sistema di voto diventa più decentralizzato.

Tuttavia, ci sono alcuni grossi ostacoli da superare prima che venga utilizzato.

  • È necessario stabilire un sistema di voto equo.

  • Gli elettori dovrebbero avere un incentivo per votare e partecipare al sistema.

  • Il voto di ognuno dovrebbe avere un certo valore in modo che non si verifichi una situazione tipo “Tragedy of Commons”.

  • Il processo di presentazione dei voti dovrebbe essere facile e diretto.

  • L’intero processo dovrebbe essere il più decentralizzato possibile.

Al momento, Cardano ha identificato un sistema che può essere utilizzato che combina la democrazia liquida con un modello di tesoreria incentivata.

Cardano: come funziona la democrazia liquida?

È un sistema che passa fluidamente tra la democrazia diretta e la democrazia rappresentativa.

Il processo ha le seguenti caratteristiche:

  • Le persone possono votare le proprie policies direttamente.

  • Le persone possono delegare le loro responsabilità di voto ad un delegato che può votare le loro policies al posto loro.

  • I delegati stessi possono delegare le loro responsabilità di voto ad un altro delegato che può votare per loro. Questa proprietà per cui un delegato può nominare il proprio delegato è chiamata transitività.

  • Se una persona che ha delegato il suo voto non gradisce il voto che i suoi delegati hanno scelto, allora può semplicemente riprendersi il suo voto e votare essi stessi per quella policy.

Quindi, quali sono i vantaggi della democrazia liquida?

L’opinione di ogni singola persona conta e gioca un ruolo nella creazione della policy finale.

Per diventare un delegato, tutto ciò che si deve fare è conquistare la fiducia di una persona. Non c’è bisogno di spendere milioni di dollari in costose campagne elettorali. Per questo, la barriera d’ingresso è relativamente bassa.

A causa della possibilità di oscillare tra democrazia diretta e delegata, i gruppi minoritari possono essere rappresentati più equamente.

Infine, ha un modello scalabile. Chiunque non abbia il tempo di votare le proprie policies può semplicemente delegare le proprie responsabilità di voto.

Haskell e Plutus

La codifica di Cardano è fatta in Haskell mentre i loro smart contracts saranno codificati in Plutus. Per capire l’unicità di questo approccio dobbiamo capire alcune nozioni di base sui linguaggi di programmazione.

I linguaggi appartengono a due famiglie:

  • Imperativo

  • Funzionale.

$$ Linguaggi di programmazione imperativa

In un approccio imperativo, il programmatore deve mettere giù tutti i passi che il computer deve fare per raggiungere un obiettivo. Tutti i nostri linguaggi di programmazione tradizionali come C++, Java e anche Solidity sono linguaggi di programmazione imperativa. Questo tipo di approccio alla programmazione è anche chiamato programmazione algoritmica.

Facciamo un esempio di cosa intendiamo. Guardiamo il C++. Supponiamo di voler sommare 5 e 3.

int a = 5;

int b = 3;

int c;

c= a + b;

Quindi, come potete vedere, il processo di addizione richiede più passi e ogni passo sta cambiando costantemente lo stato del programma poiché vengono eseguiti tutti a turno singolarmente.

Un processo di addizione ha richiesto quattro step, e questi sono:

  • Dichiarare un intero a e assegnargli il valore 5.

  • Dichiarare un intero b e assegnargli il valore 3.

  • Dichiarare un intero c.

  • Aggiungere i valori di e b e memorizzarli in c.

Linguaggi di programmazione funzionale Cardano

La seconda famiglia di linguaggi di programmazione è quella dei linguaggi funzionali. Questo stile di programmazione è stato creato per costruire un approccio funzionale alla risoluzione dei problemi. Questo tipo di approccio è chiamato programmazione dichiarativa.

Quindi, come funziona la programmazione funzionale?

Supponiamo che ci sia una funzione f(x) che vogliamo usare per calcolare una funzione g(x) e poi vogliamo usarla per lavorare con una funzione h(x). Invece di risolverle tutte in sequenza, possiamo semplicemente raggrupparle tutte insieme in una singola funzione come questa:

h(g(f(x))

Questo rende l’approccio funzionale più facile da ragionare matematicamente. Questo è il motivo per cui si suppone che i programmi funzionali siano un approccio più sicuro alla creazione di smart contracts. Questo aiuta anche a semplificare la verifica formale, il che significa che è più facile dimostrare matematicamente cosa fa un programma e come si comporta. Questo dà a Cardano la sua proprietà di “High Assurance Code”.

Prendiamo un esempio di vita reale e vediamo perché può diventare fondamentale e persino salvavita in certe condizioni.

Supponiamo di codificare un programma che controlla il traffico aereo.

Come potete immaginare, codificare un tale sistema richiede un alto grado di precisione e accuratezza. Non possiamo semplicemente codificare qualcosa alla cieca e sperare per il meglio quando la vita delle persone è a rischio. In situazioni come queste, abbiamo bisogno di un codice che sia provato che funzioni con un alto grado di certezza matematica.

Questo è esattamente il motivo per cui l’approccio funzionale è così auspicabile.

Ed è esattamente il motivo per cui Cardano sta usando Haskell per codificare il suo ecosistema e Plutus per i suoi smart contracts. Sia Haskell che Plutus sono linguaggi funzionali.

La tabella seguente confronta l’approccio imperativo con l’approccio funzionale.

Credito immagine: Docs.Microsoft.com

Quindi, diamo un’occhiata ai vantaggi dell’approccio funzionale:

  • Aiuta a creare codice ad alta sicurezza perché è più facile dimostrare matematicamente come si comporterà il codice.

  • Aumenta la leggibilità e la manutenibilità perché ogni funzione è progettata per realizzare un compito specifico. Le funzioni sono anche indipendenti dallo stato.

  • Il codice è più facile da rifrangere e qualsiasi cambiamento nel codice è più semplice da implementare. Questo rende più facile lo sviluppo reiterativo.

  • Le singole funzioni possono essere facilmente isolate, il che le rende più facili da testare e debuggare.

Tuttavia, come ogni cosa, c’è anche uno svantaggio in questo approccio:

È nuovo.

Ciò significa che è più difficile trovare uno sviluppatore Haskell che uno sviluppatore C++ e Java e che deve essere testato ampiamente in situazioni di vita reale.

La ICO di Cardano

L’ICO di Cardano ha raccolto circa 62 milioni di dollari.

Il token di Cardano si chiama Ada come Ada Lovelace, una matematica del XIX secolo riconosciuta come la prima programmatrice di computer e figlia del poeta Lord Byron.

La prima grande release di Cardano, chiamata Byron, è stata trasmessa live il 29 settembre 2017, anno che ha visto il lancio della rete principale di Cardano.

Le commisioni di Cardano

Le commisioni per trasferire ADA variano e sono determinate dalla seguente equazione:

transfer fee = a + b * dimensione.

Dove:

a = Una costante che attualmente è pari a 0,155381 ADA

b = Un’altra costante che attualmente equivale a 0,000043946 ADA/byte

dimensione = La dimensione della transazione (in bytes0.

Questo in effetti significa che la transazione minima che pagherete è 0,155381 ADA e aumenterà di 0,000043946 ADA per ogni aumento di byte della dimensione della vostra transazione.

In ogni epoca, le tasse di transazione sono raccolte in una pool e date ai leader degli slot appropriati.

Tabella di marcia di Cardano

Secondo la roadmap, Cardano sarà rilasciato in 5 fasi:

  • Byron: Permette agli utenti di commerciare e trasferire Ada. Viene anche lanciata la mainnet di Cardano.

  • Shelley: Assicura che la tecnologia sia in grado di diventare un sistema completamente decentralizzato e autonomo

  • Goguen: Vedrà l’integrazione dei smart contracts.

  • Basho: Centrato sul miglioramento delle prestazioni.

  • Voltaire: IOHK aggiungerà un sistema di tesoreria e di governance.

Cardano: Conclusione

Cardano non è solo costruito su una solida filosofia, ma anche sulla scienza hardcore. Questo di per sé gli dà un vantaggio significativo rispetto ai suoi concorrenti. Inoltre, il fatto che qualcuno come Charles Hoskinson sia alla guida aggiunge solo più credibilità. Dovremo aspettare e vedere fino al 2019 se potranno davvero mantenere tutte le loro importanti promesse.

PER LA PRIMA PARTE DI QUESTA GUIDA 🇮🇹 Cos'è la Blockchain Cardano? [La più completa guida passo dopo passo] - PARTE 1 di 2

PARTE 2 - traduzione di ¿Qué es la Blockchain Cardano? La guía más completa de la historia! Parte 2 de 2

Documento originale: What is Cardano Blockchain? [The Most Comprehensive Updated Guide]

1 Like