Yksityiset lohkoketjut ovat enemmän kuin “vain” jaettuja tietokantoja

Miksi blockchain-detraktoreista puuttuu asia

Ja niin se jatkuu. Alkaen Suositut postaukset että halveksivat twiitit että ennusteita tulevaisuudesta, maailma ja sen äiti ovat rivissä heittämään tomaatteja yksityisiin lohkoketjuihin aiemmin jopa ymmärtää mitä he ovat.

Sanominen, että yksityinen lohkoketju on vain jaettu tietokanta, on kuin sanoa, että HTML ja HTTP ovat "vain" jaettua hypertekstiä. Se on väärin kahdella tavalla. Ensinnäkin semanttinen: yksityiset lohkoketjut ovat tekniikka, joka mahdollistaa jaetut tietokannat, kuten kyniä mahdollistavat kirjoittamisen ja HTML / HTTP mahdollistavat hajautetun hypertekstin. Bitcoin-lohkoketjua ja sen ensisijaista sovellusta ei voida erottaa mielekkäästi, koska toista ei voisi olla olemassa ilman toista. Mutta tämä vastaavuus ei koske yksityisiä lohkoketjuja lainkaan.

Toinen virhe on sanan "vain" käyttö. Vain? Oliko HTML ja HTTP vain tapa tehdä hajautettu hyperteksti? Hyperteksti oli keksitty vuosikymmeniä aiemmin, niin ovatko nämä tekniikat pieni alaviite tietokonehistoriassa? Voi, anna minun laskea tapoja, joilla he ansaitsivat paikkansa: (a) yksinkertainen merkintäkieli jonka kuka tahansa maallikko voisi oppia, (b) a hierarkkinen osoitemalli joka toimii sekä TCP / IP: n että käsitteellisen paikannusmallimme kanssa, (c) a yksinkertainen protokolla sisällön tilattomaan hakemiseen ja (d) molemmat asiakas ja palvelin ohjelmisto, joka herätti koko asian eloon. Voisimme yhtä hyvin sanoa, että Newton oli vain tiedemies ja Dostojevsky vain kirjailija.

Joten tehdään tämä täysin selväksi: Kyllä, yksityiset lohkoketjut ovat vain tapa jakaa tietokanta. Mutta ne mahdollistavat uuden tyyppisen jaetun tietokannan, jolla on valtavia vaikutuksia finanssimaailmaan ja sen ulkopuolelle. Ja jos olet valmis lukemaan, aion kertoa sinulle tarkalleen miksi.

Mikä on tietokanta?

Tietokanta on taulukoiksi järjestetty jäsenneltyjen tietojen arkisto. Voit ajatella sitä yhden tai useamman Excel-laskentataulukon kokoelmana, joka voidaan valinnaisesti linkittää yhteen. Kukin taulukko sisältää tietoja tietyn tyyppisten entiteettien joukosta, jossa on yksi entiteetti riviä kohden. Jokaisessa taulukossa on myös yksi tai useampia sarakkeita, jotka kuvaavat kyseisten entiteettien eri näkökohtia. Esimerkiksi WidgetCon sisäisen henkilöstöhakemiston taulukossa voi olla sarakkeita työntekijän tunnukselle, etunimelle, sukunimelle, osastolle, sisäiselle puhelinnumerolle ja huoneen numerolle.

Yksi tärkeistä tavoista, joilla tietokannat menevät laskentataulukoiden ulkopuolelle, on, että ne sisältävät sääntöjä, jotka koskevat tallennettuja tietoja. Nämä säännöt auttavat varmistamaan, että tiedot pysyvät järkevinä ja johdonmukaisina koko organisaation hyödyksi. Nykypäivänä suosituimmat tietokannat, säännöillä on useita yleisiä muotoja:

  • - tietokantakaavio määrittää, minkä tyyppiset tiedot kussakin sarakkeessa sallitaan. Esimerkiksi puhelinnumerossa on oltava 4 numeroa, eikä sitä voi jättää tyhjäksi (“null”).
  • Ainutlaatuiset avaimet joiden mukaan tietyllä sarakkeella (esim. työntekijän tunnuksella) on oltava erilainen arvo jokaisella rivillä.
  • Tarkista rajoitukset jotka pakottavat kunkin rivin sarakearvojen väliset suhteet. Esimerkiksi, jos osasto on ”hankinta”, huoneen numeron on aloitettava 3: lla tai 4: llä.
  • Ulkomaiset avaimet jotka valvovat taulukoiden välisiä suhteita. Esimerkiksi, jos tietokanta sisältää toisen taulukon, jota käytetään palkanlaskennassa, saattaa olla sääntö, että jokaisen palkkataulukon työntekijätunnuksen on oltava myös henkilöstöhakemistossa.

Tapahtuma on kokoelma muutoksia tietokantaan, joka hyväksytään tai hylätään kokonaisuutena. Aina kun tapahtuma muuttaa tietokantaa, ohjelmisto varmistaa, että tietokannan sääntöjä noudatetaan. Jos jokin tapahtuman osa rikkoo jotakin näistä säännöistä, koko tapahtuma hylätään vastaavalla virheellä.

On muitakin esoteerisempia sääntöjä, jotka voisin luetella, mutta niillä kaikilla on yksi yhteinen asia. He vastaavat kysymykseen: Onko tietokanta kelvollisessa tilassa? Toisin sanoen ne toimivat rajoituksena tietokannan sisällölle kun niitä tarkastellaan yhdellä hetkellä. Ja tämä toimii hienosti tietokannalle, joka sijaitsee yhdessä organisaatiossa, koska rajoitusten päätehtävä on estää ohjelmoijavirheet. Jos joku WidgetCon sisäisistä sovelluksista yritti lisätä 3-numeroisen puhelinnumeron hakemistoon, se ei johdu pahasta, vaan pikemminkin virheen kehittäjän ajattelussa tai koodissa. Tietokannan kyky tarttua näihin virheisiin on epäilemättä kätevä ja auttaa estämään huonojen tietojen leviämistä organisaatiossa, mutta se ei korjaa luottamuksen ongelmia. (Rajoitukset voivat myös auttaa yksinkertaistamaan sovelluslogiikkaa esimerkiksi ulkomainen avain CSS or päällekkäisiä lausekkeita, mutta nämä ovat silti vain tapoja auttaa kehittäjiä.)

Tietokannan jakaminen

Mietitään nyt, kuinka WidgetCon sisäinen henkilöstöhakemisto voidaan jakaa ulkomaailman kanssa. Monissa tapauksissa tarjoamisessa ei ole ongelmaa jaettu luku pääsy. Hakemisto voidaan viedä tekstitiedostoon ja lähettää sähköpostitse asiakkaille ja toimittajille. Se voidaan lähettää Internetiin, aivan kuten tämä. Sille voidaan jopa antaa sovellusliittymä, joka sallii haun ulkoisella koodilla. Jaettu luku on tekninen hämmennys, kysymys siitä, kuka näkee mitä nähdä.

Mutta asiat alkavat tarttua, kun ajattelemme jaettu kirjoitus. Entä jos WidgetCo haluaa ulkoisen entiteetin muokata sen tietokanta? Ehkä puhelimet korvataan PhoneColla, joka päivittää sitten puhelinnumerot henkilöstöhakemistossa. Tällöin WidgetCo luo uuden "tilin" PhoneColle käytettäväksi. Toisin kuin WidgetCon sisäiseen käyttöön tarkoitetut tilit, PhoneCon tilillä saa muuttaa vain puhelinnumerosaraketta eikä koskaan lisätä tai poistaa rivejä. Kaikki PhoneCon tapahtumat käsitellään WidgetCon tietokantajärjestelmässä, joka soveltaa nyt kahdenlaisia ​​rajoituksia:

  • Kaikkia tietokannan käyttäjiä koskevat yleiset säännöt. Esimerkiksi puhelinyhtiö ei voi muuttaa numeroa siten, että se sisältää vain 3 numeroa, eikä kukaan muu.
  • Tilikohtaiset säännöt, jotka rajoittavat sitä, mitä PhoneCo saa tehdä, muuttavat tässä tapauksessa vain olemassa olevien rivien puhelinnumerosaraketta.

Toistaiseksi niin hyvä. Meillä on jaettu kirjoitustietokanta. Se toimii, koska WidgetCo on vastuussa tietokannasta ja puhelinyhtiö saa pääsyn WidgetCon hyvän armon ansiosta. Jos PhoneCo alkoi asettaa puhelinnumeroita satunnaisesti, WidgetCo voi sulkea pääsyn, irtisanoa sopimuksen ja palauttaa vanhoja tietoja varmuuskopiosta. Ja jos WidgetCo alkoi toimia väärin, esimerkiksi kääntämällä PhoneCon antamat uudet puhelinnumerot, niin se olisi täysin turhaa, koska se vahingoittaisi vain itse WidgetCoa. Puhelinyrityksen mielestä WidgetCo on erikoinen asiakas, mutta ei erityisen huolellinen, kunhan he maksavat laskunsa ajoissa.

Mutta nyt katsotaan, mitä tapahtuu, jos kaksi tai useampi osapuoli haluaa jakaa tietokannan, jota (a) kukaan osapuolista ei hallitse, (b) kuka tahansa osapuoli voi kirjoittaa siihen ja (c) kaikki voivat luottaa siihen. Tilanteen pahentamiseksi sanotaan, että näillä puolueilla on erilaiset kannustimet, eivät luota toisiinsa ja ne voivat olla jopa kovia kilpailijoita. Tässä tapauksessa ratkaisu on aina ollut sama: ottaa käyttöön luotettava välittäjä. Tämä välittäjä hallinnoi tietokantaa keskitetysti, toimittaa tilejä kaikille osapuolille ja varmistaa, että kaikki toiminnot sallitaan tunnettujen sääntöjen mukaisesti. Monissa tapauksissa, erityisesti taloudellisissa asioissa, jokainen osapuoli ylläpitää edelleen omaa kopiota tiedoista, joten jokainen viettää paljon aikaa sen tarkistamiseen heidän tietokantansa ovat samaa mieltä.

Kaikki tulee melko sotkuiseksi ja hankalaksi. Mutta jos puhumme a jaettu kirjoitustietokanta rajoitetun luottamuksen ympäristössä, tällä hetkellä ei ole vaihtoehtoa. Se on yksi tärkeimmistä syistä, miksi rahoitustapahtumat käydään läpi keskitetyt selvitystilat, miksi käytät Google-kalenteri jopa pienessä työryhmässä, ja miksi väkijoukon tuottama ihme on niin wikipedia viettää miljoonia dollareita hosting-palvelusta. Jopa verkon käyttöliittymänä siirtyy asiakkaan puolelle, keskitetyt palvelimet tallentavat edelleen tietoja, joihin nämä rajapinnat perustuvat.

Todellinen jaettu kirjoitus

Joten sanotaan, että halusimme sallia tietokannan jakamisen, kirjoitustavassa, ilman keskusviranomaista. Esimerkiksi monet kilpailevat yritykset haluavat ylläpitää yhteistä henkilöstöhakemistoa keskinäisten asiakkaidensa hyödyksi. Miltä se voi todella näyttää? No, se tarvitsee useita asioita:

  • Vankka vertaisverkko, jonka avulla osapuolet voivat luoda tapahtumia ja levittää ne nopeasti kaikkiin liitettyihin solmuihin.
  • Tapa tunnistaa tapahtumien väliset ristiriidat ja ratkaista ne automaattisesti.
  • Synkronointitekniikka, joka varmistaa, että kaikki vertaisryhmät yhdistyvät identtiseen tietokannan kopioon.
  • Menetelmä erilaisten tietojen merkitsemiseksi eri osallistujille kuuluviksi ja tämän omistusmuodon pakottamiseksi ilman keskusviranomaista.
  • Paradigma toimintojen sallittujen rajoitusten ilmaisemiseksi, esimerkiksi estämään yhtä yritystä täyttämästä hakemistoa kuvitteellisilla merkinnöillä.

Vau. Se on kova luettelo siellä, ja nykypäivän valmiit tietokannat eivät yksinkertaisesti tue sitä. Nykyinen peer-to-peer-replikointitekniikka on kömpelö ja lähestyy monimutkaisesti konfliktien ratkaisemista. Ne tietokannat, jotka tukevat rivipohjainen turvallisuus edellyttävät edelleen keskusviranomaista sen täytäntöönpanemiseksi. Ja tavalliset tietokantatason rajoitukset, kuten yksilölliset avaimet ja tarkistusrajoitukset, eivät voi suojata tietokantaa haitallisilta muutoksilta. Tärkeintä on tämä:

Tarvitsemme kokonaisen joukon uusia juttuja jaettujen kirjoitustietokantojen toimimiseksi, ja sattuu niin, että lohkoketjut tarjoavat niitä.

En käsittele liikaa yksityiskohtia miten estoketjut tekevät näitä asioita, koska olen kattanut suuren osan siitä aikaisemmin. Joitakin keskeisiä elementtejä ovat säännölliset peer-to-peer tekniikat, ryhmittely liiketoimet lohkoiksi, yksisuuntainen kryptografiset hash-toiminnot, monipuolue konsensusalgoritmi, hajautettu monivaiheinen samanaikaisuuden hallinta ja rivikohtaiset käyttöoikeudet julkisen avaimen salaus. Pitkä luettelo vanhoista ideoista yhdistettynä uudella tavalla. HTML / HTTP, jos haluat.

Kaikkien näiden lisäksi jaetut kirjoitustietokannat edellyttävät aivan uuden tyyppistä sääntöä rajoittaa muutoksia, joita tapahtuma voi suorittaa. Tämä on ehdottoman tärkeä innovaatio, ja sillä on kaikki merkitys, jos jaamme tietokannan ei-luotettavien yhteisöjen kesken. Tämäntyyppiset säännöt voidaan ilmaista bitcoin-tyylisillä transaktiorajoituksina tai Ethereum-tyyliin pakotettuina tallennetut (”Älykkäät sopimukset”), joista kullakin on hyödyt ja haitat. Ehkä on muitakin parempia tapoja, jotka odottavat löytämistä. Mutta ne kaikki jakavat omaisuuden sitoa yhteen tietokannan tila ennen tapahtumaa ja sen jälkeen. Toisin sanoen he vastaavat kysymykseen: Oliko se pätevä tapahtuma? Tämä eroaa pohjimmiltaan siitä, kysytäänkö tietokanta kelvollisena yhdellä hetkellä.

Jos mietit, onko tällaisella tietokannalla hyödyllisiä reaalimaailman sovelluksia, se on reilu kysymys. Mutta saatat huomata kovan kiinnostuksen yksityisiin lohkoketjuihin ainakin yksi sektori, koska ne voivat yksinkertaistaa prosesseja ja vähentää kustannuksia ja viivästyksiä. Rahoituslaitokset käyttävät nykypäivän tietokanta-alustoja paljon, eivätkä nämä käyttöympäristöt ota käyttöön jaettua kirjoitusskenaariota. Tätä pankit etsivät.

Tällä ongelmalla ja sen ratkaisulla ei ole mitään tekemistä bitcoinin ja sensuurittoman rahan kanssa. Itse asiassa ainoa yhteys bitcoiniin on tekninen samankaltaisuus bitcoin-lohkoketjun ja kuinka jotkut näistä yksityisistä lohkoketjuista ovat tänään. Yksi keskeinen ero on, että yksityisiä lohkoketjuja ei tarvitse todiste työstä kaivostoiminta, koska lohkot luovat suljettu joukko tunnistettuja osallistujia. Ajan myötä nämä kaksi maailmaa voivat hyvinkin erota toisistaan, koska niiden vaatimukset ovat täysin erilaiset. Pidätkö varainhoitoasetuksista vai ei, yksinkertainen tosiasia on, että yksityiset lohkoketjut ovat mahdollisesti hyödyllisiä säännellyssä maailmassa, kun taas ainakin toistaiseksi, julkiset estoketjut eivät ole.

Jos saan lopettaa analogialla, YK Julistus kansainvälisen oikeuden periaatteista ei kerro maille, että heillä on hallussaan haluamansa alue, kunhan sitä ympäröi selvästi merkitty aita. Sen sijaan siinä todetaan, että "mitään alueellista hankintaa, joka johtuu uhasta tai voimankäytöstä, ei pidetä laillisena". Toisin sanoen, se on sääntö, joka koskee muutokset, ei vain tilanteita. Ja YK: n julistus, joka tuntuu meille niin ilmeiseltä, oli täydellinen vallankumous kansainvälisessä oikeudessa. Se tarkoitti maailmaa, joka ei enää perustu yksipuoliseen voimaan ja auktoriteettiin, vaan maailmaa, jossa erimielisyydet voidaan ratkaista yhteisellä yksimielisyydellä.

Kun on kyse jaetuista tietokannoista, yksityiset lohkoketjut tekevät täsmälleen saman.

Aikaleima:

Lisää aiheesta moniketjuisille