Zasebni blockchains so več kot "samo" skupne baze podatkov

Zakaj neprimerni blockchain pogrešajo bistvo

In tako gre naprej. Od priljubljenih objav do zaničljivi tviti do napovedi o prihodnosti, svet in njegova mati se že pripravljajo, da paradižnike metajo v zasebne verige blokov celo razumevanje, kaj so.

Reči, da je zasebna veriga verig le skupna baza podatkov, je kot reči, da sta HTML in HTTP "samo" porazdeljena hiperteksta. Na dva načina je narobe. Prvič, pomenski: zasebni blockchains so tehnologija, ki omogoča skupne podatkovne baze, na primer pisala, omogočajo pisanje, HTML / HTTP pa distribuirano hipertekst. Bitcoin blockchaina in njegove primarne aplikacije ni mogoče smiselno ločiti, ker eno brez drugega ne bi moglo obstajati. Toda ta enakovrednost sploh ne velja za zasebne verige blokov.

Druga napaka je uporaba besede "samo". Samo? Sta bila HTML in HTTP samo način za distribucijo hiperteksta? Hipertekst je bil izumil desetletja prej, so torej te tehnologije manjša opomba v računalniški zgodovini? Oh, pa naj preštejem, kako so si prislužili mesto: (a) preprost označevalni jezik da bi se lahko naučil vsak laik, (b) a shema hierarhičnega naslavljanja ki deluje tako s TCP / IP kot z našim konceptualnim modelom kraja, (c) a preprost protokol za pridobivanje vsebine brez države in (d) oboje stranke in strežnik programska oprema, ki je vse skupaj oživela. Lahko bi tudi rekli, da je bil Newton samo znanstvenik, Dostojevski pa le pisatelj.

Torej, naj bo to povsem jasno: Da, zasebni verižni bloki so le način za skupno rabo baze podatkov. Omogočajo pa novo vrsto skupne baze podatkov, ki ima velike posledice za finančni svet in širše. In če ste pripravljeni brati naprej, vam bom natančno povedal, zakaj.

Kaj je baza podatkov?

Baza podatkov je repozitorij strukturiranih informacij, razvrščenih v tabele. Lahko si to predstavljate kot zbirko ene ali več Excelovih preglednic, ki jih lahko poljubno povežete. Vsaka tabela vsebuje informacije o nizu entitet določene vrste, z eno entiteto na vrstico. Vsaka tabela ima tudi enega ali več stolpcev, ki opisujejo različne vidike teh entitet. V tabeli internega imenika osebja WidgetCo so lahko na primer stolpci za ID zaposlenega, ime, priimek, oddelek, interno telefonsko številko in številko sobe.

Eden pomembnih načinov, kako zbirke podatkov presegajo preglednice, je, da vsebujejo pravila o podatkih, shranjenih v njih. Ta pravila pomagajo zagotoviti, da informacije ostanejo zdrave in dosledne v korist celotne organizacije. V današnjem najbolj priljubljenih zbirk podatkov, pravila imajo številne pogoste oblike:

  • O shema baze podatkov določa, katere informacije so dovoljene v posameznem stolpcu. Telefonska številka mora na primer vsebovati 4 številke in ne sme biti prazna (»null«).
  • Edinstvene tipke ki navajajo, da mora imeti določen stolpec (npr. ID zaposlenega) v vsaki vrstici drugačno vrednost.
  • Preverite omejitve ki vsiljujejo razmerja med vrednostmi stolpcev v vsaki vrstici. Če je na primer oddelek »Nabava«, se mora številka sobe začeti s 3 ali 4.
  • Tuji ključi ki uveljavljajo razmerja med tabelami. Če na primer baza podatkov vsebuje drugo tabelo, ki se uporablja za plačilne liste, lahko obstaja pravilo, da mora vsak ID zaposlenega v tabeli plačilnih listov obstajati tudi v imeniku osebja.

Transakcija je zbirka sprememb baze podatkov, ki je sprejeta ali zavrnjena kot celota. Vsakič, ko transakcija spremeni bazo podatkov, programska oprema zagotavlja upoštevanje pravil baze podatkov. Če kateri koli del transakcije krši eno od teh pravil, bo celotna transakcija zavrnjena z ustrezno napako.

Obstajajo še druge vrste ezoteričnih pravil, ki bi jih lahko naštel, vendar jim je skupno vse. Odgovorijo na vprašanje: Je baza podatkov v veljavnem stanju? Z drugimi besedami, delujejo kot omejitev vsebine baze podatkov če ga gledamo v določenem trenutku. In to dobro deluje za bazo podatkov, ki sedi znotraj ene same organizacije, ker glavna naloga omejitev je preprečiti napake programerja. Če bi ena od notranjih aplikacij WidgetCo poskušala v imenik vstaviti trimestno telefonsko številko, to ne bi bila posledica zlonamernosti, temveč napaka v razmišljanju ali kodi razvijalca. Zmožnost baze podatkov, da zazna te napake, je nedvomno priročna in pomaga preprečiti širjenje slabih informacij znotraj organizacije, vendar ne odpravlja težav z zaupanjem. (Omejitve lahko pomagajo tudi poenostaviti aplikacijsko logiko, na primer prek kaskadni tuji ključ or o dvojnikih klavzul, vendar so to še vedno le načini za pomoč razvijalcem.)

Skupna raba zbirke podatkov

Zdaj pa pomislimo, kako bi lahko notranji imenik osebja WidgetCo delili z zunanjim svetom. V mnogih primerih ni težav pri zagotavljanju skupno branje dostop. Imenik je mogoče izvoziti v besedilno datoteko in ga poslati strankam in dobaviteljem. Lahko ga objavite na internetu, tako kot tale. Lahko dobite celo API, ki omogoča iskanje po zunanji kodi. Skupno branje je tehnična potegavščina, vprašanje odločitve, kdo lahko kaj vidi.

Stvari pa se začnejo lepšati, ko pomislimo skupno pisanje. Kaj pa, če WidgetCo želi zunanjo entiteto spremenite svojo bazo podatkov? Morda telefone nadomešča PhoneCo, ki bo nato posodobil telefonske številke v imeniku osebja. V tem primeru bi WidgetCo ustvaril nov "račun", ki ga bo PhoneCo uporabljal. V nasprotju z računi za interno uporabo WidgetCo je račun PhoneCo dovoljen samo spreminjanje stolpca s telefonsko številko in nikoli dodajanje ali brisanje vrstic. Vse transakcije PhoneCo obdeluje sistem baz podatkov WidgetCo, ki zdaj uporablja dve vrsti omejitev:

  • Globalna pravila, ki veljajo za vse uporabnike zbirke podatkov. Telefonsko podjetje na primer ne more spremeniti številke, tako da bo vsebovala samo tri števke, in tudi kdo drug ne.
  • Pravila za posamezen račun, ki omejujejo, kaj lahko PhoneCo počne, v tem primeru spreminja le stolpec telefonske številke obstoječih vrstic.

Zaenkrat dobro. Imamo skupno bazo podatkov za pisanje. Deluje, ker je WidgetCo zadolžen za bazo podatkov, telefonsko podjetje pa dobi dostop z dobro milostjo WidgetCo. Če je PhoneCo začel naključno nastavljati telefonske številke, lahko WidgetCo izključi njihov dostop, prekine pogodbo in obnovi nekatere stare podatke iz varnostne kopije. In če bi se WidgetCo začel neprimerno obnašati, recimo z razveljavitvijo novih telefonskih številk, ki jih je vnesel PhoneCo, bi bilo to povsem nesmiselno, saj škodovalo bi samo WidgetCoju. Telefonsko podjetje bi WidgetCo štelo za posebno stranko, vendar ne posebno skrbno, če bi svoj račun plačali pravočasno.

Zdaj pa poglejmo, kaj se zgodi, če hočeta dve ali več strank deliti bazo podatkov, ki je (a) nobena od strank ne nadzoruje, (b) lahko katera koli stranka zapiše in (c) se lahko nanjo zanese vsak. Da bi bile stvari še slabše, recimo, da imajo te stranke različne spodbude, si ne zaupajo in so lahko celo ostri konkurenti. V tem primeru je bila rešitev vedno enaka: uvedite zaupanja vrednega posrednika. Ta posrednik centralno upravlja zbirko podatkov, zagotavlja račune vsem strankam in zagotavlja, da so vse operacije dovoljene v skladu z znanimi pravili. V mnogih primerih, zlasti finančnih, vsaka stranka še vedno hrani svojo kopijo podatkov, zato vsi porabijo veliko časa za preverjanje njihove baze podatkov se strinjajo.

Vse postane precej grdo in okorno. Če pa govorimo o a skupna baza podatkov za pisanje v okolju z omejenim zaupanjem, trenutno ni druge možnosti. To je eden glavnih razlogov, zakaj potekajo finančne transakcije centralne klirinške hiše, zakaj uporabljate Google Koledar celo v majhni delovni skupini in zakaj se to sprašuje množica Wikipedia troši milijonov dolarjev na gostovanju. Tudi kot uporabniški vmesnik spleta se premakne na strankino stran, centralizirani strežniki še naprej shranjujejo podatke, na katere se ti vmesniki zanašajo.

Resnično skupno pisanje

Recimo, da smo želeli omogočiti skupno rabo baze podatkov, v smislu pisanja, brez centralne oblasti. Na primer, več konkurenčnih podjetij želi voditi skupni imenik zaposlenih v korist svojih vzajemnih kupcev. Kako bi to dejansko lahko izgledalo? No, za to bi bilo treba nekaj stvari:

  • Robustno omrežje peer-to-peer, ki omogoča, da lahko vsaka stranka ustvari transakcije in jih hitro razširi na vsa povezana vozlišča.
  • Način za ugotavljanje konfliktov med transakcijami in njihovo samodejno reševanje.
  • Sinhronizacijska tehnologija, ki zagotavlja, da se vsi enakovredni uporabniki zbližajo na enaki kopiji baze podatkov.
  • Metoda za označevanje različnih podatkov, ki pripadajo različnim udeležencem, in uveljavljanje te oblike lastništva podatkov brez osrednjega organa.
  • Paradigma za izražanje omejitev, pri katerih je dovoljeno poslovanje, npr. Za preprečevanje, da bi eno podjetje napihnilo imenik z namišljenimi vnosi.

Uf. Tam je to težko seznam, ki ga današnje baze podatkov preprosto ne podpirajo. Trenutni tehnologija enakovrednega kopiranja je neroden in ima zapleten pristop k reševanju konfliktov. Podatkovne baze, ki podpirajo varnost na podlagi vrstic še vedno zahtevajo, da ga centralni organ izvrši. Standardne omejitve na ravni baze podatkov, kot so edinstveni ključi in omejitve preverjanja, ne morejo zaščititi baze podatkov pred zlonamernimi spremembami. Bottom line je to:

Za delovanje skupnih zapisovalnih baz podatkov potrebujemo cel kup novih stvari in zgodi se, da jih verige blokov zagotavljajo.

Ne bom se preveč spuščal v podrobnosti kako blockchains počnejo te stvari, ker sem pokril večino tega prej. Nekateri ključni elementi vključujejo redne peer-to-peer tehnike, razvrščanje v skupine transakcije v bloke, ena smer kriptografske zgoščevalne funkcije, večstrankarski konsenznega algoritma, razdeljeno večverzijski nadzor sočasnosti in dovoljenja za vsako vrstico na podlagi kriptografija javnega ključa. Dolg seznam starih idej, združenih na nov način. HTML / HTTP, če želite.

Poleg vseh teh baz podatkov v skupni rabi potrebujejo povsem novo pravilo omeji transformacije, ki jih lahko izvede transakcija. To je absolutno ključna novost in bistveno vpliva na deljenje baze podatkov med subjekti, ki ne zaupajo. Te vrste pravil lahko izrazimo kot omejitve transakcij v bitcoin stiku ali uveljavimo v slogu Ethereum shranjenih postopkov ("Pametne pogodbe"), od katerih ima vsaka prednosti in slabosti. Morda obstajajo še drugi boljši načini, ki čakajo na odkritje. Vsi pa si delijo lastnost povezovanja stanja baze podatkov pred transakcijo in po njej. Z drugimi besedami, odgovorijo na vprašanje: Je bila to veljavna transakcija? To se bistveno razlikuje od vprašanja, ali je baza podatkov veljavna v določenem trenutku.

Če se sprašujete, ali ima ta vrsta zbirke podatkov uporabne resnične aplikacije, je to pošteno vprašanje. Morda pa boste opazili močno zanimanje za zasebne verige blokov iz vsaj en sektor, ker lahko poenostavijo postopke ter zmanjšajo stroške in zamude. Finančne institucije so težki uporabniki današnjih platform baz podatkov in te platforme ne omogočajo scenarija skupnega pisanja. To iščejo banke.

Ta težava in njena rešitev nimata popolnoma nobene zveze z bitcoini in idejo denarja brez cenzure. Pravzaprav je edina povezava z bitcoinom tehnična podobnost med Bitcoin blockchain in kako nekateri od teh zasebnih blockchains izvajajo danes. Ena ključnih razlik je v tem, da zasebne verige blokov ne potrebujejo dokazilo o delu rudarstvo, saj bloke ustvarja zaprti niz identificiranih udeležencev. Sčasoma se bosta sveta morda še bolj razšla, ker se njuni zahtevi popolnoma razlikujeta. Ne glede na to, ali vam je všeč finančna ureditev ali ne, preprosto dejstvo je, da so zasebni blockchaini potencialno koristni v urejenem svetu, medtem ko vsaj za zdaj javni blockchains niso.

Če lahko končam z analogijo, ZN Izjava o načelih mednarodnega prava državam ne pove, da lahko imajo katero koli ozemlje, ki ga želijo, če je obdano z jasno označeno ograjo. Namesto tega navaja, da „nobena teritorialna pridobitev, ki je posledica grožnje ali uporabe sile, ne sme biti priznana kot zakonita“. Z drugimi besedami, to je pravilo glede legitimnosti spremembe, ne samo situacije. In izjava OZN, ki se nam zdaj zdi tako očitna, je bila popolna revolucija v mednarodnem pravu. Pomenil je svet, ki ne temelji več na enostranski moči in oblasti, ampak na svetu, kjer je mogoče razlike reševati z medsebojnim soglasjem.

Ko gre za skupne zbirke podatkov, zasebni blockchains počnejo popolnoma isto.

Časovni žig:

Več od Večnamenska veriga