Blockchains vs centralizirane baze podatkov

Izvorno vozlišče: 1576904

Štiri ključne razlike med blockchains in rednimi bazami podatkov

Če ste brali moje prejšnje objave, boste do zdaj vedeli, da so blockchains preprosto a nova vrsta baze podatkov. To je baza podatkov, ki jo lahko v pisnem smislu neposredno deli skupina nezaupljivih strank, ne da bi za to potrebovali centralnega skrbnika. To je v nasprotju s tradicionalnimi (SQL ali NoSQL) bazami podatkov, ki jih nadzoruje posamezna entiteta, tudi če se znotraj njegovih sten uporablja nekakšna distribuirana arhitektura.

Pred kratkim sem dala pogovor o blockchainsu z vidika informacijske varnosti, v katerem sem ugotovil, da so blockchains na neki način bolj varne od običajnih baz podatkov, pri drugih pa manj varne. Glede na glavna vloga da centralizirane zbirke podatkov igrajo v današnjem tehnološkem paketu, me je to širše razmislilo o kompromisih med tema dvema tehnologijama. Dejansko, kadar me kdo vpraša, če MultiChain lahko uporabim za določen namen, moj prvi odgovor je vedno: "Bi lahko to naredil z navadno bazo podatkov?" V več primerih, kot si morda mislite, je odgovor pritrdilen iz naslednjega preprostega razloga:

Če zaupanje in robustnost nista težava, blockchain ne more storiti ničesar, česar običajna baza podatkov ne zmore.

To je ključna točka, na kateri je toliko nerazumevanja. Glede na vrste podatkov, ki jih je mogoče shraniti, in transakcije, ki jih je mogoče opraviti na teh podatkih, blockchains ne naredijo nič novega. In da bi bilo jasno, se to opazovanje širi tudi na "pametne pogodbe", kljub njihovemu seksi imenu in podobi. Pametna pogodba ni nič drugega kot kos računalniške kode, ki deluje na vsakem vozlišču v blockchainu - desetletja stara tehnologija, imenovana shranjenih postopkov stori enako za centralizirane baze podatkov. (Blokirne verige tudi ne morete uporabiti, če to potrebujete sproži interakcije z zunanjim svetom.)

Resnica o blockchainsu je, da imajo nekatere prednosti, čeprav imajo nekatere prednosti. Z drugimi besedami, tako kot večina tehnoloških odločitev, tudi izbira med blockchainom in navadno bazo podatkov prihaja do vrste kompromisov. Če vas zasliši hype in ogluši, ga verjetno ne boste objektivno sprejeli. Zato upam, da vam bo lahko pomagal naslednji vodnik.

Disintermediation: prednost blockchains

Osrednja vrednost blockchaina omogoča neposredno skupno rabo baze podatkov prek meja zaupanja, ne da bi pri tem potrebovali centralnega skrbnika. To je mogoče, ker transakcije blockchain vsebujejo lastno dokazilo o veljavnosti in lastno dokazilo o pooblastilu, namesto da bi za uveljavitev teh omejitev zahtevali nekaj centralizirane logike aplikacije. Transakcije je torej mogoče preveriti in obdelati neodvisno z več "vozlišč", pri čemer blockchain deluje kot mehanizem za soglasje, da se prepreči sinhronizacija teh vozlišč.

Zakaj je v tem disintermediranju vredna vrednost? Ker je baza podatkov le bitov in bajtov, je tudi otipljiva stvar. Vsebina baze podatkov je shranjena v pomnilniku in disku določenega računalniškega sistema in vsakdo, ki ima dovolj dostopa do tega sistema, lahko uniči ali poškoduje podatke v njem. Posledično postanete odvisni tudi od trenutka, ko zaupate svoje podatke v navadno bazo podatkov človeškega organizacija, v kateri ta baza podatkov prebiva.

Zdaj je svet poln organizacij, ki so si to zaupanje prislužile - vlade in banke (večinoma), univerze, trgovska združenja in celo zasebna podjetja, kot sta Google in Facebook. Te v večini primerov, zlasti v razvitem svetu, delujejo izjemno dobro. Verjamem, da je bil moj glas vedno štet, nobena banka mi ni nikoli ukradla denarja in še vedno najdem način, kako plačati boljše ocene. Kaj je torej problem? Če organizacija nadzoruje pomembno bazo podatkov, potrebuje tudi kup ljudi in procesov, da prepreči poseg v to bazo podatkov. Ljudje potrebujejo najem, procese je treba zasnovati in vse to traja veliko časa in denarja.

Tako blockchaini ponujajo način, kako te organizacije nadomestiti s porazdeljeno bazo podatkov, ki jo zaklene pametna kriptografija. Kot toliko, ki je prišlo že prej, tudi oni vedno bolj povečujejo zmogljivost računalniških sistemov, da bi zagotovili nov način nadomeščanja ljudi s kodo. Ko je napisana in odpravljena napaka, je koda precej cenejša.

Zaupnost: prednost centraliziranim bazam podatkov

Kot sem že omenil, vsako vozlišče v blockchainu neodvisno preveri in obdela vsako transakcijo. Vozlišče lahko to stori, ker ima popolno vidnost v: (a) trenutnem stanju baze podatkov, (b) spremembi, ki jo zahteva transakcija, in (c) digitalnem podpisu, ki dokazuje izvor transakcije. To je nedvomno pameten nov način arhitekture baze podatkov in resnično deluje. Kje je torej ulov? Za številne aplikacije, zlasti finančne, je popolna preglednost, ki jo uživa vsako vozlišče, absolutna ubijalka.

Kako se sistemi, zgrajeni na običajnih bazah podatkov, izognejo tej težavi? Tako kot blockchains tudi omejujejo transakcije, ki jih lahko izvajajo določeni uporabniki, vendar so te omejitve naložene ena osrednja lokacija. Posledično mora biti celotna vsebina baze podatkov vidna samo na tej lokaciji, ne pa v več vozliščih. Prošnje za branje podatkov gredo tudi prek tega osrednjega organa, ki lahko te zahteve sprejme ali zavrne, če meni, da je to primerno. Z drugimi besedami, če je običajna baza podatkov nadzorovana za branje in nadzorovanje pisanja, blokovna veriga je lahko samo pod nadzorom pisanja.

Če želimo biti pošteni, je na voljo veliko strategij za ublažitev te težave. Te segajo od preprostih idej, kot je poslovanje z več naslovi blockchain, do naprednih kriptografskih tehnik, kot je zaupne transakcije in nič dokazila (zdaj se razvija). Kljub temu, več podatkov, ki jih želite skriti v blockchain, večje je računalniško breme, ki ga plačate za ustvarjanje in preverjanje transakcij. In ne glede na to, kako se te tehnike razvijajo, nikoli ne bodo popolnoma premagale preproste in preproste metode skrivanja podatkov.

Robustnost: prednost blockchains

Druga prednost podatkovnih baz, ki jih poganja blockchain, je skrajna toleranca napak, ki izhaja iz njihove vgrajene odvečnosti. Vsako vozlišče obdela vsako transakcijo, zato nobeno posamezno vozlišče ni ključno za bazo podatkov kot celoto. Podobno se vozlišča med seboj povezujejo na gosto enakomeren način, zato lahko številne komunikacijske povezave ne uspejo, preden se stvari ustavijo. Blockchain zagotavlja, da se lahko vozlišča, ki so padla, vedno ujamejo na transakcije, ki so jih zamudile.

Čeprav je res, da redne baze podatkov ponujajo veliko tehnik replikacija, blockchains to prevzame na povsem novo raven. Za začetek ni potrebna nobena konfiguracija - preprosto povežite nekaj vozlišč blockchain skupaj in se samodejno ohranijo v sinhronizaciji. Poleg tega lahko vozlišča prosto dodate ali odstranite iz omrežja, brez kakršnih koli priprav ali posledic. Nazadnje lahko zunanji uporabniki svoje transakcije pošljejo v katero koli vozlišče ali v več vozlišč hkrati in te transakcije se samodejno in neopazno širijo na vse druge.

Ta robustnost spreminja ekonomičnost razpoložljivosti baz podatkov. Z rednimi bazami podatkov je velika razpoložljivost dosežena s kombinacijo drage infrastrukture in obnovitev po nesreči. Primarna baza podatkov deluje na strojni opremi višjega cenovnega razreda, ki jo zaradi težav natančno spremljajo, transakcije pa se kopirajo v varnostno kopijo na drugem fizičnem mestu. Če primarna baza podatkov ne uspe (npr. Zaradi izpada električne energije ali katastrofalne okvare strojne opreme), se dejavnost samodejno preklopi na varnostno kopijo, ki postane novo primarno. Ko je odpovedan sistem odpravljen, se postavi kot nova varnostna kopija, če in če je potrebno. Čeprav je vse to izvedljivo, je drago in žal zelo težko dobiti prav.

Kaj pa, če bi imeli 10 blockchain vozlišč v različnih delih sveta, vse na blagajni? Ta vozlišča bi bila med seboj tesno povezana, delila bi transakcije medsebojno in z uporabo verige blokov zagotovila soglasje. Končni uporabniki, ki ustvarijo transakcije, se povežejo (recimo) 5 teh vozlišč, zato ni pomembno, ali se nekaj komunikacijskih povezav spusti. In če v enem dnevu eno ali dve vozlišči popolnoma ne uspeta, nihče ne čuti ničesar, saj je na voljo še več kot dovolj kopij. Kakor se že zgodi, je taka kombinacija nizkocenovnih sistemov in velike odvečnosti prav Google svoj iskalnik zgradil tako poceni. Blockchains lahko enako storijo za baze podatkov.

Zmogljivost: prednost centraliziranih baz podatkov

Blockchains bo vedno počasnejši od centraliziranih baz podatkov. Ni samo to današnje blockchains so počasi, ker je tehnologija nova in neopažena, vendar je rezultat tega narava samih blokovskih verig. Pri obdelavi transakcij mora blockchain storiti vse enako kot običajna baza podatkov, vendar nosi tri dodatne obremenitve:

  1. Preverjanje podpisa. Vsaka transakcija blockchain mora biti digitalno podpisana z uporabo javno-zasebne kriptografske sheme, kot je ECDSA. To je potrebno, ker se transakcije širijo med vozlišči na enak način, zato njihovega izvora sicer ni mogoče dokazati. Oblikovanje in preverjanje teh podpisov je računsko zapleteno in predstavlja glavno ozko grlo pri izdelkih, kot je naš. Nasprotno pa v centraliziranih bazah podatkov, ko je vzpostavljena povezava, ni treba posebej preverjati vsake zahteve, ki pride prek nje.
  2. Soglasni mehanizmi. V porazdeljeni bazi podatkov, kot je blok veriga, je treba vložiti napore v zagotavljanje soglasja vozlišč v omrežju. Glede na uporabljeni mehanizem soglasja bi to lahko vključevalo pomembno komunikacijo in / ali ravnanje z vilicami in posledičnimi povratnimi informacijami. Čeprav je res, da se morajo centralizirane zbirke podatkov spopadati tudi s konfliktnimi in prekinjenimi transakcijami, so te veliko manj verjetne, če se transakcije v čakalnem vrstnem redu in obdelajo na enem mestu.
  3. Redundanca. Ne gre za uspešnost posameznega vozlišča, temveč za skupno količino izračuna, ki jo zahteva blockchain. Medtem ko centralizirane zbirke podatkov obdelajo transakcije enkrat (ali dvakrat), jih mora v blokovni verigi obdelati neodvisno vsako vozlišče v omrežju. Tako se za isti končni rezultat opravi veliko več dela.

Bottom line

Seveda obstajajo drugi načini za primerjavo blokovnih verig in rednih baz podatkov. Lahko bi govorili o zrelosti kode baze, privlačnosti za razvijalce, širini ekosistema in še več. Toda nobena od teh vprašanj ni inherentno do same tehnologije. Torej, ko gre za dolgoročno odločitev o uporabi blockchain-ja, je vprašanje, ki si ga lahko zastavim: Kaj je bolj pomembno za moj primer uporabe? Disintermediacija in robustnost? Ali zaupnost in uspešnost?

Če jih preučimo v tej preprosti luči, je veliko primerov uporabe, o katerih se trenutno razpravlja nima smisla. Največji problem je ponavadi zaupnost. Udeleženci na zelo konkurenčnem trgu bodo seveda raje zasebnost centralizirane baze podatkov, namesto da drug drugemu razkrivajo svoje dejavnosti. To še posebej velja, če že obstaja zaupanja vredna osrednja stranka in lahko zagotovi nevtralno ozemlje, na katerem lahko ta baza podatkov prebiva. Čeprav je s tem centralnim ponudnikom morda nekaj stroškov, je to več kot upravičeno z vrednostjo ohranjene zasebnosti. Edina motivacija za prehod na blockchains bi bila agresivna nova regulacija.

Kljub temu imajo blockchains močne primere uporabe, kjer sta disintermediacija in robustnost pomembnejša od zaupnosti in uspešnosti. O tem bom več pisal v naslednjem prispevku, vendar so bila doslej najbolj obetavna področja: (a) revizijske sledi med podjetji, (b) sledenje porekla in (c) lahek finančni sistemi. V vseh treh primerih smo našli ljudi, ki gradijo na MultiChainu z jasnim pogledom na uvajanje, namesto zgolj radovednosti in eksperimentiranja. Če torej iščete načine, kako blockchains lahko dodajo resnično vrednost vašemu podjetju, bodo morda dobro mesto za začetek.

Prosimo, pošljite kakršne koli pripombe na LinkedIn.

Časovni žig:

Več od Večnamenska veriga