Blockchain: Private e Pubbliche, Permissioned e Permissionless

di Cristina Cannata
05/08/2019
9 minuti

Tutto il 2018 e il primo semestre del 2019 hanno visto la scena popolarsi progressivamente delle cosiddette “blockchain private“, cresciute di numero in maniera sostanziale.

Proprio questa maggiore presenza di blockchain private nel mondo blockchain suggerisce una maggiore chiarezza circa la distinzione tra blockchain pubbliche, private, consorziate, permissioned e permissionless. Gli insiemi che raggruppano ciascuna di queste categorie trovano spesso sovrapposizioni e inserzioni, per questo è ricorrente imbattersi in definizioni confusionarie relative ad un particolare tipo di blockchain, soprattutto a seguito dell’ingresso in questo panorama di alcune istituzioni finanziare che ha portato il dibattito ad acuirsi, cambiando la narrazione sulla blockchain in maniera radicale.

Di fatto, si è iniziato a parlare in maniera più consistente di Distributed Ledger Technology (DLT), nomenclatura creata dalle istituzioni per distinguere la tecnologia dalla blockchain (nonostante la blockchain sia essa stessa un DLT), che invece vede il suo nome legato indissolubilmente al concetto del Bitcoin e quindi agli ideali cripto-anarchici di indipendenza economica che poco si prestano a tali istituzioni.

D’altronde, dal 2017, l’entusiasmo attorno al concetto di blockchain è cresciuto in maniera decisamente consistente: tantissimi si sono gettati a capofitto, chi per curiosità, chi per speculazione, chi perchè ha individuato effettive potenzialità e applicazioni della tecnologia.

_Blockchain private e pubbliche, permissioned e permissionless: quali differenze? _

Focalizzandoci sul concetto di blockchain (escludendo quindi i DTL), si riconoscono alcune caratteristiche fondanti della tecnologia:

Decentralizzazione – Le blockchain sono dei sistemi decentralizzati e distribuiti, in logica peer-to-peer, dove ogni computer che forma il sistema ha una replica di registro.

Validazione – Tutte le transazioni all’interno del network devono essere validate dai nodi che lo compongono che devono concordare sullo stato attuale e sulla validità delle transazioni iscritte nel registro (consensus). Il network deve raggiungere il consensus.

Immutabilità – La blockchain è un registro immutabile, una volta che i dati sono riportati e validati non possono più essere modificati o cancellati, garantendo l’immutabilità degli stessi.

Per definire una blockchain pubblica e una blockchain privata è necessario guardare chi ha i permessi di leggere i dati scritti sul registro. Seguendo lo stesso principio, i permessi di scrittura definiscono se una blockchain è permissioned o permissionless.

Blockchain Pubbliche e Private

Le blockchain private sono create “artificiosamente” a partire dalle pubbliche. Con termine “artificioso” si vuole sottolineare la forzatura dell’accostamento tra “blockchain” e l’aggettivo “privato”, che di fatto è diventato il nuovo modo di indicare i database distribuiti.

Il vantaggio principale di una blockchain privata è in primis lo stretto controllo a cui si possono sottoporre i partecipanti del network; ciò è possibile, ad esempio, assegnando diversi livelli di accesso alle informazioni, oppure limitando le possibilità di scrittura sul registro a soggetti selezionati preventivamente. Un altro punto di forza è rappresentato dal limitato numero di nodi necessari a comporre il network: se, da una parte, ciò permette alla rete di essere più veloce ed efficiente nella validazione delle transazioni, dall’altra alla Proof-of-Work (PoW) si preferirà in molti casi differenti meccanismi di consensus più efficiente in termini di tempo e consumo energetico (come ad esempio Proof-of-Stake, Proof-of-Authority, Delegated Proof-of-Stake etc…). Infine, vantaggi si individuano anche riguardo l’aspetto economico: le transazioni in una blockchain privata possono infatti essere completamente gratuite e, inoltre, la finalizzazione economica delle transazioni (ovvero la certezza – e pertanto l’irrevocabilità – della registrazione della transazione all’interno di un blocco valido) è praticamente istantanea.

Un’altra diffusa convinzione circa le blockchain private è che queste forniscano di default un livello di privacy pressoché totale: questo non è completamente vero poiché, nonostante offrano una maggiore facilità di controllo sui partecipanti e quindi la possibilità di offuscare più facilmente dati sensibili -soprattutto agli utenti esterni che non hanno diritto di accesso-, le transazioni non garantiscono la privacy che a volte viene richiesta.

Per meglio comprendere, immaginate un’azienda che produce bulloni. Essa si rivolge contemporaneamente a due distributori facenti parte dello stesso consorzio dell’azienda. Con il distributore A si accorda per un prezzo di 1€ a bullone, mentre con il distributore B si accorda per 2€ a bullone. Naturalmente in questo caso l’azienda produttrice di bulloni potrebbe ben desiderare di non mostrare queste informazioni, e per fare ciò, poiché nella blockchain privata non è prevista questa caratteristica di default, sarà necessario implementare un layer aggiuntivo.

Questo non vuol dire che le blockchain pubbliche garantiscono un livello di privacy totale, anzi, la privacy non è una caratteristica di default di nessuna blockchain.

Il fatto che il network sia solitamente composto da un numero limitato di nodi è, in realtà, un grande vantaggio e un grosso svantaggio allo stesso tempo. Un numero ristretto di nodi equivale certamente a minore decentralizzazione; ad esempio le reti parzialmente decentralizzate come le consorziate implicano il pericolo di collusione tra i partecipanti, difficile da controllare. Non ultimo, la limitatezza nel numero di nodi rende la rete più vulnerabile ad attacchi informatici quali reorg o attacco 51%.

Da quanto detto, è facilmente intuibile che le blockchain private mancano di alcuni degli elementi fondanti di questa tecnologia, prima fra tutte la trustlessness, ovvero la possibilità di poter interagire con altri componenti/partecipanti alla rete senza doversi preoccupare dell’aspetto fiducia: questo è possibile solo quando l’architettura stessa (basata su raffinati concetti di game theory) fornisce il trust necessario. Inoltre, lo stretto controllo citato -che potrebbe passare attraverso procedure di KYC (Know your customer) e quindi alla gestione di identità digitali- oltre a sollevare temi circa la GDPR compliance, potrebbe portare anche a un’eccessiva centralizzazione, obiettivo opposto a quello della blockchain. Bisogna infine considerare che a un aumentato numero di nodi della rete corrisponderà un’aumentata complessità delle procedure di controllo, che diventeranno quindi più dispendiose anche in termini di lavoro. Ciò costituisce un tema rilevante circa la futura scalabilità di soluzioni simili.

Blockchain Permissioned e Permissionless

La differenza tra blockchain permissioned e permissionless si individua a partire da “chi può scrivere” nel registro. Mentre le blockchain pubbliche possono essere permissionless o permissioned, tutte le blockchain private sono permissioned. Le blockchain pubbliche più conosciute sono Bitcoin ed Ethereum, e utilizzano la PoW; per Ethereum è prevista una trasformazione in blockchain pubblica permissioned nel momento in cui  giungerà a Serenity (Ethereum 2.0), con introduzione della Proof-of-Stake (PoS). Altre blockchain pubbliche di tipo permissioned sono quelle che usano PoS e varianti oppure Byzantine Fault Tolerant (BFT) consensus e derivati quali Ripple, EOS o NEO. Nel terzo tipo invece rientrano quelle blockchain il cui accesso è limitato soltanto ad un selezionato numero di membri e il tipo di consensus è sempre BFT e derivati, come può essere ad esempio, Hyperledger Fabric, R3 Corda oppure Quorum di JP Morgan, una versione privata di Ethereum.

D’altra parte, una blockchain consorziata si definisce come una blockchain permissioned con un certo grado di decentralizzazione e la lettura dei dati potrebbe essere o pubblica o privata. Questo significa che i nodi che fanno parte della rete non devono necessariamente avere fiducia gli uni verso gli altri. La governance non è quindi centralizzata ma, piuttosto, distribuita tra le aziende partecipanti al consorzio. Per comprendere al meglio questo concetto, immaginiamo una blockchain i cui nodi sono 20 ospedali italiani: i dati su questa blockchain saranno privati, ma la blockchain potrebbe essere interrogata un limitato numero di volte restituendo le informazioni strettamente necessarie richieste, ad esempio, da un dottore esterno alla rete. Questo tipo di blockchain è preferibile in molti casi alla blockchain privata “intra-aziendale” perché offre un maggior gradi di decentralizzazione evitando un eccessivo accentramento di potere, garantendo inoltre più trust e sicurezza (anche se sicuramente meno rispetto a una blockchain pubblica permissionless).

Vantaggi e Svantaggi

La blockchain pubblica permissionless è sicuramente la più affidabile in termini di sicurezza, poiché le probabilità di collusione dei cosiddetti “bad actors” con finalità malevole sono mitigate dall’elevato numero di nodi che la compongono. Un altro vantaggio è dato dalla completa trasparenza delle transazioni: chiunque può accedere al database e verificare che una determinata transazione sia avvenuta in maniera regolare o che i dati registrati siano coerenti. Inoltre, la blockchain di questo tipo è aperta e chiunque può utilizzarla, non occorre creare l’infrastruttura di base ma basta appoggiarsi a quella già esistente.

D’altra parte, le blockchain permissionless sono lente, riescono a validare un ristretto numero di transazioni al secondo; i costi devono mantenersi su determinati livelli poiché devono garantire il funzionamento degli incentivi economici alla base dei protocolli, a seconda dei protocolli di consensus.  In più, queste blockchain richiedono un consumo di un’elevata quantità di energia, punto sul quale si è incentrato un dibattito mondiale. Sviluppatori dei diversi progetti sono concentrati sulla ricerca di una soluzione che permetta di smarcare questi problemi; per quanto riguarda le blockchain più robuste, quali Bitcoin ed Ethereum, l’orientamento prevede soluzioni differenti: per scalabilità e costi possiamo ad esempio parlare di Lightning Network su Bitcoin oppure di Plasma e Sharding su Ethereum. Il consumo di energia è invece affrontato con lo sviluppo di hardware più performanti e meno dispendiosi in termini energetici, considerato che comunque la Proof-of-work rimane per struttura altamente energy-consuming, in quanto conseguenza fondamentale alla base della game theory che sorregge la blockchain.  Ethereum, invece, per ovviare al problema del consumo energetico ha optato per una progressiva adozione della PoS.

Uno dei problemi più grandi delle blockchain permissionless è la suscettibilità agli attacchi 51%. Un basso numero di nodi rende vulnerabile la rete alla collusione e agli hacker (la possibilità di affittare potenza di calcolo da siti specializzati come NiceHash, ad esempio, aggrava ulteriormente questa situazione). Non pochi attacchi 51 % a blockchain permissionless sono stati effettuati proprio grazie alla possibilità di affittare la potenza di calcolo necessaria. Persino le reti maggiori come Bitcoin ed Ethereum non possono dirsi propriamente immuni a questo problema, anche se effettuare un attacco verso realtà di questo tipo comporterebbe un enorme – e decisamente disincentivante – impegno economico.

La nostra scelta

Un altro importante aspetto delle blockchain pubbliche è certamente la privacy.

Nonostante nel mondo delle imprese sia sempre più marcato l’orientamento verso blockchain private perché sembrerebbero garantire un livello di privacy maggiore, in realtà, la blockchain di per sé non garantisce privacy di default. Sarebbe quindi preferibile parlare di layer di privacy che, una volta applicati, possono ovviare a certi temi: a parità di possibilità, quindi, diventa chiaramente preferibile utilizzare una blockchain pubblica permissionless per i temi di sicurezza e trust.

Circa la privacy i layer a cui si fa riferimento sono:

  • Privacy dei partecipanti al network: garantire ai partecipanti l’anonimato tramite meccanismi crittografici attivati on-chain come ad esempio ring signatures usate da Monero oppure Stealth addresses.
  • Privacy dei dati: permettere di mantenere la privacy su transazioni, bilanci, smart contract e altri dati, crittandoli on oppure off-chain, utilizzando strumenti crittografici quali Zero-knowledge proof, ZK-SNARKS (che viene già utilizzato da ZCash e che Ethereum implementerà, da Serenity, leggermente modificato) o i Pedersen Commitments.
  • Privacy dei termini di contratto: garantire la privacy dei termini di contratto tramite range proofs (una variante della Zero-knowledge) o Pedersen commitments.

Pertanto, i motivi per cui WizKey è costruita su Ethereum sono da rintracciarsi in tutti i vantaggi offerti dalla piattaforma. Se Ethereum è, infatti, secondo solo a Bitcoin per quanto riguarda sicurezza e decentralizzazione (e quindi maggiore trust),  a differenza di quest’ultimo risulta essere molto più dev-friendly, soprattutto per quanto riguarda lo sviluppo e l’implementazione degli smart contract.

CONTATTACI
+39 02 3653 1544info@wizkey.ioWizKey S.p.A.P.I. 10429050965SEDE LEGALEVia Luciano Manara n. 7 20122 Milan, Italy
SEDE OPERATIVAVia Tortona n. 72 20144 Milan, ItalyNumero REA MI-2530639Camera di Commercio di Milano Monza Brianza LodiCapitale sociale €205.256,00
© 2020 Wizkey S.p.A. - All rights reserved