Izogibanje nesmiselnemu projektu blockchain

Kako ugotoviti, ali ste našli resničen primer uporabe verige blokov

Blockchains so overhyped. Tam sem rekel. Od Sibos do Denar20 / 20 za pokrivanje zgodb o Ekonomist in Euromoney, zdi se, da se vsi vzpenjajo na blockchain vagon. In nedvomno kot pri drugih v vesolju opažamo hitro naraščajoče število podjetij, ki gradijo dokaze o konceptu naša platforma in / ali prosite za našo pomoč.

Kot mladi zagon bi mislili, da bomo čez luno. Zagotovo je zdaj čas, da zberemo tono denarja in zgradimo tisto visoko zmogljivo platformo naslednje generacije blockchain, ki smo jo že zasnovali. Kaj za vraga čakamo?

Povedal vam bom kaj. Čakamo, da bomo jasneje razumeli, kje so verige blokov resnično doda vrednost v podjetju IT. Veste, velik del teh dohodnih projektov ima z blockchains sploh nimajo nobene zveze. Evo, kako se to pokaže. Veliko podjetje sliši, da so verige blokov naslednja velika stvar. Veliko podjetje interno najde nekaj ljudi, ki jih zadeva zanima. Veliko podjetje jim da proračun in jim naroči, naj naredijo kaj blokovnega. Kmalu pridejo trkati na naša vrata, mahajo z dolarskimi bankovci in sprašujejo us pomoč jih omislite primer uporabe. Povej kaj zdaj?

V čem je problem tistih, ki imajo v mislih projekt? V mnogih primerih je projekt mogoče izvesti popolnoma dobro z uporabo običajne relacijske baze podatkov. Veste, veliki železni behemoti Oracle in SQL Server, ali za bolj odprte, MySQL in postgres. Naj začnem tako, da stvari postavim naravnost:

Če vaše zahteve izpolnjujejo današnje relacijske zbirke podatkov, bi bilo noro uporabljati verigo blokov.

Zakaj? Ker imajo izdelki, kot sta Oracle in MySQL, za sabo desetletja razvoja. Razporejeni so bili na milijone strežnikov, ki izvajajo bilijone poizvedb. Vsebujejo nekaj najbolj temeljito preizkušenih, odpravljenih napak in optimiziranih kod na planetu, ki obdelujejo na tisoče transakcij na sekundo, ne da bi se znojil.

Kaj pa blockchains? No, naš izdelek je bil eden prvih na trgu in je bil z nekaj tisoč prenosi na voljo že natanko 5 mesecev. Pravzaprav je izjemno stabilen, saj smo ga zgradili Bitcoin Core, programska oprema, ki poganja bitcoin. Toda kljub temu, celotna kategorija izdelkov je še vedno v plenicah.

Torej, pravim, da so verige blokov neuporabne? Absolutno ne. Toda preden se lotite tega bleščečega projekta veriženja blokov, morate o tem imeti zelo jasno predstavo zakaj uporabljate verigo blokov. Obstaja kup pogojev, ki jih je treba izpolniti. Če pa ne, se vrnite na risalno tablo. Mogoče lahko projekt bolje opredelite. Ali pa lahko vsem prihranite veliko časa in denarja, saj blockchaina sploh ne potrebujete.

1. Baza podatkov

Tu je prvo pravilo. Blockchains so tehnologija za skupne zbirke podatkov. Za začetek morate torej vedeti, zakaj uporabljate bazo podatkov, pri čemer mislim na strukturirano skladišče informacij. To je lahko tradicionalno relacijske baze podatkov, ki vsebuje eno ali več tabelam, podobnim preglednicam. Ali pa je lahko bolj trenden NoSQL sort, ki deluje bolj kot datotečni sistem ali slovar. (Na teoretični ravni so baze podatkov NoSQL tako ali tako le podmnožica relacijskih baz podatkov.)

Knjigo finančnih sredstev lahko naravno izrazimo kot tabelo zbirke podatkov, v kateri vsaka vrstica predstavlja eno vrsto sredstva v lasti določenega subjekta. Vsaka vrstica ima tri stolpce, ki vsebujejo: (a) identifikator lastnika, kot je številka računa, (b) identifikator vrste sredstva, kot je "USD" ali "AAPL", in (c) količino tega sredstva, ki ga ima ta lastnik.

Zbirke podatkov se spreminjajo s „transakcijami“, ki predstavljajo sklop sprememb baze podatkov, ki jih je treba sprejeti ali zavrniti kot celoto. Na primer, v primeru knjige sredstev plačilo enega uporabnika drugemu predstavlja transakcija, ki odšteje ustrezno količino iz ene vrstice in jo doda v drugo.

2. Več pisateljev

Ta je enostaven. Blockchains so tehnologija za zbirke podatkov z več zapisovalniki. Z drugimi besedami, obstajati mora več entitet, ki ustvarjajo transakcije, ki spreminjajo bazo podatkov. Ali veste, kdo so ti pisatelji?

V večini primerov bodo zapisovalci zagnali tudi "vozlišča", ki vsebujejo kopijo baze podatkov in posredujejo transakcije drugim vozliščem v peer-to-peer moda. Vendar lahko transakcije ustvarijo tudi uporabniki, ki vozlišča sami ne izvajajo. Razmislimo na primer o plačilnem sistemu, ki ga skupaj vzdržuje majhna skupina bank, vendar ima milijone končnih uporabnikov na mobilnih napravah, ki komunicirajo samo s sistemi lastne banke.

3. Odsotnost zaupanja

In zdaj za tretje pravilo. Če v bazo podatkov piše več entitet, mora obstajati tudi določena stopnja Nezaupanje med temi subjekti. Z drugimi besedami, verige blokov so tehnologija za zbirke podatkov z več nezaupljivimi pisci.

Morda mislite, da nezaupanje nastane le med ločenimi organizacijami, kot so banke, ki trgujejo na trgu, ali podjetja, ki sodelujejo v dobavni verigi. Lahko pa tudi obstaja znotraj ene same velike organizacije, na primer med oddelki ali operacijami v različnih državah.

Kaj konkretno mislim z nezaupanjem? Mislim, da en uporabnik ne želi drugemu dovoliti spreminjanja vnosov v zbirko podatkov, katerih »lastnik«. Podobno, ko gre za branje vsebine baze podatkov, en uporabnik ne bo sprejel kot evangelij »resnice«, kot jo poroča drug uporabnik, ker ima vsak drugačne ekonomske ali politične spodbude.

4. Disintermediacija

Torej je težava, kot je bila opredeljena do zdaj, omogočanje baze podatkov z več nezaupljivimi pisci. In že obstaja dobro znana rešitev tega problema: zaupanja vrednega posrednika. Se pravi nekdo, ki mu vsi pisatelji zaupajo, četudi si ne zaupajo popolnoma. Dejansko je svet napolnjen s takšnimi bazami podatkov, kot je knjiga računov v banki. Vaša banka nadzoruje bazo podatkov in zagotavlja, da je vsaka transakcija veljavna in odobrena s strani stranke, katere sredstva premika. Ne glede na to, kako vljudno prosite, vam banka nikoli ne bo dovolila, da neposredno spreminjate njihovo bazo podatkov.

Blockchains z omogočanjem odstranijo potrebo po zaupanja vrednih posrednikih baze podatkov z več nezaupljivimi pisci, ki jih je treba neposredno spremeniti. Za preverjanje transakcij in preverjanje pristnosti njihovega vira ni potreben noben osrednji vratar. Namesto tega je definicija transakcije razširjena tako, da vključuje dokazilo o pooblastilu in dokazilo o veljavnosti. Transakcije so torej lahko neodvisno preveri in obdela vsako vozlišče ki vzdržuje kopijo baze podatkov.

Toda vprašanje, ki ga morate zastaviti, je: Ali želite ali potrebujete to razdeljevanje? Ali je glede na vaš primer uporabe kaj narobe s centralno stranjo, ki vzdržuje verodostojno bazo podatkov in deluje kot vratar transakcij? Dobri razlogi, da raje zbirko podatkov, ki temelji na blockchainu, pred zaupanja vrednim posrednikom lahko vključujejo nižje stroške, hitrejše transakcije in samodejno sprava, nova ureditev ali preprosta nezmožnost iskanja ustreznega posrednika.

5. Transakcijska interakcija

Blockchains so torej smiselni za zbirke podatkov, ki jih deli več piscev, ki si ne zaupajo popolnoma in ki to bazo podatkov neposredno spreminjajo. A to še vedno ni dovolj. Blockchains resnično sijejo tam, kjer jih je nekaj interakcija med transakcijami ki so jih ustvarili ti pisatelji.

Kaj mislim pod interakcijo? V popolnem smislu to pomeni, da so transakcije, ki jih ustvarjajo različni pisci, pogosto odvisne druga od druge. Recimo, da Alice nekaj sredstev pošlje Bobu, nato pa jih nekaj pošlje Charlieju. V tem primeru je Bobova transakcija odvisna od Aliceine in Bobove transakcije ni mogoče preveriti, ne da bi najprej preverili Aliceino. Zaradi te odvisnosti transakcije seveda spadajo skupaj v a ena skupna baza podatkov.

Če nadaljujemo s tem, je ena lepa lastnost verig blokov, da je mogoče ustvarjati transakcije v sodelovanju več pisateljev, ne da bi se katera koli stranka izpostavila tveganju. To je tisto, kar omogoča dostava v primerjavi s plačilom poravnavo, ki jo je treba izvesti varno prek verige blokov, brez potrebe po zaupanja vrednem posredniku.

Dober primer je lahko tudi v primerih, ko so transakcije različnih zapisovalcev medsebojno medsebojno povezane, tudi če ostanejo neodvisne. En primer je lahko skupna baza podatkov o identiteti, v kateri več entitet potrdi različne vidike identitet potrošnikov. Čeprav je vsako takšno potrjevanje samostojno, blockchain ponuja koristen način, da vse združimo na enoten način.

6. Določite pravila

To v resnici ni pogoj, temveč neizogibna posledica prejšnjih točk. Če imamo zbirko podatkov, ki jo neposredno spreminja več zapisovalcev, in si ti zapisovalci ne zaupajo popolnoma, mora baza podatkov vsebovati vdelana pravila omejevanje opravljenih transakcij.

Ta pravila se bistveno razlikujejo od omejitve ki se pojavljajo v tradicionalnih zbirkah podatkov, ker se nanašajo na legitimnost transformacij namesto stanja baze podatkov v določenem trenutku. Vsako transakcijo vsa vozlišča v omrežju preverijo glede na ta pravila, tiste, ki ne uspejo, zavrnejo in ne posredujejo naprej.

Knjige premoženja vsebujejo preprost primer te vrste pravila, ki preprečuje transakcije, ki ustvarjajo sredstva iz nič. Pravilo določa, da mora biti skupna količina vsakega sredstva v knjigi enaka pred in po vsaki transakciji.

7. Izberite svoje potrjevalnike

Doslej smo opisali porazdeljeno bazo podatkov, v kateri lahko transakcije izvirajo iz mnogih krajev, se širijo med vozlišči na enak način in jih vsako vozlišče neodvisno preveri. Kje torej pride "blockchain"? No, naloga blockchaina je biti verodostojni končni dnevnik transakcij, glede katere vsebine se dokazujejo vsa vozlišča.

Zakaj potrebujemo ta dnevnik? Prvič, na novo dodanim vozliščem lahko iz nič izračuna vsebino baze podatkov, ne da bi bilo treba zaupati drugemu vozlišču. Drugič, obravnava možnost, da bi nekatera vozlišča morda zamudila nekatere transakcije zaradi izpada sistema ali komunikacijske napake. Brez dnevnika transakcij bi to povzročilo, da se baza podatkov enega vozlišča razlikuje od baze drugih, kar spodkopava cilj skupne baze podatkov.

Tretjič, dve transakciji sta lahko v sporu, tako da je mogoče sprejeti samo eno. Klasičen primer je dvojna poraba pri katerem se isto sredstvo pošlje dvema različnima prejemnikoma. V peer-to-peer bazi podatkov brez osrednjega organa imajo vozlišča lahko različna mnenja glede tega, katero transakcijo sprejeti, ker obstaja brez objektivnega pravilnega odgovora. Z zahtevo, da se transakcije »potrdijo« v verigi blokov, zagotavljamo, da se vsa vozlišča konvergirajo pri isti odločitvi.

Končno v Ethereum-blockchains, natančno naročanje transakcij igra ključno vlogo, saj lahko vsaka transakcija vplivajo na to, kaj se zgodi v vsakem naslednjem. V tem primeru veriga blokov določa avtoritativno kronologijo, brez katere transakcij sploh ni mogoče obdelati.

Blockchain je dobesedno veriga blokov, v kateri vsak blok vsebuje nabor transakcij, ki so potrjene kot skupina. Kdo pa je odgovoren za izbiro transakcij, ki spadajo v posamezni blok? V obliki "zasebne verige blokov", ki je primerna za poslovne aplikacije, je odgovor zaprta skupina potrjevalcev ("rudarji"), ki digitalno podpišejo bloke, ki jih ustvarijo. Ta seznam dovoljenih je združen z neko obliko sheme porazdeljenega konsenza, da se manjšini potrjevalcev prepreči prevzem nadzora nad verigo. Na primer, MultiChain uporablja shemo z imenom rudarska raznolikost, v katerem dovoljeni rudarji delajo v a okroglo-robin modo, z določeno mero prizanesljivosti, da se omogočijo nedelujoča vozlišča.

Ne glede na to, katera shema soglasja se uporablja, imajo validacijska vozlišča veliko manj moči kot lastnik tradicionalne centralizirane baze podatkov. Preverjevalniki ne morejo ponarejati transakcij ali spreminjati baze podatkov v nasprotju z njenimi pravili. V knjigi premoženja to pomeni, da ne morejo zapraviti tujega denarja niti spremeniti celotne količine zastopanega premoženja. Kljub temu obstajata še vedno dva načina, na katera lahko preveritelji veljavnosti neupravičeno vplivajo na vsebino baze podatkov:

  • Cenzura transakcij. Če se dovolj validacijskih programov zlonamerno dogovarja, lahko preprečijo, da bi se določena transakcija potrdila v verigi blokov, tako da ostane trajno v neskladju.
  • Pristransko reševanje konfliktov. Če sta dve transakciji v nasprotju, se preveritelj, ki ustvari naslednji blok, odloči, katera transakcija je potrjena v verigi blokov, zaradi česar bo druga zavrnjena. Pravična izbira bi bila transakcija, ki je bila prvič vidna, vendar lahko potrjevalci izbirajo na podlagi drugih dejavnikov, ne da bi to razkrili.

Zaradi teh težav morate pri uvajanju baze podatkov, ki temelji na verigi blokov, imeti jasno predstavo o tem kdo so vaši potrjevalci in zakaj jim zaupate, skupaj, če ne sam. Odvisno od primera uporabe je mogoče validacije izbrati med: (a) enim ali več vozlišči, ki jih nadzoruje ena organizacija, (b) osrednja skupina organizacij, ki vzdržujejo verigo, ali (c) vsakim vozliščem v omrežju.

8. Podprite svoja sredstva

Če ste prišli tako daleč, ste morda opazili, da blokčeine ponavadi omenjam kot skupne podatkovne baze in ne bolj pogoste "skupne knjige". Zakaj? Ker se blockchains kot tehnologija lahko uporablja za težave, ki presegajo sledenje lastništva sredstev. Vsako bazo podatkov, ki vsebuje več nezaupljivih piscev, je mogoče implementirati prek verige blokov, ne da bi za to potrebovali centralnega posrednika. Primeri vključujejo skupne koledarje, sodelovanje v wiki stilu in diskusijske forume.

Ob tem je za zdaj videti, da verige blokov zanimajo predvsem tiste, ki spremljajo gibanje in menjavo finančnega premoženja. Za to se lahko domislim dveh razlogov: (a) finančni sektor se odziva na (retrospektivno, majhno) grožnjo kriptovalut, kot je bitcoin, in (b) knjiga premoženja je najbolj preprost in naraven primer skupne baze podatkov z medsebojno odvisne transakcije, ki jih ustvari več subjektov, ki ne zaupajo.

Če želite blockchain uporabiti kot knjigo sredstev, morate odgovoriti na eno dodatno ključno vprašanje: Kakšna je narava sredstev, ki se premikajo? S tem ne mislim samo gotovine ali obveznic ali položnic, čeprav je to seveda tudi pomembno. Vprašanje je prej: Kdo stoji za sredstvi, predstavljenimi na verigi blokov? Če v zbirki podatkov piše, da imam 10 enot nečesa, kdo mi bo omogočil, da zahtevam teh 10 enot v resničnem svetu? Koga tožim, če ne morem pretvoriti zapisanega v verigi blokov v tradicionalna fizična sredstva? (Poglej to pogodba o premoženju na primer.)

Odgovor se seveda razlikuje glede na primer uporabe. Za denarna sredstva si lahko predstavljamo, da skrbniške banke sprejemajo gotovino v tradicionalni obliki in nato knjižijo dobroimetje na račune vlagateljev v razdeljeni knjigi, ki jo poganja blockchain. Pri trgovinskem financiranju bi akreditive in položnice podpirali banka uvoznika oziroma ladjarska družba. In v prihodnosti si lahko predstavljamo čas, ko bo primarna izdaja korporativnih obveznic poteka neposredno na verigi blokov s strani podjetja, ki želi zbrati sredstva.

zaključek

Kot sem omenil že v uvodu, če se vaš projekt ne izpolni vsakega od teh pogojev, ne bi smeli uporabljati verige blokov. V odsotnosti katerega od prvih petih razmislite o enem od: (a) običajnega pomnilnika datotek, (b) centralizirane baze podatkov, (c) glavnega-podrejenega podvajanje baze podatkovali (d) več baz podatkov, do katerih lahko uporabniki naročiti.

In če boste izpolnili prvih pet, vas čaka še delo. Pravila aplikacije morate izraziti v smislu transakcij, ki jih omogoča baza podatkov. Prepričani morate biti, komu lahko zaupate kot preveriteljem in kako boste opredelili porazdeljeno soglasje. In končno, če želite ustvariti skupno knjigo, morate vedeti, kdo bo podpiral sredstva, ki jih ta knjiga predstavlja.

Imate vse odgovore? Čestitamo, imate resničen primer uporabe blockchaina. In radi bi vas slišali.

Prosimo, pošljite kakršne koli pripombe na LinkedIn. Glej tudi to nadaljevanje: Štirje resnični primeri uporabe blockchaina.

Časovni žig:

Več od Večnamenska veriga