Decentralizzazione

Cosa vogliamo dal Blockchain

  • Criptovaluta
    • Valore di scambio per prodotti e servizi
    • Mezzo di finanziamento del Blockchain
    • Asset di investimento (Hodling)
  • Smart Contract
    • Registrazione di transazioni future
  • Smart Entity
    • Database irrefutabile e resiliente

Blockchain è una tecnologia.

Su di esso si basano applicativi decentralizzati.

Tramite gli applicativi si possono costruire organizzazioni decentralizzate.

Smart Contract

Smartc

E’ un programma:

  • Sicuro – non può essere contraffatto o negato
  • Eseguito automaticamente – in un tempo finito e ragionevole
  • Non interrompibile – va a compimento
  • Sicuramente eseguito – da qualsiasi nodo di rete
  • Ben definito - semanticamente

Definisce un contratto in un linguaggio di programmazione:

  • Definisce i termini del contratto
  • Determina l’evento che ne causerà l’esecuzione

Mantiene uno stato interno consistente:

  • Deterministico
  • Macchina a stati finiti

Motto: Code is Law

  • Ma: vera accettabilità legale nel modo reale?

Oracle

Oracle

Meccanismo che permette ad uno Smart Contract di accedere ai dati dal mondo esterno:

  • Può firmare digitalmente i dati
  • Può derivare i dati da un’altra blockchain

Problema dell’integrità dei dati dal Data Source, p.es. tlsnotary.com

A volte fornito come servizio:

  • www.oracleize.it
  • www.realitykeys.com

Organizzazioni Decentralizzate

Ve ne sono due tipi fondamentali.

Decentralized Organization (DO)

Un programma software che:

  • esegue in un Blockchain
  • è composto di Smart Contracts
  • modella l'organizzazione di un ente umano, con ruoli e protocolli

A questo livello richiedono ancora interazione umana - input, decisioni.

Decentralized Autonomous Organization (DAO)

Dao

Una DO che procede autonomamente nell'espletamento delle attività programmate, senza alcun intervento umano.

Vi sono comunque persone coinvolte nel funzionamento di un DAO:

  • Curator - per la manutenzione del codice
  • Contractor - personale d'aiuto tipicamente esterno e temporaneo

Sottoinsiemi di DAO:

  • Decentralized Autonomous Corporations (DAC) - che si mappano su corporazioni (profit) veramente esistenti e con identità giuridica. Un DAC sarebbe finanziato con normale emissione di partecipazioni e avrebbe uno schema di pagamento dividendi.

  • Decentralized Autonomous Societies (DAS) - che si mappano su organizzazioni (no-profit) esistenti: Stato, NGO, ecc. Specie a livello di Pubblica Amministrazione un DAS può teoricamente aumentare l'efficienza, ridurre gli sprechi, evitare la corruzione. Tecnicamente è fattibile, ma politicamente?

Applicativi Decentralizzati

DAOs, DACs, DASs sono basati su programmi composti da più Smart Contracts: gli Applicativi Decentralizzati (DApp - Decentralized Application).

Se ne distinguono tre tipi:

  • Tipo I - girano sul proprio Blockchain, implementato appositamente
    • Similitudine: sistema operativo
  • Tipo II - girano su un Blockchain preesistente
    • Similitudine: software applicativo
  • Tipo III - non girano su un Blockchain, ma ne usano i protocolli
    • Similitudine: plugin per un applicativo

Requisiti di un DApp

(David Johnston, The General Theory of Decentralized Applications, Dapps)

  1. Un DApp deve essere Open Source, autonomo e non controllato. Ogni miglioria software è adottata a maggioranza, non imposta.

  2. I dati devono essere crittati e mantenuti in un Blockchain

  3. Un DApp deve essere basato su un token o criptovaluta per la gestione del valore

  4. La generazione e gestione della criptovaluta devono essere basate su un meccanismo di consenso

La generazione di valore non è limitata al mining ma può estendersi ad altri meccanismi di raccolta fondi.

Il meccanismo di consenso deve essere resistente a varie tipologie di attacchi.