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
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
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)
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)
-
Un DApp deve essere Open Source, autonomo e non controllato. Ogni miglioria software è adottata a maggioranza, non imposta.
-
I dati devono essere crittati e mantenuti in un Blockchain
-
Un DApp deve essere basato su un token o criptovaluta per la gestione del valore
-
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.