Volentieri ospitiamo un interessante contributo di Werner Vogels, CTO di Amazon, che propone una riflessione sulla necessità di aumentare i livelli di accessibilità di blockchain e ledger, rendendoli alla portata di aziende di tutte le dimensioni, anche attraverso un approccio “managed”.
Lo scorso anno ho passato un po’ di tempo a Jakarta da HARA, un cliente di AWS. Quest’azienda ha creato un modo per connettere le piccole fattorie situate in nazioni in via di sviluppo a banche e distributori di beni come semenza, fertilizzanti e attrezzi. Tradizionalmente, le fattorie rurali sono in genere ignorate dal mondo finanziario, perché normalmente non hanno le informazioni necessarie per aprire un conto o chiedere crediti. Con HARA, questi dati sulle piccole fattorie, in genere difficili da ottenere, sono raccolti e autenticati, dando a questi contadini accesso a risorse che non hanno mai avuto prima.
Un componente fondamentale del sistema creato da HARA è la blockchain. Questa è una tecnologia utilizzata per creare applicazioni in cui più parti possono interagire attraverso una rete peer-to-peer e registrare transazioni immutabili senza alcuna autorità di fiducia centrale. HARA ha inoltre dovuto creare tecnologie addizionali per far funzionare le proprie applicazioni su Ethereum, un framework blockchain, popolare, e open-source.
Questa è una problematica che molti clienti, come Nestlé e Singapore Exchange, hanno condiviso con noi: la creazione di un’applicazione enterprise scalabile su blockchain oggi è lunga e complessa. Le aziende che non riescono a superare queste sfide rimangono indietro. Come anche le loro idee, anche se potenzialmente potrebbero cambiare il mondo e renderlo un posto migliore, come sta facendo HARA.
Per rimuovere le complessità associate con i network blockchain, abbiamo di recente annunciato Amazon Managed Blockchain, un servizio completamente gestito che semplifica la creazione e la gestione di reti scalabili con tecnologia Blockchain.
Abbiamo anche annunciato Amazon Quantum Ledger Database (Amazon QLDB), un database di libro mastro che assicura le stesse funzionalità della blockchain per l’integrità dei dati. È progettato per sistemi centralizzati, dove c’è un’autorità attendibile centrale. Amazon QLDB fornisce un registro delle transazioni trasparente, immutabile, crittografato e verificabile, di proprietà di un’autorità attendibile centrale.
In questo post, approfondirò alcuni di questi concetti, alcune delle sfide che si devono affrontare costruendo con la blockchain e in che modo i nostri due nuovi servizi possono risolvere questi problemi.
Uno sguardo più da vicino alla tecnologia blockchain e ledger
Innanzitutto, diamo un’occhiata più da vicino ad alcune delle tecnologie alla base della blockchain: Ledger, reti decentralizzate, algoritmi di consenso e smart contracts.
Le Blockchain sono progettate per mantenere l’integrità dei dati. Sono immutabili— la cronologia dei dati impegnati non può essere modificata o eliminata, può solo essere aggiornata. I registri sono i mattoni che aiutano a rendere immutabili le blockchain, quindi è necessario spiegare questo concetto più dettagliatamente.
Ledgers (o registri) sono in circolazione da molto tempo e in genere venivano utilizzati per registrare una storia di attività economica e finanziaria tra due o più parti. Le civiltà antiche, come la Mesopotamia o l’Egitto, utilizzavano registri costruiti con pietre e fogli di papiro. Oggi un’applicazione bancaria che tiene traccia di crediti e debiti è uno dei più comuni esempi di libri mastri.
I ledgers che troviamo nelle blockchain (e ora in Amazon QLDB) consistono solitamente di quanto segue:
- Stato attuale e storico:Una struttura di dati che tiene traccia dei valori correnti e storici, consentendo alle applicazioni di accedere facilmente ai dati senza dover attraversare l’intero registro transazionale.
- Un journal: Un registro transazionale che tiene traccia dell’intera cronologia di modifica dei dati. Il registro è di sola aggiunta, ossia ogni nuovo dato è incatenato a quello precedente, permettendo così di vedere l’intero susseguirsi delle modifiche. Inoltre, con l’aiuto della crittografia di hash, un processo che assegna un identificatore univoco (come un’impronta digitale) ad ogni record, i blocchi sono concatenati tra loro. Questo permette ai registri di avere una proprietà di cronometraggio che consente a chiunque di controllare la cronologia passata e avere prova di una transazione dati avvenuta, rendendo così più semplice il controllo.
Confrontiamo questo modello ai database relazionali in cui i clienti devono progettare un meccanismo di controllo perché il database non è di per sé immutabile. Tali meccanismi di auditing costruiti con database relazionali possono essere difficili da scalare. Mettono tutto il peso sullo sviluppatore per garantire che vengano registrati tutti i dati corretti.
Oltre ad un registro distribuito, le blockchain includono anche un meccanismo di consenso e un ambiente di esecuzione di smart contract (o contratti intelligenti).
- Algoritmi di consenso aiutano ad assicurare che tutti i membri del network abbiano un metodo condiviso e concordato per consentire l’inserimento nel registro di transazioni e dati. Se i requisiti di consenso non sono raggiunti, allora la transazione viene ripristinata e non è valida.
- Smart contracts sono programmi che hanno le regole e le penalità di engagement per un contratto definito in righe di codice. Il programma verifica continuamente il soddisfacimento delle condizioni per un contratto e quindi assicura questo venga eseguito automaticamente.
Insieme, questi elementi consentono a due o più parti di effettuare transazioni con trust decentralizzato, in cui ciascuna parte acconsente alla transazione e registra la transazione. L’affidabilità decentralizzata ha senso quando più aziende devono verificare in modo indipendente la cronologia delle transazioni e disporre di un’unica visualizzazione aggiornata e accurata dei dati.
Facciamo l’esempio di un’applicazione di finanza commerciale in cui è necessaria una fiducia decentralizzata. Lo scambio di merci attraverso i confini internazionali richiede che molte aziende lavorino tra loro, come importatori, esportatori, banche multiple, compagnie di spedizioni, compagnie assicurative e dipartimenti doganali. Con il numero di parti interessate coinvolte, non esiste un’autorità centrale di fiducia. Ogni stakeholder desidera verificare in modo indipendente la documentazione relativa allo scambio e non vuole che ci sia una singola entità designata a tenere il record delle attività.
L’attuale processo richiede documentazioni cartacee (ad esempio una lettera di credito) da mandare avanti e indietro tra le parti interessate, il che può richiedere 5-10 giorni lavorativi per essere completato. Ciò si traduce in lunghi tempi di elaborazione e costi elevati.
In questo scenario, consentire alle parti interessate di operare con fiducia decentralizzata migliora l’efficienza e riduce i costi. Non c’è un partecipante che da solo possiede l’infrastruttura e il sistema distribuisce una copia del registro delle transazioni a ciascun partecipante per una verifica indipendente. Il contratto commerciale, come una lettera di credito, può essere scritto come uno smart contract nell’applicazione blockchain. Viene eseguito automaticamente non appena tutte le parti forniscono il consenso per registrare la transazione.
I clienti guardano alla blockchain come la tecnologia che consente loro di effettuare transazioni con più parti quando non esiste un’unica autorità affidabile e hanno bisogno di un sistema con fiducia decentralizzata.
Rendere le blockchain facili con Managed Blockchain
È difficile, costoso e richiede molto tempo creare e gestire reti blockchain utilizzando framework esistenti. Innanzitutto, per creare una rete blockchain con autorizzazioni, ogni membro della rete deve eseguire manualmente il provisioning dell’hardware, installare i software, creare e gestire certificati per il controllo degli accessi e configurare i componenti di rete. Quando la rete blockchain è in esecuzione, gli utenti devono monitorare continuamente l’infrastruttura. Devono adattarsi ai cambiamenti, come un aumento delle richieste di transazione o nuovi membri che si uniscono o escono dalla rete.
Per aiutare a superare le barriere che si devono affrontare cercando di costruire usando blockchain, AWS ha creato Managed Blockchain. A differenza di una rete blockchain self-hosted, con Amazon Managed Blockchain si evita di dover eseguire manualmente il provisioning dell’hardware, la configurazione dei software e la configurazione di componenti di rete e sicurezza. Questo servizio consente agli utenti di configurare e gestire una rete blockchain scalabile con pochi clic. Si ridimensiona automaticamente per soddisfare le esigenze delle migliaia di applicazioni che eseguono milioni di transazioni.
Managed Blockchain gestisce i certificati e tiene traccia delle metriche operative, come l’utilizzo di risorse di calcolo, memoria e archiviazione. Con l’API di voto di Managed Blockchain, i partecipanti possono aggiungere o rimuovere membri al network. Quando un membro richiede maggiore capienza per la creazione e la convalida delle transazioni, ogni membro può aggiungere rapidamente un nuovo nodo utilizzando le API di Managed Blockchain.
Inoltre, Managed Blockchain offre una selezione di tipi di istanze che comprendono diverse combinazioni di CPU e memo. Questo dà la flessibilità di scegliere la combinazione appropriata di risorse per supportare i propri nodi. Gli utenti pagano in base al loro utilizzo e non devono preoccuparsi di eventuali costi iniziali per l’infrastruttura.
Managed Blockchain supporta due framework blockchain molto conosciuti, Hyperledger Fabric ed Ethereum. Hyperledger Fabric è adatto per applicazioni che richiedono severi controlli di privacy e autorizzazioni e con un set di membri noto. Ad esempio, ciò potrebbe includere un’applicazione finanziaria in cui alcuni dati commerciali sono condivisi solo in un sottoinsieme della rete (solo le banche che fanno parte dello scambio).
Ethereum è adatto per reti blockchain altamente distribuite in cui è importante la trasparenza dei dati per tutti i membri. Ogni transazione è visibile a tutti i membri della rete. Ad esempio, ciò potrebbe includere un’applicazione blockchain di fidelizzazione del cliente che consente a qualsiasi rivenditore nella rete di verificare l’attività dell’utente trasmettendo la transazione a tutti i membri.
Managed Blockchain è ora disponibile per Hyperledger Fabric (presto anche per Ethereum).
Managed Blockchain crea un network e gestisce i suoi component chiave:
- Membri
- Autorità di certificazione (CA) di Hyperrledger Fabric per ciascun membro
- Nodi peer
- Ordering service
Una rete blockchain è una rete peer-to-peer che esegue un framework blockchain decentralizzato. Ogni rete comprende uno o più membri, che sono identità univoche nella rete (ad esempio un’organizzazione in un consorzio di banche). Ogni membro della rete può facilmente creare i propri nodi peer che assicurano una varietà di opzioni di calcolo e archiviazione.
Con ogni membro viene anche creata la CA Hyperledger Fabric. Hyperledger Fabric CA fornisce una serie di servizi di certificazione relativi alla registrazione dell’utente, alle transazioni richieste sulla blockchain e alle connessioni protette da TLS tra utenti o componenti della blockchain.
I nodi peer di ciascun membro interagiscono per eseguire Smart Contracts noti come chaincode in Hyperledger Fabric. Creano e approvano le transazioni proposte nella rete e memorizzano una copia locale nel registro
I membri definiscono le regole nel processo di approvazione in base alla logica aziendale della loro stessa applicazione. Ad esempio, in una domanda di finanziamento commerciale, la banca della parte esportatrice desidera verificare che la parte importatrice disponga dei fondi necessari prima di approvare la transazione. Per configurare le applicazioni blockchain su nodi peer e interagire con altre risorse di rete, i membri utilizzano un client configurato con il CLI o l’SDK di AWS. Tali risorse di rete potrebbero includere l’autorità di certificazione, il servizio di ordinazione e i nodi peer.
Managed Blockchain fornisce endpoint per accedere a questi servizi, a cui è possibile accedere tramite un AWS PrivateLink. Inoltre, in Managed Blockchain, abbiamo migliorato l’affidabilità del servizio di ordinazione di default, un componente che garantisce la consegna delle transazioni attraverso la rete blockchain. Abbiamo ricostruito il servizio di ordinazione utilizzando la stessa tecnologia di base di Amazon QLDB. C’è anche ora un registro delle modifiche immutabili che mantiene accuratamente la cronologia completa di tutte le transazioni nella rete blockchain, assicurando che questi dati siano salvati in modo duraturo.
Una soluzione di contabilità con fiducia centralizzata
Abbiamo trascorso molto tempo in AWS a parlare con i clienti della blockchain per comprendere meglio i problemi che può risolvere. Una cosa interessante che abbiamo scoperto è che molte aziende sono interessate alla blockchain perché hanno bisogno di un registro che sia trasparente, immutabile e verificabile crittograficamente. Tuttavia, non hanno un caso d’uso che richiede fiducia decentralizzata.
Un esempio è un dipartimento di autoveicoli che deve tenere traccia della proprietà dei veicoli e della cronologia delle immatricolazioni in un modo che sia resistente alla manipolazione dei dati. Le persone hanno cercato di risolvere questo problema con un database relazionale, ma non è costruito per essere immutabile. Gli utenti devono fare un sacco di lavoro per creare qualsiasi complessa funzionalità di controllo. Inoltre, con un database tradizionale non è possibile tornare indietro nel tempo e verificare l’integrità del registro delle modifiche.
Logicamente, il primo pensiero è: “Perché non affidarsi alla componente ledger di una blockchain?” Questo risolverebbe i problemi relativi all’integrità dei dati e alla funzionalità di controllo, oltre che assicurare fiducia decentralizzata per le transazioni che coinvolgono più parti. MA per le aziende che non necessitano di consenso su ogni transazione tra tutte le parti, nemmeno questo è lo strumento giusto per loro.
La soluzione a questo problema è un ledger centralizzato che sia un registro delle transazioni trasparente, immutabile e verificabile crittograficamente. Ecco perché abbiamo progettato il primo database di contabilità appositamente creato, Amazon QLDB.
Grazie ad Amazon QLDB è facile capire come i dati delle applicazioni sono cambiati nel tempo, eliminando quindi la necessità di creare complicate funzionalità di controllo all’interno dell’applicazione stessa. Un journal Amazon QLDB è un registro immutabile in cui le transazioni vengono aggiunte come blocchi di dati. Dopo che una transazione viene scritta come blocco nel journal, non può essere modificata o eliminata: diventa un record permanente.
Questi blocchi sono anche incatenati insieme mediante crittografia (SHA-256). Questo permette di verificare e dimostrare l’integrità dei dati (ad esempio, un’azienda di e-commerce potrebbe dover mostrare la prova di un’offerta vincente). Questa transazione viene quindi aggiornata nella tabella dello Stato Corrente, che mantiene sempre il valore corrente dei dati. Infine, la transazione viene indicizzata nella tabella della cronologia, che può essere controllata per tenere traccia di come i dati sono cambiati nel tempo.
Inoltre, essendo Amazon QLDB un database, offre prestazioni e scalabilità migliori rispetto ai framework blockchain. Può facilmente scalare ed eseguire da due a tre volte il numero di transazioni rispetto ai comuni framework blockchain. Amazon QLDB è ora disponibile in anteprima limitata.
Rendere i nuovi registri disponibili per tutti
La tecnologia blockchain e ledger ha il potenziale per migliorare notevolmente molti tipi di transazioni. Tuttavia, se non è accessibile a tutti, molte grandi idee potrebbero non essere mai realizzate.
Con Managed Blockchain e Amazon QLDB, chiunque può creare un libro mastro trasparente, immutabile e verificabile crittograficamente. Esistono molti casi d’uso per i database blockchain e ledger. Questi sono solo alcuni esempi.
Riepilogo
Queste due soluzioni — Managed Blockchain e Amazon QLDB — espandono il portafoglio di database di AWS, che ora offre la massima ampiezza e profondità possibile rispetto a qualsiasi provider cloud. Creando più opzioni, aiutiamo più persone. E quando un’azienda ha la libertà di scegliere lo strumento migliore per il proprio lavoro, fa una grande differenza.