Blockchains vs baze de date centralizate

Patru diferențe cheie între blockchains și bazele de date obișnuite

Dacă ați citit postările mele anterioare, veți ști până acum că blockchain-urile sunt pur și simplu un nou tip de bază de date. Adică o bază de date care poate fi partajată direct, în sens scris, de către un grup de părți care nu au încredere, fără a necesita un administrator central. Acest lucru contrastează cu bazele de date tradiționale (SQL sau NoSQL) care sunt controlate de o singură entitate, chiar dacă se folosește un fel de arhitectură distribuită în interiorul zidurilor sale.

Am dat recent o vorba despre blockchains din perspectiva securității informațiilor, în care am ajuns la concluzia că blockchain-urile sunt mai sigure decât bazele de date obișnuite în unele moduri și mai puțin sigure în altele. Considerând rol principal că bazele de date centralizate joacă în tehnologia actuală, acest lucru m-a făcut să mă gândesc mai larg la compromisurile dintre aceste două tehnologii. Într-adevăr, ori de câte ori cineva mă întreabă dacă multicatenari poate fi folosit într-un anumit scop, primul meu răspuns este întotdeauna: „Ați putea face asta cu o bază de date obișnuită?” În mai multe cazuri decât ați putea crede, răspunsul este da, din următorul motiv simplu:

Dacă încrederea și robustețea nu sunt o problemă, nu există nimic pe care un blockchain nu poate face ceea ce o bază de date obișnuită nu poate face.

Acesta este un punct cheie asupra căruia există atât de multe neînțelegeri. În ceea ce privește tipurile de date care pot fi stocate și tranzacțiile care pot fi efectuate pe acele date, blockchain-urile nu fac nimic nou. Și pentru a fi clar, această observație se extinde și la „contractele inteligente”, în ciuda numelui și imaginii lor sexy. Un contract inteligent nu este altceva decât o bucată de cod de computer care rulează pe fiecare nod dintr-un blockchain - o tehnologie veche de zeci de ani numită proceduri stocate procedează la fel pentru bazele de date centralizate. (De asemenea, nu puteți utiliza un blockchain dacă acest cod este necesar iniția interacțiunile cu lumea exterioară.)

Adevărul despre blockchains este că, deși au unele avantaje, au și dezavantajele lor. Cu alte cuvinte, la fel ca majoritatea deciziilor tehnologice, alegerea între un blockchain și o bază de date obișnuită se reduce la o serie de compromisuri. Dacă ești orbit de hype și asurzit de zgomot, este puțin probabil să faci acea alegere în mod obiectiv. Așa că sper că următorul ghid vă poate ajuta.

Dezintermedierea: avantaje blockchains

Valoarea de bază a unui blockchain este să permită partajarea directă a unei baze de date peste granițele de încredere, fără a necesita un administrator central. Acest lucru este posibil deoarece tranzacțiile blockchain conțin propria lor dovadă de valabilitate și propria lor dovadă de autorizare, în loc să necesite o anumită logică de aplicație centralizată pentru a aplica aceste constrângeri. Prin urmare, tranzacțiile pot fi verificate și procesate independent de mai multe „noduri”, blockchain-ul acționând ca un mecanism de consens pentru a se asigura că acele noduri rămân sincronizate.

De ce există valoare în această dezintermediere? Pentru că, deși o bază de date este doar biți și octeți, este, de asemenea, un lucru tangibil. Conținutul unei baze de date este stocat în memoria și discul unui anumit sistem computerizat și oricine are acces suficient la acel sistem poate distruge sau corupe datele din interior. Ca urmare, în momentul în care încredințați datele unei baze de date obișnuite, deveniți și dependenți de uman organizația în care se află acea bază de date.

Acum, lumea este plină de organizații care și-au câștigat această încredere – guverne și bănci (în cea mai mare parte), universități, asociații comerciale și chiar companii private precum Google și Facebook. În majoritatea cazurilor, în special în lumea dezvoltată, acestea funcționează extrem de bine. Cred că votul meu a fost întotdeauna numărat, nicio bancă nu mi-a furat banii și încă nu găsesc o modalitate de a plăti pentru note mai bune. Deci care este problema? Dacă o organizație controlează o bază de date importantă, are nevoie, de asemenea, de o mulțime de oameni și de procese pentru a preveni modificarea acea bază de date. Oamenii au nevoie de angajări, procesele trebuie proiectate și toate acestea necesită mult timp și bani.

Așadar, blockchain-urile oferă o modalitate de a înlocui aceste organizații cu o bază de date distribuită, blocată de o criptografie inteligentă. La fel ca multe lucruri care au apărut înainte, ei valorifică capacitatea din ce în ce mai mare a sistemelor informatice de a oferi o nouă modalitate de a înlocui oamenii cu cod. Și odată ce a fost scris și depanat, codul tinde să fie mult mai ieftin.

Confidențialitate: avantaje bazele de date centralizate

După cum am menționat, fiecare nod dintr-un blockchain verifică și procesează în mod independent fiecare tranzacție. Un nod poate face acest lucru deoarece are vizibilitate deplină asupra: (a) starea curentă a bazei de date, (b) modificarea cerută de o tranzacție și (c) o semnătură digitală care dovedește originea tranzacției. Acesta este, fără îndoială, o nouă modalitate inteligentă de a crea o bază de date și chiar funcționează. Deci unde-i captiva? Pentru multe aplicații, în special cele financiare, transparența deplină de care se bucură fiecare nod este un ucigaș absolut.

Cum evită sistemele construite pe baze de date obișnuite această problemă? La fel ca blockchain-urile, ele restricționează tranzacțiile pe care anumiți utilizatori le pot efectua, dar aceste restricții sunt impuse o locație centrală. Ca rezultat, conținutul complet al bazei de date trebuie să fie vizibil doar în acea locație, mai degrabă decât în ​​mai multe noduri. Solicitările de citire a datelor trec și prin această autoritate centrală, care poate accepta sau respinge acele solicitări după cum consideră de cuviință. Cu alte cuvinte, dacă o bază de date obișnuită este controlată de citire și controlat de scriere, un blockchain poate fi controlat doar de scriere.

Pentru a fi corect, sunt disponibile multe strategii pentru atenuarea acestei probleme. Acestea variază de la idei simple, cum ar fi tranzacțiile sub mai multe adrese blockchain, până la tehnici criptografice avansate, cum ar fi tranzacții confidențiale și dovezi de cunoaștere zero (acum în curs de dezvoltare). Cu toate acestea, cu cât doriți să ascundeți mai multe informații pe un blockchain, cu atât este mai mare sarcina de calcul pe care o plătiți pentru a genera și verifica tranzacțiile. Și indiferent de modul în care se dezvoltă aceste tehnici, nu vor depăși niciodată metoda simplă și simplă de a ascunde datele complet.

Robustitate: avantaj blockchains

Un al doilea beneficiu al bazelor de date bazate pe blockchain este toleranța extremă la erori, care provine din redundanța lor încorporată. Fiecare nod procesează fiecare tranzacție, astfel încât niciun nod individual nu este crucial pentru baza de date în ansamblu. În mod similar, nodurile se conectează între ele într-un mod dens peer-to-peer, așa că multe legături de comunicare pot eșua înainte ca lucrurile să se oprească. Blockchain-ul asigură că nodurile care au căzut pot întotdeauna să ajungă din urmă cu tranzacțiile pe care le-au ratat.

Deci, deși este adevărat că bazele de date obișnuite oferă multe tehnici pentru replică, blockchain-urile duc acest lucru la un nivel cu totul nou. Pentru început, nu este necesară nicio configurație - pur și simplu conectați unele noduri blockchain împreună și se mențin automat sincronizate. În plus, nodurile pot fi adăugate sau îndepărtate liber dintr-o rețea, fără nicio pregătire sau consecințe. În sfârșit, utilizatorii externi își pot trimite tranzacțiile către orice nod sau către mai multe noduri simultan, iar aceste tranzacții se propagă automat și fără probleme către toți ceilalți.

Această robustețe transformă economia disponibilității bazei de date. Cu bazele de date obișnuite, disponibilitatea ridicată este obținută printr-o combinație de infrastructură costisitoare și recuperare în caz de dezastru. O bază de date primară rulează pe hardware de ultimă generație care este monitorizat îndeaproape pentru probleme, cu tranzacțiile replicate într-un sistem de rezervă într-o locație fizică diferită. Dacă baza de date primară eșuează (de exemplu, din cauza unei întreruperi de curent sau a unei defecțiuni catastrofale de hardware), activitatea este mutată automat în backup, care devine noul primar. Odată ce sistemul eșuat este remediat, acesta este aliniat pentru a acționa ca noua copie de rezervă dacă și când este necesar. În timp ce toate acestea sunt realizabile, este costisitor și notoriu de dificil de făcut corect.

În schimb, ce se întâmplă dacă am avea 10 noduri blockchain care rulează în diferite părți ale lumii, toate pe hardware de bază? Aceste noduri ar fi strâns conectate între ele, împărtășind tranzacții peer-to-peer și folosind un blockchain pentru a asigura consensul. Utilizatorii finali care generează tranzacțiile se conectează la (să zicem) 5 dintre aceste noduri, deci nu contează dacă câteva legături de comunicare se întrerup. Și dacă unul sau două noduri eșuează complet într-o zi, nimeni nu simte nimic, pentru că există încă mai mult decât suficiente copii pentru a rula. După cum se întâmplă, această combinație de sisteme low-cost și redundanță ridicată este exact așa cum este Google și-a construit motorul de căutare atât de ieftin. Blockchain-urile pot face același lucru pentru bazele de date.

Performanta: avantaj bazele de date centralizate

Blockchain-urile vor fi întotdeauna mai lente decât bazele de date centralizate. Nu este doar atât azi blockchains-urile sunt lente, deoarece tehnologia este nouă și neoptimizată, dar este un rezultat al natură a blockchain-urilor în sine. Vedeți, atunci când procesează tranzacții, un blockchain trebuie să facă aceleași lucruri ca o bază de date obișnuită, dar are trei sarcini suplimentare:

  1. Verificarea semnăturii. Fiecare tranzacție blockchain trebuie să fie semnată digital folosind o schemă de criptare public-privată, cum ar fi ECDSA. Acest lucru este necesar deoarece tranzacțiile se propagă între noduri într-un mod peer-to-peer, astfel încât sursa lor nu poate fi dovedită altfel. Generarea și verificarea acestor semnături este complexă din punct de vedere computațional și constituie principalul blocaj în produse precum al nostru. În schimb, în ​​bazele de date centralizate, odată ce o conexiune a fost stabilită, nu este nevoie să verificăm individual fiecare solicitare care vine peste ea.
  2. Mecanisme de consens. Într-o bază de date distribuită, cum ar fi un blockchain, trebuie depus efort pentru a se asigura că nodurile din rețea ajung la un consens. În funcție de mecanismul de consens utilizat, acest lucru ar putea implica o comunicare semnificativă înainte și înapoi și/sau tratarea cu furcături și derularea lor ulterioară. Deși este adevărat că bazele de date centralizate trebuie să se confrunte și cu tranzacții conflictuale și întrerupte, acestea sunt mult mai puțin probabile acolo unde tranzacțiile sunt puse în coadă și procesate într-o singură locație.
  3. Redundanţă. Nu este vorba despre performanța unui nod individual, ci despre cantitatea totală de calcul pe care o necesită un blockchain. În timp ce bazele de date centralizate procesează tranzacțiile o dată (sau de două ori), într-un blockchain ele trebuie procesate independent de fiecare nod din rețea. Deci, se lucrează mult mai mult pentru același rezultat final.

Linia de jos

Desigur, există și alte moduri în care blockchain-urile și bazele de date obișnuite pot fi comparate. Am putea vorbi despre maturitatea bazei de cod, atractivitatea dezvoltatorului, lărgimea ecosistemului și multe altele. Dar niciuna dintre aceste probleme nu este inerent la tehnologia în sine. Deci, atunci când vine vorba de o decizie pe termen lung privind utilizarea unui blockchain, întrebarea de pus este următoarea: Ce este mai important pentru cazul meu de utilizare? Dezintermediere și robustețe? Sau confidențialitate și performanță?

Când sunt examinate în această lumină simplă, multe dintre cazurile de utilizare aflate în prezent în discuție nu are sens. Cea mai mare problemă tinde să fie confidențialitatea. Participanții la o piață extrem de competitivă vor prefera în mod natural confidențialitatea unei baze de date centralizate, decât să-și dezvăluie activitățile unul altuia. Acest lucru este valabil mai ales dacă o parte centrală de încredere există deja și poate oferi teritoriul neutru în care poate locui acea bază de date. Chiar dacă pot exista anumite costuri asociate cu acest furnizor central, acest lucru este mai mult decât justificat de valoarea confidențialității păstrate. Singura motivație pentru trecerea la blockchains ar fi o nouă reglementare agresivă.

Cu toate acestea, blockchain-urile au cazuri de utilizare puternice, în care dezintermedierea și robustețea sunt mai importante decât confidențialitatea și performanța. Voi scrie mai multe despre acestea într-o postare ulterioară, dar cele mai promițătoare domenii pe care le-am văzut până acum sunt: ​​(a) piste de audit inter-companii, (b) urmărirea provenienței și (c) categorie ușoară sisteme financiare. În toate cele trei cazuri, am găsit oameni care construiesc pe MultiChain cu o viziune clară asupra implementării, mai degrabă decât curiozitatea și experimentarea. Deci, dacă sunteți în căutarea unor modalități prin care blockchains-urile pot adăuga valoare reală afacerii dvs., acestea ar putea fi un loc bun pentru a începe.

Vă rugăm să postați comentarii pe LinkedIn.

Timestamp-ul:

Mai mult de la multicatenari