Blockchains vs centraliserede databaser

Kildeknude: 1576904

Fire vigtige forskelle mellem blockchains og almindelige databaser

Hvis du har læst mine tidligere indlæg, ved du nu, at blockchains simpelthen er en ny type database. Det vil sige en database, som kan deles direkte, i skrivende forstand, af en gruppe af ikke-tillidsfulde parter uden at kræve en central administrator. Dette står i kontrast til traditionelle (SQL eller NoSQL) databaser, der styres af en enkelt enhed, selvom der bruges en form for distribueret arkitektur inden for dens vægge.

Jeg gav for nylig en tale om blockchains fra et informationssikkerhedsperspektiv, hvor jeg konkluderede, at blockchains på nogle måder er mere sikre end almindelige databaser, og mindre sikre på andre. I betragtning af ledende rolle at centraliserede databaser spiller i nutidens teknologistak, fik dette mig til at tænke mere bredt om afvejningen mellem disse to teknologier. Faktisk, når nogen spørger mig om multikæde kan bruges til et bestemt formål, er mit første svar altid: "Kunne du gøre det med en almindelig database?" I flere tilfælde, end du måske tror, ​​er svaret ja, af følgende simple grund:

Hvis tillid og robusthed ikke er et problem, er der intet, en blockchain kan gøre, som en almindelig database ikke kan.

Dette er et nøglepunkt, som der er så mange misforståelser om. Med hensyn til de typer data, der kan lagres, og de transaktioner, der kan udføres på disse data, gør blockchains ikke noget nyt. Og bare for at være klar, strækker denne observation sig også til "smarte kontrakter", på trods af deres sexede navn og image. En smart kontrakt er intet andet end et stykke computerkode, der kører på hver knude i en blockchain - en årtier gammel teknologi kaldet lagrede procedurer gør det samme for centraliserede databaser. (Du kan heller ikke bruge en blockchain, hvis denne kode har brug for det indlede interaktioner med omverdenen.)

Sandheden om blockchains er, at selvom de har nogle fordele, har de også deres ulemper. Med andre ord, som de fleste teknologibeslutninger, kommer valget mellem en blockchain og en almindelig database ned til en række afvejninger. Hvis du er blændet af hypen og døv af støjen, er det usandsynligt, at du træffer det valg objektivt. Så jeg håber, at følgende guide kan hjælpe.

Disintermediation: fordele blockchains

Kerneværdien af ​​en blockchain er at gøre det muligt for en database at blive direkte delt på tværs af tillidsgrænser uden at kræve en central administrator. Dette er muligt, fordi blockchain-transaktioner indeholder deres eget bevis for gyldighed og deres eget bevis for autorisation, i stedet for at kræve noget centraliseret applikationslogik for at håndhæve disse begrænsninger. Transaktioner kan derfor verificeres og behandles uafhængigt af flere "knuder", hvor blockchain fungerer som en konsensusmekanisme for at sikre, at disse noder forbliver synkroniserede.

Hvorfor er der værdi i denne disintermediation? For selvom en database kun er bits og bytes, det er også en håndgribelig ting. Indholdet af en database er gemt i hukommelsen og disken i et bestemt computersystem, og enhver med tilstrækkelig adgang til dette system kan ødelægge eller ødelægge dataene indeni. Som følge heraf bliver du også afhængig af, i det øjeblik du overlader dine data til en almindelig database menneskelig organisation, hvor databasen er hjemmehørende.

Nu er verden fyldt med organisationer, der har fortjent denne tillid - regeringer og banker (for det meste), universiteter, brancheforeninger og endda private virksomheder som Google og Facebook. I de fleste tilfælde, især i den udviklede verden, fungerer disse ekstremt godt. Jeg tror, ​​min stemme altid er blevet talt, ingen bank har nogensinde stjålet mine penge, og jeg mangler endnu at finde en måde at betale for bedre karakterer. Så hvad er problemet? Hvis en organisation kontrollerer en vigtig database, har den også brug for en masse mennesker og processer på plads for at forhindre, at databasen bliver manipuleret. Folk har brug for ansættelse, processer skal designes, og alt dette tager meget tid og penge.

Så blockchains tilbyder en måde at erstatte disse organisationer med en distribueret database, låst ned af smart kryptografi. Som så meget, der er kommet før, udnytter de computersystemernes stadigt stigende kapacitet til at give en ny måde at erstatte mennesker med kode. Og når den først er blevet skrevet og fejlrettet, plejer koden at være meget billigere.

Fortrolighed: fordel centraliserede databaser

Som jeg nævnte, verificerer og behandler hver node i en blockchain uafhængigt hver transaktion. En node kan gøre dette, fordi den har fuld synlighed i: (a) databasens aktuelle tilstand, (b) den ændring, som en transaktion anmoder om, og (c) en digital signatur, der beviser transaktionens oprindelse. Dette er uden tvivl en smart ny måde at opbygge en database på, og det virker virkelig. Så hvor er fangsten? For mange applikationer, især økonomiske, er den fulde gennemsigtighed, som hver node nyder godt af, en absolut deal-killer.

Hvordan undgår systemer bygget på almindelige databaser dette problem? Ligesom blockchains begrænser de de transaktioner, som bestemte brugere kan udføre, men disse begrænsninger er pålagt én central placering. Som et resultat behøver det fulde databaseindhold kun at være synligt på det sted, snarere end i flere noder. Anmodninger om at læse data går også gennem denne centrale myndighed, som kan acceptere eller afvise disse anmodninger, som den finder passende. Med andre ord, hvis en almindelig database er læsestyret , skrivestyret kan en blockchain kun skrivekontrolleres.

For at være retfærdig er der mange strategier tilgængelige til at afhjælpe dette problem. Disse spænder fra simple ideer som at handle under flere blockchain-adresser til avancerede kryptografiske teknikker som f.eks. fortrolige transaktioner , nul-viden bevis (udvikles nu). Ikke desto mindre, jo mere information du ønsker at skjule på en blockchain, jo større er en beregningsbyrde du betaler for at generere og verificere transaktioner. Og uanset hvordan disse teknikker udvikler sig, vil de aldrig slå den enkle og ligetil metode til at skjule data fuldstændigt.

Robusthed: fordel blockchains

En anden fordel ved blockchain-drevne databaser er ekstrem fejltolerance, som stammer fra deres indbyggede redundans. Hver node behandler hver transaktion, så ingen individuel node er afgørende for databasen som helhed. På samme måde forbinder noder hinanden på en tæt peer-to-peer-måde, så mange kommunikationslinks kan fejle, før tingene går i stå. Blockchain sikrer, at noder, der gik ned, altid kan indhente transaktioner, de gik glip af.

Så selvom det er rigtigt, at almindelige databaser tilbyder mange teknikker til replikation, tager blockchains dette til et helt nyt niveau. Til at begynde med kræves der ingen konfiguration - bare forbind nogle blockchain-noder sammen, og de holder sig automatisk synkroniseret. Derudover kan noder frit tilføjes eller fjernes fra et netværk, uden nogen forberedelse eller konsekvenser. Endelig kan eksterne brugere sende deres transaktioner til en hvilken som helst node eller til flere noder samtidigt, og disse transaktioner forplanter sig automatisk og problemfrit til alle andre.

Denne robusthed ændrer økonomien ved databasetilgængelighed. Med almindelige databaser opnås høj tilgængelighed gennem en kombination af dyr infrastruktur og disaster recovery. En primær database kører på avanceret hardware, som overvåges nøje for problemer, med transaktioner replikeret til et backup-system på en anden fysisk placering. Hvis den primære database svigter (f.eks. på grund af strømafbrydelse eller katastrofal hardwarefejl), flyttes aktiviteten automatisk over til backup, som bliver den nye primære. Når det fejlbehæftede system er rettet, står det i kø for at fungere som den nye backup, hvis og når det er nødvendigt. Selvom alt dette kan lade sig gøre, er det dyrt og notorisk svært at få ret.

I stedet, hvad nu hvis vi havde 10 blockchain-noder, der kører i forskellige dele af verden, alle på råvarehardware? Disse noder ville være tæt forbundet med hinanden, dele transaktioner på peer-to-peer-basis og bruge en blockchain for at sikre konsensus. Slutbrugere, der genererer transaktionerne, forbinder til (f.eks.) 5 af disse noder, så det gør ikke noget, hvis et par kommunikationslinks går ned. Og hvis en eller to noder svigter fuldstændigt på en given dag, er der ingen, der mærker noget, fordi der stadig er mere end nok kopier at gå rundt. Som det sker, er denne kombination af billige systemer og høj redundans præcis, hvordan Google bygget sin søgemaskine så billigt. Blockchains kan gøre det samme for databaser.

Ydeevne: fordel centraliserede databaser

Blockchains vil altid være langsommere end centraliserede databaser. Det er ikke kun det nutidens blockchains er langsomme, fordi teknologien er ny og uoptimeret, men det er et resultat af natur af blockchains selv. Du kan se, når en blockchain behandler transaktioner, skal den gøre alle de samme ting som en almindelig database, men den bærer tre ekstra byrder:

  1. Signaturbekræftelse. Enhver blockchain-transaktion skal signeres digitalt ved hjælp af en offentlig-privat kryptografiordning som f.eks ECDSA. Dette er nødvendigt, fordi transaktioner udbreder sig mellem noder på en peer-to-peer måde, så deres kilde ellers ikke kan bevises. Generering og verificering af disse signaturer er beregningsmæssigt kompleks og udgør den primære flaskehals i produkter som vores. I modsætning hertil er der i centraliserede databaser, når en forbindelse først er etableret, ikke behov for individuelt at verificere hver anmodning, der kommer over den.
  2. Konsensusmekanismer. I en distribueret database som en blockchain skal der bruges kræfter på at sikre, at noder i netværket når konsensus. Afhængigt af den anvendte konsensusmekanisme kan dette indebære betydelig frem og tilbage-kommunikation og/eller håndtering af gafler og deres deraf følgende tilbagerulninger. Selvom det er rigtigt, at centraliserede databaser også skal kæmpe med modstridende og afbrudte transaktioner, er disse langt mindre sandsynlige, hvor transaktioner står i kø og behandles på et enkelt sted.
  3. Redundans. Dette handler ikke om ydeevnen af ​​en individuel node, men den samlede mængde beregning, som en blockchain kræver. Mens centraliserede databaser behandler transaktioner én (eller to gange), skal de i en blockchain behandles uafhængigt af hver node i netværket. Så meget mere arbejde bliver gjort for det samme slutresultat.

Bundlinien

Der er naturligvis andre måder, hvorpå blockchains og almindelige databaser kan sammenlignes. Vi kunne tale om kodebasemodenhed, udviklertiltrækningskraft, økosystembredde og mere. Men ingen af ​​disse problemer er det iboende til selve teknologien. Så når det kommer til en langsigtet beslutning om at bruge en blockchain, er spørgsmålet at stille dette: Hvad er mere vigtigt for min use case? Disintermediation og robusthed? Eller fortrolighed og præstation?

Når de undersøges i dette enkle lys, er mange af de use cases, der i øjeblikket er til diskussion giver ikke mening. Det største problem har tendens til at være fortrolighed. Deltagerne på en stærkt konkurrencepræget markedsplads vil naturligvis foretrække privatlivets fred i en centraliseret database frem for at afsløre deres aktiviteter for hinanden. Dette gælder især, hvis der allerede eksisterer en betroet central part og kan levere det neutrale område, hvor databasen kan ligge. Selvom der kan være nogle omkostninger forbundet med denne centrale udbyder, er dette mere end berettiget af værdien af ​​det bevarede privatliv. Den eneste motivation for et skift til blockchains ville være aggressiv ny regulering.

Ikke desto mindre har blockchains stærke use cases, hvor disintermediation og robusthed er vigtigere end fortrolighed og ydeevne. Jeg vil skrive mere om disse i et efterfølgende indlæg, men de mest lovende områder, vi har set indtil videre, er: (a) revisionsspor mellem virksomheder, (b) sporing af herkomst og (c) letvægt finansielle systemer. I alle tre tilfælde har vi fundet folk, der bygger på MultiChain med et klart overblik over implementering, snarere end blot nysgerrighed og eksperimenter. Så hvis du leder efter måder, hvorpå blockchains kan tilføje ægte værdi til din virksomhed, kan de være et godt sted at starte.

Skriv eventuelle kommentarer på LinkedIn.

Tidsstempel:

Mere fra multikæde