Turhien lohkoketjuhankkeiden välttäminen

Kuinka selvittää, oletko löytänyt todellisen blockchain-käyttötapauksen

Lohkoketjut ovat yliarvioitu. Siellä minä sanoin sen. alkaen SIBOS että Money20 / 20 kattamaan tarinoita Economist ja Euromoney, kaikki näyttävät olevan kiipeämässä salkunvaunussa. Ja epäilemättä kuten muutkin avaruudessa, näemme nopeasti kasvavan määrän yrityksiä, jotka rakentavat todisteita konseptista meidän alustamme ja / tai pyytämällä apuamme.

Nuorena startupina luulet olisimme kuun yläpuolella. Varmasti on nyt aika kerätä tonnia rahaa ja rakentaa korkealaatuinen seuraavan sukupolven blockchain-alusta, jonka olemme jo suunnitelleet. Mitä maan päällä odotamme?

Minä kerron mitä. Odotamme saavamme selkeämmän käsityksen mistä blockchains aidosti lisäarvoa yrityksen IT-palveluissa. Suuri osa näistä tulevista hankkeista on mitään tekemistä lohkoketjujen kanssa. Näin se soi. Suuri yritys kuulee, että ryhmäketjut ovat seuraava iso asia. Iso yritys löytää sisäisesti ihmisiä, jotka ovat kiinnostuneita aiheesta. Iso yritys antaa heille budjetin ja käskee heidän mennä tekemään jotain loistavaa. Pian he tulevat koputtamaan ovellemme, heiluttaen dollarin seteleitä, kysyen us auttamaan niitä miettiä käyttötapausta. Sano mitä nyt?

Mikä on ongelma niille, joilla on projekti mielessä? Monissa tapauksissa hanke voidaan toteuttaa erittäin hyvin käyttämällä säännöllistä relaatiotietokantaa. Tiedätkö, iso rauta behemoths kuten oraakkeli ja SQL Servertai avoimemmille, MySQL ja postgres. Joten aloitan asettamalla asiat suoraan:

Jos nykyiset relaatiotietokannat täyttävät vaatimuksesi, olisit hullu käyttää lohkoketjua.

Miksi? Koska Oraclen ja MySQL: n kaltaisilla tuotteilla on vuosikymmenien kehitystyö takana. Niitä on otettu käyttöön miljoonilla palvelimilla, jotka suorittavat biljoonia kyselyjä. Ne sisältävät joitain planeetan perusteellisimmin testattuja, virheenkorjattuja ja optimoituja koodeja, jotka käsittelevät tuhansia tapahtumia sekunnissa rikkomatta hikeä.

Entä blockchains? Hyvin, tuote oli yksi ensimmäisistä, joka markkinoi, ja se on ollut saatavilla tarkalleen viisi kuukautta muutamalla tuhannella latauksella. Itse asiassa se on erittäin vakaa, koska rakensimme sen pois Bitcoin Core, ohjelmisto, joka käynnistää bitcoinien. Mutta jopa niin, koko tämä tuoteryhmä on edelleen vaipat.

Joten sanon, että lohkoketjut ovat turhia? Ehdottomasti ei. Mutta ennen kuin aloitat tuossa kiiltävässä blockchain-projektissa, sinulla on oltava erittäin selkeä idea miksi käytät lohkoketjua. On joukko ehtoja, jotka on täytettävä. Ja jos he eivät ole, sinun pitäisi palata piirtotauluun. Ehkä voit määritellä projektin paremmin. Tai ehkä voit säästää kaikille kuorman aikaa ja rahaa, koska et tarvitse lohkoketjua ollenkaan.

1. Tietokanta

Tässä on ensimmäinen sääntö. Lohkoketjut ovat tekniikka jaetut tietokannat. Joten sinun on aloitettava tietämällä miksi käytät tietokantaa, sillä tarkoitan jäsenneltyä tietovarastoa. Tämä voi olla perinteinen relaatiotietokanta, joka sisältää yhden tai useamman taulukkolaskentaisen taulukon. Tai se voi olla trendikkäämpi NoSQL lajike, joka toimii enemmän kuin tiedostojärjestelmä tai sanakirja. (Teoreettisella tasolla NoSQL-tietokannat ovat joka tapauksessa vain osa relaatiotietokantoja.)

Rahoitusvarojen pääkirja voidaan luonnollisesti ilmaista tietokantataulukkona, jossa kukin rivi edustaa yhtä tietyn yksikön omistamaa omaisuuslajia. Jokaisessa rivissä on kolme saraketta, jotka sisältävät: (a) omistajan tunnuksen, kuten tilinumero, (b) omaisuuslajin tunnisteen, kuten ”USD” tai “AAPL”, ja c) kyseisen omaisuuden määrän, jota kyseinen omaisuus omistaa omistaja.

Tietokantoja muokataan "tapahtumilla", jotka edustavat joukko muutoksia tietokantaan, jotka on hyväksyttävä tai hylättävä kokonaisuutena. Esimerkiksi omaisuusluettelossa maksut yhdeltä käyttäjältä toiselle edustavat tapahtumaa, joka vähentää sopivan määrän yhdestä rivistä ja lisää sen toiseen.

2. Useita kirjoittajia

Tämä on helppoa. Lohkoketjut ovat tekniikka tietokannat useiden kirjoittajien kanssa. Toisin sanoen on oltava useampi kuin yksi kokonaisuus, joka tuottaa tietokantaa modifioivia tapahtumia. Tiedätkö kuka nämä kirjoittajat ovat?

Useimmissa tapauksissa kirjoittajat ajavat myös "solmuja", joissa on kopio tietokannasta, ja välittävät tapahtumia muille solmuille peer-to-peer muoti. Tapahtumia voivat kuitenkin luoda myös käyttäjät, jotka eivät itse käytä solmua. Tarkastellaan esimerkiksi maksujärjestelmää, jota ylläpitää pieni pankkiryhmä yhdessä, mutta jolla on miljoonia loppukäyttäjiä mobiililaitteissa, jotka kommunikoivat vain oman pankkijärjestelmänsä kanssa.

3. Luottamuksen puute

Ja nyt kolmannen säännön suhteen. Jos tietokantaan kirjoittaa useita entiteettejä, myös jonkinasteista on oltava epäluottamus näiden kokonaisuuksien välillä. Toisin sanoen, blockchains ovat tekniikka tietokannat, joissa on useita luottamattomia kirjoittajia.

Saatat ajatella, että epäluottamus syntyy vain erillisten organisaatioiden, kuten markkinoilla toimivien pankkien tai toimitusketjuun osallistuvien yritysten, välillä. Mutta se voi myös olla yhden suuren organisaation sisällä, esimerkiksi osastojen välillä tai eri maiden toiminnoissa.

Mitä tarkoitan erityisesti epäluottamuksella? Tarkoitan, että yksi käyttäjä ei halua antaa toisen muokata tietokantamerkintöjä, jotka se "omistaa". Vastaavasti tietokannan sisällön lukemisen osalta yksi käyttäjä ei hyväksy evankeliumiksi toisen käyttäjän ilmoittamaa "totuutta", koska jokaisella on erilaiset taloudelliset tai poliittiset kannustimet.

4. Hajottaminen

Joten tähän mennessä määritelty ongelma on mahdollistaa tietokannan luominen useiden luottamattomien kirjoittajien kanssa. Ja tähän ongelmaan on jo tunnettu ratkaisu: luotettava välittäjä. Toisin sanoen joku, johon kaikki kirjoittajat luottavat, vaikka he eivät luota täysin toisiinsa. Itse asiassa maailma on täynnä tämän tyyppisiä tietokantoja, kuten pankkitiliä. Pankkisi ohjaa tietokantaa ja varmistaa, että jokainen transaktio on pätevä ja valtuutettu asiakkaalla, jonka varoja se liikuttaa. Riippumatta siitä, kuinka kohteliaasti kysyt, pankkisi ei koskaan anna sinun muokata heidän tietokantaansa suoraan.

Blokkiketjut poistavat luotettavien välittäjien tarpeen ottamalla käyttöön tietokannat, joissa on useita luottamattomia kirjoittajia, voidaan muokata suoraan. Keskitetyn portinvartijan ei tarvitse vahvistaa tapahtumia ja todentaa niiden lähteet. Sen sijaan kaupan määritelmää laajennetaan kattamaan todistus valtuutuksesta ja pätevyydestä. Siksi liiketoimet voivat olla jokainen solmu tarkistaa ja käsittelee itsenäisesti joka pitää kopion tietokannasta.

Mutta kysymys, joka sinun on esitettävä, on: Haluatko vai tarvitsetko tätä välittämistä? Ottaen huomioon käyttötapasi, onko mitään vikaa siinä, että keskuspuolueella, joka ylläpitää arvovaltaista tietokantaa ja toimii kaupan portinvartijana? Hyviä syitä suosia blockchain-pohjaista tietokantaa luotettavan välittäjän kanssa voivat olla alhaisemmat kustannukset, nopeammat transaktiot, automaattinen sovinto, uusi asetus tai yksinkertainen kyvyttömyys löytää sopivaa välittäjää.

5. Transaktion vuorovaikutus

Joten lohkoketjut ovat järkeviä tietokannoille, joita jakaa useiden kirjoittajien keskuudessa, jotka eivät täysin luota toisiinsa ja jotka muokavat tietokantaa suoraan. Mutta se ei vieläkään riitä. Blockchains todella loistaa missä siellä on tapahtumien välinen vuorovaikutus näiden kirjoittajien luoma.

Mitä tarkoitan vuorovaikutuksella? Täydellisessä mielessä tämä tarkoittaa, että eri kirjoittajien luomat liiketoimet riippuvat usein toisistaan. Oletetaan esimerkiksi, että Alice lähettää varoja Bobille ja sitten Bob lähettää rahaa Charlielle. Tässä tapauksessa Bobin kauppa on riippuvainen Alice: n kaupasta, eikä Bobin tapausta ole mahdollista vahvistaa tarkistamatta Alice'n ensimmäistä. Tämän riippuvuuden vuoksi liiketoimet kuuluvat luonnollisesti yhteen yksi jaettu tietokanta.

Tätä pidemmälle, yksi loistava ominaisuus blockchains on, että tapahtumia voidaan luoda useiden kirjoittajien yhteistyönä, kumpikaan osapuoli altistamatta itsensä riskeille. Juuri se sallii toimitus vastaan ​​maksu selvitys suoritetaan turvallisesti lohkoketjun kautta ilman, että vaaditaan luotettavaa välittäjää.

Hyvä tapaus voi olla myös tilanteissa, joissa eri kirjoittajien tapahtumat korreloivat keskenään, vaikka ne pysyisivätkin riippumattomina. Yksi esimerkki voi olla jaettu identiteettitietokanta, jossa useat entiteetit validoivat kuluttajien identiteettien eri näkökohdat. Vaikka jokainen tällainen sertifiointi on itsenäinen, lohkoketju tarjoaa hyödyllisen tavan koota kaikki yhtenäisellä tavalla.

6. Aseta säännöt

Tämä ei ole oikeastaan ​​ehto, vaan pikemminkin väistämätön seuraus edellisistä kohdista. Jos meillä on tietokanta, jota useiden kirjoittajien on muokattu suoraan, ja nämä kirjoittajat eivät luota täysin toisiinsa, tietokannan tulee sisältää upotetut säännöt suoritettujen liiketoimien rajoittaminen.

Nämä säännöt ovat perustavanlaatuisesti erilaisia ​​kuin rajoitteet jotka esiintyvät perinteisissä tietokannoissa, koska ne liittyvät muutosten legitiimiys pikemminkin kuin tietokannan tila tietyllä hetkellä. Verkon jokainen solmu tarkistaa jokaisen tapahtuman näiden sääntöjen perusteella, ja epäonnistuneet hylätään eikä niitä välitetä uudelleen.

Omaisuusluettelot sisältävät yksinkertaisen esimerkin tämän tyyppisistä säännöistä, jotta voidaan estää liiketoimia, jotka luovat omaisuutta tyhjästä. Säännön mukaan kunkin omaisuuserän kokonaismäärän on oltava sama ennen jokaista tapahtumaa ja sen jälkeen.

7. Valitse vahvistimet

Tähän mennessä olemme kuvanneet hajautettua tietokantaa, jossa transaktiot voivat olla peräisin monista paikoista, levittää solmujen välillä vertaisverkkoisesti ja jokainen solmu varmentaa ne itsenäisesti. Joten mihin "blockchain" tulee? No, blockchain tehtävänä on olla arvovaltainen lopullinen tapahtumaloki, jonka sisällöstä kaikki solmut todistetaan todistettavasti.

Miksi tarvitsemme tätä lokia? Ensinnäkin, äskettäin lisätyt solmut mahdollistavat tietokannan sisällön laskemisen tyhjästä ilman, että tarvitsee luottaa toiseen solmuun. Toiseksi siinä käsitellään mahdollisuutta, että jotkut solmut saattavat ohittaa joitakin tapahtumia järjestelmän seisokkien tai tiedonsiirron takia. Ilman tapahtumalokia tämä johtaisi yhden solmun tietokannan poikkeamiseen muiden tietokannasta, mikä heikentäisi jaetun tietokannan tavoitetta.

Kolmanneksi on mahdollista, että kaksi tapahtumaa on ristiriidassa, joten vain yksi voidaan hyväksyä. Klassinen esimerkki on kaksinkertainen viettää jossa sama sisältö lähetetään kahdelle eri vastaanottajalle. Vertaistietokannassa, jossa ei ole keskusviranomaista, solmulla voi olla erilaisia ​​mielipiteitä siitä, mikä tapahtuma hyväksytään, koska ei objektiivista oikeaa vastausta. Vaadittamalla tapahtumien ”vahvistusta” ryhmäketjussa varmistamme, että kaikki solmut lähentyvät samaa päätöstä.

Viimeinkin sisään Ethereum-tyyli blockchains, tarkka tilaus transaktioilla on ratkaiseva rooli, koska jokainen transaktio voi vaikuttaa siihen, mitä tapahtuu jokaisessa seuraavassa. Tässä tapauksessa lohkoketju määrittelee arvovaltaisen aikataulun, jota ilman tapahtumia ei voida käsitellä ollenkaan.

Lohkoketju on kirjaimellisesti lohkoketju, jossa kukin lohko sisältää joukon tapahtumia, jotka vahvistetaan ryhmänä. Mutta kuka vastaa kunkin lohkon sisäisten tapahtumien valinnasta? Yrityssovelluksiin sopivassa ”yksityisessä lohkoketjussa” vastaus on suljettu ryhmä validoijia (“kaivosmiesiä”), jotka allekirjoittavat digitaalisesti luomansa lohkot. Tämä sallittujen luettelointi on yhdistetty jonkinlaiseen hajautettuun konsensusjärjestelyyn estämään validoijien vähemmistöä tarttumasta ketjun hallintaan. Esimerkiksi, MultiChain käyttää järjestelmää nimeltä kaivostoiminnan monimuotoisuus, jossa sallitut kaivostyöläiset työskentelevät a pyöreä robin muoti, jossain määrin lievennys, jotta mahdollistetaan toimimattomat solmut.

Riippumatta siitä, mitä konsensusjärjestelmää käytetään, validoivilla solmuilla on paljon vähemmän virtaa kuin perinteisen keskitetyn tietokannan omistajalla. Tarkastajat eivät voi väärentää tapahtumia tai muokata tietokantaa sen sääntöjen vastaisesti. Omaisuusluettelossa se tarkoittaa, että he eivät voi käyttää muiden ihmisten rahaa eikä muuttaa edustettavien varojen kokonaismäärää. Siitä huolimatta on edelleen kaksi tapaa, joilla validoijat voivat vaikuttaa perusteettomasti tietokannan sisältöön:

  • Kaupan sensuuri. Jos riittävä osa validoijista rikoi haitallisesti, ne voivat estää tietyn tapahtuman vahvistamisen lohkoketjussa, jättäen sen pysyvästi loukkaantumiseen.
  • Puolueellinen konfliktinratkaisu. Jos kaksi tapahtumaa ovat ristiriidassa, seuraavan lohkon luominen validoija päättää, mikä tapahtuma vahvistetaan lohkoketjussa, aiheuttaen toisen hylkäämisen. Reilu valinta olisi tapahtuma, joka nähtiin ensin, mutta validoijat voivat valita muiden tekijöiden perusteella paljastamatta tätä.

Näiden ongelmien takia sinulla on oltava selkeä idea, kun otat käyttöön blockchain-pohjaisen tietokannan keitä validoijat ovat ja miksi luotat heihin, yhdessä ellei yksin. Käyttötavasta riippuen, validoijat voidaan valita: (a) yhdestä tai useammasta solmusta, joita hallitsee yksi organisaatio, (b) ketjua ylläpitävien organisaatioiden ydinryhmästä, tai (c) jokaisesta verkon solmusta.

8. Varmista omaisuutesi

Jos olet saanut niin pitkälle, olet ehkä huomannut, että minulla on tapana viitata lohkoketjuihin kuin jaetuihin tietokantoihin eikä yleisempiin ”jaettuihin luetteloihin”. Miksi? Koska tekniikka, blockchains voidaan soveltaa ongelmiin, jotka ovat kaukana omaisuuden omistamisen seurannasta. Mikä tahansa tietokanta, jossa on useita luottamattomia kirjoittajia, voidaan toteuttaa lohkoketjussa ilman, että vaaditaan keskitettyä välittäjää. Esimerkkejä ovat jaetut kalenterit, wiki-tyylinen yhteistyö ja keskustelufoorumit.

Tämän jälkeen näyttää siltä, ​​että lohkoketjut ovat kiinnostavia lähinnä niille, jotka seuraavat rahoitusvarojen liikkumista ja vaihtoa. Voin ajatella kahta syytä tähän: (a) finanssisektori reagoi (jälkikäteen, vähäpätöiseen) salauksen valuuttojen kuten bitcoin-uhkaan, ja (b) omaisuusluettelo on yksinkertaisin ja luonnollisin esimerkki jaetusta tietokannasta, jonka useiden epäluotettavien yksiköiden luomat toisistaan ​​riippuvat tapahtumat.

Jos haluat käyttää salkkuketjua omaisuuden pääkirjana, sinun on vastattava vielä yhteen tärkeään kysymykseen: Mikä on varojen luonne, jota siirretään? Tällä tarkoitan tarkoittamatta vain käteistä tai joukkovelkakirjalainoja tai konossementeita, tosin se on tietysti myös tärkeää. Kysymys on pikemminkin: Kuka seisoo salkkuketjussa esitetyn omaisuuden takana? Jos tietokannassa sanotaan, että minulla on 10 yksikköä jotain, kuka antaa minun vaatia näitä 10 yksikköä todellisessa maailmassa? Kuka nostaa kanteen, jos en pysty muuntamaan blockchain-kirjoitusta perinteiseksi fyysiseksi omaisuudeksi? (Katso tämä omaisuussopimus esimerkiksi.)

Vastaus tietenkin vaihtelee käyttötapauksen mukaan. Rahataloudellisten varojen osalta voidaan kuvitella, että säilytyspankit hyväksyvät käteistä perinteisessä muodossa ja hyvittävät sitten tallettajien tilit blockchain-käyttöisellä jaotelulla. Kaupan rahoituksen yhteydessä tuojapankki ja varustamo tukevat rembursseja ja konossementeita. Ja edelleen tulevaisuudessa voimme kuvitella ajan, jolloin ensisijainen liikkeeseenlasku yritysten joukkovelkakirjalainoja suorittaa suoraan salkunketjussa yritys, joka pyrkii keräämään varoja.

Yhteenveto

Kuten mainitsin johdannossa, jos projektisi ei täytä jokainen näistä ehdoista, sinun ei tule käyttää lohkoketjua. Jos mitään viidestä ensimmäisestä ei ole, sinun tulisi harkita yhtä seuraavista: (a) säännöllinen tiedostovarastointi, b) keskitetty tietokanta, c) isäntä-orja tietokannan replikointitai (d) useita tietokantoja, joihin käyttäjät voivat merkitä.

Ja jos täytät viisi ensimmäistä, työtä on vielä tehtävä. Sinun on kyettävä ilmaisemaan sovelluksesi säännöt tapahtumien perusteella, jotka tietokanta sallii. Sinun on oltava varma siitä, mihin voit luottaa validoijina ja kuinka määrität hajautetun konsensuksen. Ja lopuksi, jos aiot luoda jaettua pääkirjaa, sinun on tiedettävä, kuka tukee varoja, joita tämä pääkirja edustaa.

Saitko kaikki vastaukset? Onnittelut, sinulla on todellinen blockchain-käyttötapaus. Ja haluaisimme kuulla sinusta.

Ole hyvä ja lähetä kommentit LinkedIn. Katso myös tämä seuranta: Neljä aitoa ketjun käyttötapaa.

Aikaleima:

Lisää aiheesta moniketjuisille