Vai al contenuto
Home » blog »  Blockchain vs database centralizzati 

 Blockchain vs database centralizzati 

  • di
What-Is-the-Difference-Between-a-Blockchain-and-a-Database

Quattro differenze chiave tra blockchain e database regolari 

Le blockchain sono semplicemente un nuovo tipo di database . Cioè, un database che può essere condiviso direttamente, in senso scritto, da un gruppo di parti non fidate, senza richiedere un amministratore centrale. Ciò contrasta con i database tradizionali (SQL o NoSQL) che sono controllati da una singola entità, anche se all’interno delle sue mura viene utilizzato un tipo di architettura distribuita. 

Dal punto di vista della sicurezza delle informazioni, le blockchain sono in qualche modo più sicure dei normali database e meno sicure in altri. Considerando il ruolo guida svolto dai database centralizzati nello stack tecnologico di oggi, questo mi ha fatto pensare in modo più ampio ai compromessi tra queste due tecnologie. In effetti, ogni volta che qualcuno mi chiede se Hyperchain può essere utilizzato per uno scopo particolare, la mia prima risposta è sempre: “Potresti farlo con un database normale?” In più casi di quanto pensi, la risposta è sì, per il seguente semplice ragionare: 

Se la fiducia e la solidità non sono un problema, non c’è nulla che una blockchain possa fare che un normale database non può fare. 

Questo è un punto chiave su cui ci sono così tanti malintesi. In termini di tipi di dati che possono essere archiviati e transazioni che possono essere eseguite su tali dati, le blockchain non fanno nulla di nuovo. E per essere chiari, questa osservazione si estende anche ai “contratti intelligenti”, nonostante il loro nome e immagine sexy. Un contratto intelligente non è altro che un pezzo di codice informatico che gira su ogni nodo di una blockchain: una tecnologia vecchia di decenni chiamata stored procedure fa lo stesso per i database centralizzati. (Non puoi nemmeno usare una blockchain se questo codice deve iniziare interazioni con il mondo esterno.) 

La verità sulle blockchain è che, sebbene abbiano alcuni vantaggi, hanno anche i loro lati negativi. In altre parole, come la maggior parte delle decisioni tecnologiche, la scelta tra una blockchain e un database normale dipende da una serie di compromessi. Se sei accecato dall’hype e assordato dal rumore, è improbabile che tu faccia questa scelta obiettivamente. Quindi spero che la seguente guida possa essere d’aiuto. 

Disintermediazione: blockchain vantaggi 

Il valore fondamentale di una blockchain è consentire a un database di essere condiviso direttamente attraverso i confini della fiducia, senza richiedere un amministratore centrale. Ciò è possibile perché le transazioni blockchain contengono la propria prova di validità e la propria prova di autorizzazione, invece di richiedere una logica applicativa centralizzata per applicare tali vincoli. Le transazioni possono quindi essere verificate ed elaborate in modo indipendente da più “nodi”, con la blockchain che funge da meccanismo di consenso per garantire che tali nodi rimangano sincronizzati. 

Perché c’è valore in questa disintermediazione? Perché anche se un database è solo bit e byte, è anche una cosa tangibile . Il contenuto di un database è archiviato nella memoria e nel disco di un particolare sistema informatico e chiunque abbia un accesso sufficiente a quel sistema può distruggere o corrompere i dati all’interno. Di conseguenza, nel momento in cui affidi i tuoi dati a un database normale, diventi anche dipendente dall’organizzazione umana in cui risiede quel database. 

Ora, il mondo è pieno di organizzazioni che hanno guadagnato questa fiducia: governi e banche (principalmente), università, associazioni di categoria e persino società private come Google e Facebook. Nella maggior parte dei casi, specialmente nei paesi sviluppati, funzionano molto bene. Credo che il mio voto sia sempre stato contato, nessuna banca ha mai rubato i miei soldi e devo ancora trovare un modo per pagare voti migliori. Allora, qual’è il problema? Se un’organizzazione controlla un database importante, ha anche bisogno di un sacco di persone e processi in atto per evitare che tale database venga manomesso. Le persone hanno bisogno di essere assunte, i processi devono essere progettati e tutto ciò richiede molto tempo e denaro. 

Quindi le blockchain offrono un modo per sostituire queste organizzazioni con un database distribuito, bloccato da una crittografia intelligente. Come tante altre cose precedenti, sfruttano la sempre crescente capacità dei sistemi informatici di fornire un nuovo modo di sostituire gli umani con il codice. E una volta che è stato scritto e il debug,il codice tende ad essere molto più economico. 

Riservatezza: database centralizzati vantaggi 

Come ho già detto, ogni nodo in una blockchain verifica ed elabora indipendentemente ogni transazione. Un nodo può farlo perché ha piena visibilità su: (a) lo stato corrente del database, (b) la modifica richiesta da una transazione e (c) una firma digitale che dimostra l’origine della transazione. Questo è senza dubbio un nuovo modo intelligente di progettare un database e funziona davvero. Allora dov’è il trucco? Per molte applicazioni, in particolare finanziarie, la piena trasparenza di cui godono tutti i nodi è un vero affare. 

In che modo i sistemi basati su database regolari evitano questo problema? Proprio come le blockchain, limitano le transazioni che determinati utenti possono eseguire, ma queste restrizioni sono imposte in una posizione centrale . Di conseguenza, l’intero contenuto del database deve essere visibile solo in quella posizione, anziché in più nodi. Le richieste di lettura dei dati passano anche attraverso questa autorità centrale, che può accettare o rifiutare tali richieste come ritiene opportuno. In altre parole, se un database regolare viene letto-controllato escrivere-controllato, un blockchain può essere scrittura controllata solo. 

Ad essere onesti, sono disponibili molte strategie per mitigare questo problema. Questi vanno da idee semplici come la transazione sotto più indirizzi blockchain, a tecniche crittografiche avanzate come transazioni confidenziali e prove a conoscenza zero (attualmente in fase di sviluppo). Tuttavia, più informazioni vuoi nascondere su una blockchain, più pesante è il carico computazionale che paghi per generare e verificare le transazioni. E indipendentemente dallo sviluppo di queste tecniche, non batteranno mai il metodo semplice e diretto di nascondere completamente i dati. 

Robustezza: vantaggi blockchain 

Un secondo vantaggio dei database basati su blockchain è l’estrema tolleranza agli errori, che deriva dalla loro ridondanza integrata. Ogni nodo elabora ogni transazione, quindi nessun singolo nodo è cruciale per il database nel suo insieme. Allo stesso modo, i nodi si connettono tra loro in modo denso peer-to-peer, quindi molti collegamenti di comunicazione possono fallire prima che le cose si fermino. La blockchain assicura che i nodi che sono andati giù possano sempre recuperare le transazioni perse. 

Quindi, mentre è vero che i database regolari offrono molte tecniche di replica , le blockchain portano questo a un livello completamente nuovo. Per cominciare, non è necessaria alcuna configurazione: basta connettere alcuni nodi blockchain insieme e si mantengono automaticamente sincronizzati. Inoltre, i nodi possono essere aggiunti o rimossi liberamente da una rete, senza 

preparazione o conseguenze. Infine, gli utenti esterni possono inviare le loro transazioni a qualsiasi nodo o a più nodi contemporaneamente e queste transazioni si propagano automaticamente e senza interruzioni a tutti gli altri. 

Questa robustezza trasforma l’economia della disponibilità del database. Con database regolari, l’alta disponibilità è ottenuta attraverso una combinazione di infrastrutture costose e ripristino di emergenza . Un database primario viene eseguito su hardware di fascia alta che viene monitorato attentamente per problemi, con le transazioni replicate su un sistema di backup in una diversa posizione fisica. Se il database primario non funziona (ad es. A causa di un’interruzione dell’alimentazione o di un guasto hardware catastrofico), l’attività viene automaticamente spostata sul backup, che diventa il nuovo primario. Una volta risolto il sistema guasto, viene allineato per fungere da nuovo backup se e quando necessario. Sebbene tutto ciò sia fattibile, è costoso e notoriamente difficile da ottenere. 

Invece, se avessimo 10 nodi blockchain in esecuzione in diverse parti del mondo, tutti sull’hardware delle materie prime? Questi nodi sarebbero densamente collegati tra loro, condividendo le transazioni su base peer-to-peer e usando una blockchain per garantire il consenso. Gli utenti finali che generano le transazioni si connettono a (diciamo) 5 di questi nodi, quindi non importa se alcuni collegamenti di comunicazione si interrompono. E se uno o due nodi falliscono completamente in un dato giorno, nessuno si sente nulla, perché ci sono ancora più che sufficienti copie per andare in giro. In effetti, questa combinazione di sistemi a basso costo e alta ridondanza è esattamente il modo in cui Google ha costruito il suo motore di ricerca in modo così economico . Le blockchain possono fare la stessa cosa per i database. 

Prestazioni: database centralizzati vantaggi 

Le blockchain saranno sempre più lente dei database centralizzati. Non è solo che le blockchain di oggi sono lente perché la tecnologia è nuova e non ottimizzata, ma è il risultato della natura delle blockchain stesse. Vedi, durante l’elaborazione delle transazioni, una blockchain deve fare tutte le stesse cose di un normale database, ma comporta tre ulteriori oneri: 

  1. Verifica della firma . Ogni transazione blockchain deve essere firmata digitalmente utilizzando uno schema di crittografia pubblico-privato come ECDSA . Ciò è necessario perché le transazioni si propagano tra i nodi in modo peer-to-peer, quindi la loro fonte non potrebbe essere altrimenti dimostrata. La generazione e la verifica di queste firme è computazionalmente complessa e costituisce il principale collo di bottiglia in prodotti come il nostro. Al contrario, nei database centralizzati, una volta stabilita una connessione, non è necessario verificare individualmente ogni richiesta che la riceve. 
  2. Meccanismi di consenso . In un database distribuito come una blockchain, è necessario impegnarsi per garantire il consenso dei nodi della rete. A seconda del meccanismo di consenso utilizzato, ciò potrebbe comportare una significativa comunicazione avanti e indietro e / o gestione delle forcelle e dei loro conseguenti rollback. Sebbene sia vero che i database centralizzati debbano anche far fronte a transazioni in conflitto e interrotte, è molto meno probabile che le transazioni vengano messe in coda ed elaborate in un’unica posizione. 
  3. Ridondanza . Non si tratta delle prestazioni di un singolo nodo, ma della quantità totale di calcolo richiesta da una blockchain. Considerando che i database centralizzati elaborano le transazioni una volta (o due), in una blockchain devono essere elaborati in modo indipendente da ogni nodo della rete. Quindi si sta facendo molto più lavoro per lo stesso risultato finale. 

La linea di fondo 

Naturalmente ci sono altri modi in cui è possibile confrontare blockchain e database regolari. Potremmo parlare di maturità di codebase, attrattiva degli sviluppatori, ampiezza degli ecosistemi e altro ancora. Ma nessuno di questi problemi è inerente alla tecnologia stessa. Quindi, quando si tratta di una decisione a lungo termine sull’utilizzo di una blockchain, la domanda da porsi è questa: cosa c’è di più importante nel mio caso d’uso? Disintermediazione e robustezza? O riservatezza e prestazioni? 

Se esaminati in questa semplice luce, molti dei casi d’uso attualmente in discussione non hanno senso . Il problema più grande tende ad essere la riservatezza. I partecipanti a un mercato fortemente competitivo preferiranno naturalmente la privacy di un database centralizzato, piuttosto che rivelare reciprocamente le loro attività. Ciò è particolarmente vero se esiste già una parte centrale attendibile e può fornire il territorio neutrale in cui tale database può risiedere. Anche se potrebbero esserci dei costi associati a questo fornitore centrale, ciò è più che giustificato dal valore della privacy mantenuta. L’unica motivazione per il passaggio alle blockchain sarebbe una nuova regolamentazione aggressiva. 

Tuttavia, le blockchain hanno casi d’uso forti, in cui la disintermediazione e la robustezza sono più importanti della riservatezza e delle prestazioni. Scriverò di più su questi in un post successivo, ma le aree più promettenti che abbiamo visto finora sono: (a) audit trail interaziendali, (b) monitoraggio della provenienza e (c) sistemi finanziari leggeri . In tutti e tre i casi, abbiamo trovato persone che si basavano su Hyperchain con una chiara visione dell’implementazione, piuttosto che solo curiosità e sperimentazione. Quindi, se stai cercando modi in cui le blockchain possono aggiungere un valore reale alla tua attività, potrebbero essere un buon punto di partenza. 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Translate »