Toimitus vastaan ​​maksu lohkoketjussa PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Toimitus vs. maksu blockchainissa

Kuinka lohkoketjut voivat ratkaista kirjan vanhimman ongelman

Ihmisten välinen kauppa on yhtä vanha kuin ihmiskunta itse. Se alkoi sillä hetkellä, kun luolamies Ogg sanoi luolamies Uggille: "minä annan sinulle kallion, sinä annat minulle marjoja". Mutta kaupankäynti tuo mukanaan perustavanlaatuisen ongelman: se vaatii luota. Mikä estää Oggia käyttämästä kalliota Uggiin ja tarttumasta sitten molempiin kallioihin ja marjoja ennen pakenemista? Kuinka käännämme suullisen vaihtosopimuksen täytäntöönpanomekanismiksi, joka varmistaa, että molemmat osapuolet pitävät sanansa?

Moderni esimerkki: muutama vuosi sitten myin auton käytettyjen tavaroiden markkinoilla. Löysin ostajan Internetin kautta, tapasimme henkilökohtaisesti, hän testasi auton ja sovimme hinnasta. Joten hän meni pankkiinsa saadakseen kassan sekin, joka on käytännössä käteistä pienemmässä muodossa. Kävelimme yhdessä postille, jossa voin allekirjoittaa ja lähettää virallisen hallituksen lomakkeen, joka siirtää auton laillisen omistuksen.

Joten me olemme, seisomme postitoimiston ikkunassa ja pääsemme hankalaan umpikujaan. Sekki on edelleen hänen taskussa, ja pidän allekirjoitettua lomaketta. Tapasimme muutama tunti sitten, eikä meillä ole syytä luottaa toisiinsa. Annanko ensin lomakkeen, niin toivon, että hän antaa minulle sekin, sen sijaan, että pakenisi? Vai antaako hän minulle shekin sitten toivon, että annan lomakkeen? Joko niin, joku altistaa itsensä petoksen vaaralle.

Ja sitten tuli mieleeni, että minun pitäisi lopettaa huolehtiminen ja antaa vain muoto. Miksi? Koska toinen kahdesta asiasta voi tapahtua seuraavaksi. Joko ostaja antaa minulle sekin, jolloin kaikki ovat onnellisia ja vaihto on valmis. Mutta entä jos hän karkaa sen sijaan? Siinä tapauksessa postitoimiston virkailija näkee ja repii juuri antamani lomakkeen. Bingo, meillä on itsellemme turvallinen vaihto.

Näitkö mitä siellä tapahtui? Dilemma ratkaistiin käyttämällä välittäjää, tässä tapauksessa postitoimiston virkailijaa. Virkailija varmistaa, että joko oikeudenmukainen liiketoimi tapahtuu tai ei lainkaan liiketointa. Eikä kukaan välittäjä voi tarjota tätä palvelua. Sen on oltava joku, johon molemmat osapuolet luottavat. Valtion omistaman postitoimiston työntekijän tapauksessa tämä johtuu luottamuksestamme itse hallitukseen. Jos postitoimistojen virkailijoita voitaisiin lahjoittaa, joko minä tai ostaja voisimme suunnitella tilanteen, jossa päädymme sekä käteiseen että autoon. Todellakin monet maat, tällainen korruptio voi olla valtava vaurauden valuminen.

Luolamiehet ja autot ovat yksi asia, mutta siirrymme painopisteemme finanssimaailmaan, jossa kaupankäynti on keskeinen rooli. Tietenkin pankit eivät maksa työntekijöilleen juoksemasta jonkun toisen osakkeilla. Rahoitusvarojen turvallinen vaihto on kuitenkin edelleen tärkeä ongelma, koska on vähemmän sarjakuvamaista tapaa, jolla liiketoimen osallistujat eivät voi noudattaa lupaustaan. Esimerkiksi yksi osapuoli saattaa tulla maksukyvyttömäksi tai äkillinen markkinaolosuhteiden muutos voi estää heitä turvaamasta omaisuutta. He voivat kärsiä kirjoitusvirheistä tai kirjanpitopetokset toisen vastapuolen kanssa.

Näiden seurauksenaselvitysriskit”, Suurin osa rahoitustapahtumista suoritetaan toimitus vastaan ​​maksu (DvP). Tämä on vain hieno termi yllä kuvatulle postitoiminnalle. DvP varmistaa, että jos jokin liiketoimen osapuoli ei tuota luvattua, toinen osapuoli voi pitää tarjoamansa varat vaihdossa.

Ja miten toimitus vs. maksu toteutetaan rahoitusmaailmassa? Arvasit sen luotettavien välittäjien kautta. Nämä voivat olla muita pankkeja, selvitysyhteisöjä tai arvopaperikeskukset. Koska suurin osa tämän päivän kaupoista tapahtuu digitaalisesti, tässä ei ole kyse fyysisten varmenteiden tai käteisen siirron hallinnasta. Pikemminkin DvP saavutetaan siten, että välittäjä päivittää samanaikaisesti useita tietueitaan tietokannassaan ja / tai lähettää ohjeita muille laitoksille.

Toimitus vs. maksu blockchainilla

Tietokannoista puhuminen vie meidät siististi blockchainien aiheeseen. Lohkoketju sallii kirjanpidon tai tietokannan jakamisen ja synkronoinnin useiden osapuolten välillä. Toisin kuin tavalliset tietokannat, blockchain-tietokantoja voi kuitenkin turvallisesti ja suoraan muokata useita käyttäjiä, vaikka he kilpailisivat kovassa kilpailussa keskenään. Jos työskentelet yritystietotekniikassa, voit ajatella jonkin verran tämän lauseen vaikutuksia.

Ymmärtääksemme kuinka toimitus vs. maksu toimii lohkoketjussa, meidän on aloitettava ymmärtämällä bitcoinin transaktiomalli. Tässä on huomattava, että muut blockchain-mallit käyttävät eri mallia tapahtumiin, ja puhumme lisää näistä eroista myöhemmin.

Bitcoin-tapahtumassa on joukko panoksia ja lähtöjä. Jokainen tulo on kytketty yhteen edellisen tapahtuman lähtöön, ja kaikki edellisen tuotoksen bitcoin virtaa sisään. Tapahtuman syötteissä oleva bitcoin jakautuu sitten uudelleen sen lähdöihin sisällä kirjoitettujen määrien mukaan. Lisäksi jokainen tapahtumalähtö sisältää uuden omistajansa julkisen tunnisteen, jolle omistajalla on vastaava yksityinen avain. Bitcoin-tapahtuma on voimassa vain, jos:

  • Bitcoinin kokonaismäärä tapahtuman syötteissä on suurempi tai yhtä suuri kuin sen tuotoksiin kirjoitettu määrä. Kaikkien erojen perii palkkiona ”kaivosmies”, joka vahvistaa tapahtuman lohkossa luoden markkinamekanismin, jolla liiketoimet voivat tehdä tarjouksen vahvistamiseksi.
  • Kaikkien aikaisempien tuotosten omistajat hyväksyvät tapahtuman, jonka kyseinen tapahtuma "viettää". Tämä hyväksyntä ilmaistaan ​​uuden tapahtuman sisällön kryptografisella allekirjoituksella. Aikaisemman tuotoksen allekirjoitus voidaan luoda vain käyttämällä yksityistä avainta, joka vastaa sen julkista tunnistetta.

Molemmat näistä säännöistä ovat ratkaisevan tärkeitä talouskirjassa, joka jaetaan ei-luottavien osapuolten kesken. Ilman ensimmäistä kukaan voisi luoda bitcoineja tyhjästä. Ja ilman toista, kaikki voivat käyttää kaikkien muiden bitcoineja. Mutta tarvitsemme myös kolmannen säännön, joka pannaan täytäntöön globaalisti eikä yksittäisten tapahtumien sisällä:

  • Kutakin tapahtumalähtöä voi käyttää vain yksi seuraava tapahtuma. Tämä estää hyökkäyksen, joka tunnetaan nimellä double-menojen jossa samat bitcoinit lähetetään useammalle kuin yhdelle vastaanottajalle.

Tämän säännön pakottamiseksi lohkoketju sisältää kronologisen lokin kelvollisista tapahtumista, jotka eivät ole ristiriidassa keskenään, ja jokainen verkon solmu tarkistaa tämän lokin itsenäisesti.

Bitcoin-transaktiomalli voidaan helposti laajentaa edustamaan mitä tahansa taloudellista omaisuutta. Bitcoineja sisältävän tapahtumalähdön sijasta se voi sisältää omaisuuden tunnisteen ja määrän. Kaikki bitcoin-tapahtumia koskevat säännöt ovat edelleen voimassa, mikä estää osallistujia (a) luomasta omaisuutta tyhjästä, (b) käyttämästä muiden omaisuutta ja (c) käyttämästä samaa omaisuutta kahdesti. Muiden kuin kryptovaluuttavarojen kohdalla olemme taipuvaisia ​​vaatimaan, että panos- ja tuotosmäärät tasapainotetaan tarkasti sen sijaan, että annettaisiin kaivostyöläisille kerätä ero.

Joten miten voimme luoda turvallisen toimituksen vs. maksutapahtuman käyttämällä tätä mallia? Sanotaan, että Alice ja Bob ovat sopineet vaihtavansa Alicen 10 puntaa Bobin 15 dollariin. Mukavuuden vuoksi oletamme, että Alicella on jo täsmälleen 10 puntaa istumalla siististi yhdessä tapahtumassa, ja Bobilla on myös 15 dollaria. (Jos näin ei ole, he voivat helposti siirtää varojaan tekemään niin.)

Aluksi kumpikin osapuoli rakentaa tapahtuman, jossa on kaksi tuloa ja kaksi lähtöä. Nämä kaksi panosta käyttävät aikaisemmat tuotokset, jotka sisältävät Alicen 10 puntaa ja Bobin 15 dollaria. Lähtöjen osalta ensimmäinen sisältää Alicen tunnuksen ja 15 dollaria, ja toinen menee Bobille, joka sisältää 10 puntaa. Koska molempien valuuttojen syöttö- ja tuotosmäärät ovat tasapainossa, tapahtumamme täyttää edellä mainitun ensimmäisen ehdon. Toisen toteuttamiseksi sekä Alicen että Bobin on nyt allekirjoitettava tapahtuma, koska se viettää kullekin heille kuuluvat aikaisemmat tuotokset.

Kauppa voidaan nyt viimeistellä sisällyttämällä se lohkoketjuun, mutta meidän on silti otettava huomioon kaksinkertaisen kulutuksen ongelma. Entä jos Alice olisi luonut ristiriitaisen tapahtuman vaihtamalla samat 10 puntaa toisen vastapuolen kanssa, joka tarjosi hänelle paremman tarjouksen? Tässä tulee esiin kolmas sääntö, jossa lohkoketju varmistaa, että jokainen lähtö voidaan käyttää vain kerran. Jos kilpaileva tapahtuma lähetetään sen jälkeen, kun Alicen vaihto Bobin kanssa on lohkoketjussa, sitä ei yksinkertaisesti vahvisteta. Ja jos kilpaileva kauppa vahvistettiin ensin, Alicen vaihto Bobin kanssa epäonnistuu sen sijaan. Joko niin, blockchain varmistaa toimituksen vastaan ​​maksun Alicen ja Bobin vaihdosta samoin kuin muusta. Jos Bob ei saa Alicen 10 puntaa, Alice ei saa 15 dollaria.

Osatapahtumien voima

Joten estoketjut antavat meille mahdollisuuden kahden osapuolen kokoontua, rakentaa ja allekirjoittaa vaihto-operaatio ja varmistaa, että se onnistuu tai epäonnistuu kokonaisuutena. Tämä mahdollistaa toimituksen vs. maksun jaetussa kirjanpidossa ilman luotettavaa välittäjää prosessin hallitsemiseksi. Kaivostyöläisillä, jotka vahvistavat lohkotapahtumat, on vielä jonkin verran valtaa, mutta se on paljon vähemmän kuin perinteinen välittäjä. Pahinta mitä he voivat tehdä, on kieltäytyä vahvistamasta tiettyä tapahtumaa Sen kokonaisuudessaan, ja tämä ei riko DvP: tä. Lisäksi, jos kaivostoiminta jaetaan liiketoimia tosiasiallisesti luovien osapuolten kesken, tämä riski häviää kokonaan, koska kaikki saavat mahdollisuuden vahvistaa omat.

Toistaiseksi niin hyvä. Mutta bitcoin-tyylisillä lohkoketjuilla on enemmän temppuja hihassaan. Muistathan, että tapahtuman on allekirjoitettava jokaisen aikaisemman tuotoksen, jonka kyseinen tapahtuma kuluttaa, omistajan. Oletuksena tämä allekirjoitus lukitsee tapahtuman täydellisen luettelon syötteistä ja tuotoksista. Salaus varmistaa, että pienimmätkin muutokset tuloon tai lähtöön tekisivät allekirjoituksen virheelliseksi. Edellä olevan esimerkin mukaisesti, jos Bob korvattiin Carolilla sen jälkeen, kun Alice oli allekirjoittanut kaupan, tapahtuma epäonnistui kokonaan.

Mutta entä jos Alice ei välitä kenen kanssa hän vaihtaa? Useimpiin tarkoituksiin miksi hänen pitäisi välittää? Ellei Alice ole päättänyt työskennellä nimenomaan Bobin kanssa, tapahtumassa on vain kaksi osaa, jotka todella koskevat häntä. Ensinnäkin se, että hänen 10 punnan tuotoksensa käytetään, eikä erilainen määrä tai omaisuus. Toiseksi, että hän saa vastineeksi 15 dollaria uudessa tuotoksessa. Niin kauan kuin kaikki rahat järjestelmässä ovat puhtaat, Alice ei todellakaan välitä siitä, mistä kyseinen 15 dollaria tulee, tai mitä muuta voi tapahtua hänen vaihdonsa helpottamiseksi.

Ehkä yksi osapuoli tulee yhdessä 15 dollarin kanssa ja suorittaa suoran vaihdon Alicen 10 puntaa vastaan. Mutta ehkä Bob ja Carol haluavat vaihtaa vain 7.50 dollaria. Tällöin ne lisäisivät tapahtumaan kaksi panosta ja kaksi tuotosta, joista kukin keräisi 5 puntaa. Tai ehkä Carol haluaa todella vaihtaa 15 dollaria 950 ruplaan, kun taas Sasha Moskovassa on 950 ruplaa ja etsii 10 puntaa. Tällöin voi tapahtua kolmisuuntainen vaihto, jossa kukin osapuoli välittää edelleen vain omasta palapelin palastaan. Alicen aloittama tapahtuma voidaan suorittaa lukemattomilla eri tavoilla. Mutta Alicen näkökulmasta nämä kaikki saavuttavat saman tavoitteen antaessaan hänelle 3 dollaria vastineeksi 15 puntaa, ja ne kaikki tekevät hänestä yhtä onnellisen.

Vaihto-skenaariot

Kuinka lohkoketju helpottaa tätä? Osittaisten tapahtumien ja osittaisten allekirjoitusten kautta. Alice aloittaa tapahtuman yhdellä syötteellä (10 puntaa) ja yhdellä lähdöllä (15 dollaria hänelle). Hän lukitsee nämä tapahtuman osat digitaalisella allekirjoituksella, jonka mukaan mikä tahansa määrä muita syötteitä tai lähtöjä voidaan lisätä. Hän luovuttaa tämän osittaisen tapahtuman Bobille ja sanoo "katso mitä voit tehdä". Ehkä hän luovuttaa sen myös Carolille ja kaikille muille potentiaalisille vastapuolille tai syndikaattirakentajille. Kukin näistä voi lisätä omat tulo- ja lähtöparinsa joko tasapainottamaan vaihtoa tai luomaan suuremman osittaisen tapahtuman, joka voidaan antaa uudelleen. Riippumatta siitä, mitä kukaan tekee, tapahtuma voidaan suorittaa (eli ratkaista vahvistuksella lohkoketjussa) vasta, kun panos- ja tuotosvarat ovat tasapainossa.

Lohkoketjutapahtuma on vain osa digitaalista dataa, joten nämä ositapahtumat voidaan lähettää sähköpostitse tai muulla viestintävälineellä. Ne voidaan jopa lähettää julkisesti, koska potentiaalisen liiketoimen osallistujat tietävät sen blockchain hoitaa heidät. Alicen allekirjoitus varmistaa, että hän käyttää 10 puntaa vain, jos joku antaa hänelle 15 dollaria vastineeksi.

Lopuksi, jos Alice päättää poistaa tarjouksen, hänen on vain käytettävä sama 10 puntaa toisessa tapahtumassa yksinkertaisesti lähettämällä se takaisin itselleen. Koska estoketju ei salli saman tuotoksen käyttämistä kahdesti, tämä tekee hänen olemassa olevasta osittaisesta tapahtumastaan ​​arvoton. Kaikki muut lohkoketjun osallistujat näkevät tämän ja lopettavat ajanhukkan yrittäessään vaihtaa.

DvP: stä älykkäisiin sopimuksiin

Kuten olen väitti aiemmin, bitcoin-tyylistä lohkoketjua voidaan pitää tapana hallita synkronointia ja tietoturvaa jaetussa relaatiotietokannassa. Sekä bitcoin- että tietokantatapahtumia käsitellään atomisesti, mikä tarkoittaa, että ne onnistuvat tai epäonnistuvat kokonaisuutena. Avain analogiaan on vastaavuus lohkoketjun tapahtumalähdön ja tietokannan rivin välillä. Lohkoketjutapahtuma, joka viettää joitain ulostuloja ja luo joitain muita, on sama kuin tietokantatapahtuma, joka poistaa joitain rivejä ja luo toiset sen sijaan. (Tietokantatoiminto, joka muuttaa olemassa olevaa riviä, vastaa kyseisen rivin poistamista ja uuden päivitetyn luomista sen tilalle. Tämä vastaavuus tukee suosittua MVCC samanaikaisuuden hallinnan menetelmä tietokannoissa, joista bitcoin-tyyliset lohkoketjut voidaan nähdä hajautettuna lomakkeena.)

Joten kuvitellaan, että taloudelliset tietomme pidetään tietokannassa, jossa jokainen rivi sisältää kolme tietoa: omistajan tunnuksen, omaisuuden tunnisteen ja omaisuuden määrän. Lohkoketju antaa tämän pääkirjaan jakaa turvallisesti osallistujiensa välillä, vaikka he eivät luota lainkaan toisiinsa. Tietokantojen kielellä se varmistaa, että:

  • Tapahtuman poistamien rivien omaisuusmäärät vastaavat sen luomien rivien määriä.
  • Jokaisen tapahtuman poistaman (tai muokatun) rivin kohdalla tapahtuman on oltava kyseisen rivin omistajan allekirjoittama.
  • Jos tietokantarivi poistettiin yhdellä tapahtumalla, se estää toista tapahtumaa poistamasta sitä uudelleen.

Tarkastellaan ensimmäistä näistä säännöistä, nimittäin sitä, että liiketoimien on säilytettävä omaisuuserät. Voimme laajentaa tämän yleiseksi käsitteeksi "transaktiorajoitus". Tapahtumarajoitus on mustan laatikon muoto, joka näkee kaksi riviryhmää kullekin tapahtumalle: (a) tapahtuman poistamat rivit, (b) sen luomat rivit. Mustan laatikon tehtävänä on tarkastella näitä kahta sarjaa ja vastata "kyllä" tai "ei" siitä, onko tapahtuma pätevä. Meidän erityistapauksessamme se vastaa kyllä ​​vain, jos molempien ryhmien varojen kokonaismäärät vastaavat tarkalleen.

Kun meillä on mahdollisuus soveltaa tapahtumarajoituksia, niitä voidaan laajentaa sisältämään kaikki säännöt. Jotkut esimerkit saattavat olla "tämän omaisuuden yksikkö voidaan luoda vain, jos nämä kolme muuta omaisuutta on lukittu samanaikaisesti escrow-tilaan" tai "tämä omaisuus voidaan siirtää vain, jos vastaava rivi ilmoittaa riittämättömästä sateesta". Lohkoketjun hajautetun arkkitehtuurin näkökulmasta ruudun sisällä olevalla logiikalla ei ole merkitystä, kunhan se voi antaa meille selkeän ja johdonmukaisen arvion jokaisesta näkemistään tapahtumasta.

Tämän seurauksena tapahtumarajoitukset voivat toimia yleisenä menetelmänä rajoittaa ketjun osallistujien suorittamia tiedonsiirtoja. Tämä lähestymistapa älykkäisiin sopimuksiin tarjoaa vaihtoehdon tallennetut käytetään Ethereum ja se on Eris johdannainen. Tulevassa kappaleessa sukelamme syvemmälle näiden kahden paradigman etuihin ja haittoihin yksinkertaisuuden, skaalautuvuuden ja samanaikaisuuden suhteen.

Sinä pystyt seuraa minua Twitterissä täällä. Katso myös: Bitcoin vs blockchain -keskustelun lopettaminen.

Tekninen lisäys

Jos haluat rakentaa osittaisia ​​DvP-tapahtumia, käytä a allekirjoitustyyppi of SINGLE|ANYONECANPAY. Jos käytät moniketjuisille, The preparelockunspent, createrawexchange ja appendrawexchange API-puhelut huolehdi yksityiskohdista puolestasi. Katso Päästä alkuun sivulla on yksinkertainen esimerkki siitä, miten niitä voidaan käyttää.

Ole hyvä ja lähetä kommentit LinkedIn.

Lähde: https://www.multichain.com/blog/2015/09/delivery-versus-payment-blockchain/

Aikaleima:

Lisää aiheesta moniketjuisille