Delivery versus payment on a blockchain PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Szállítás a fizetés ellen egy blokkláncon

Hogyan oldják meg a blokkláncok a könyv legrégebbi problémáját

Az emberek közötti kereskedés egyidős az emberiséggel. Abban a pillanatban kezdődött, amikor Ogg barlanglakó azt mondta Ugg barlanglakónak: „én adok neked sziklát, te adj bogyót”. De a kereskedés magában hordoz egy alapvető problémát: megköveteli bízik. Mi akadályozza meg Oggot abban, hogy a sziklával üssön Uggot, majd mindkét sziklát megragadja és a bogyók, mielőtt elszöknének? Hogyan fordítsuk le a szóbeli cseremegállapodást olyan végrehajtási mechanizmussá, amely biztosítja, hogy mindkét fél betartsa szavát?

Hogy egy modern példát vegyünk, néhány éve eladtam egy autót a használt piacon. Interneten keresztül találtam vevőt, személyesen találkoztunk, kivizsgáltatta az autót és megegyeztünk az árban. Így hát elment a bankjába, hogy beszerezzen egy pénztári csekket, ami gyakorlatilag készpénz tömörebb formában. Együtt sétáltunk egy postára, ahol aláírhatok és benyújthatok egy hivatalos állami űrlapot, amely átruházza az autó jogos tulajdonjogát.

Tehát ott állunk a posta ablakánál, és kínos zsákutcába érünk. A csekk még mindig a zsebében van, nálam az aláírt nyomtatvány. Néhány órája találkoztunk, és nincs okunk bízni egymásban. Előbb beadom az űrlapot, aztán remélem, hogy megadja a csekket, nem pedig elszökni? Vagy odaadja a csekket, aztán remélem, hogy megadom az űrlapot? Akárhogy is, valaki az árulás veszélyének teszi ki magát.

Aztán eszembe jutott, hogy abba kellene hagynom az aggódást, és egyszerűen be kellene adnom a nyomtatványt. Miért? Mert ezután két dolog közül az egyik megtörténhet. Vagy a vevő a kezembe adja a csekket, ilyenkor mindenki elégedett és kész a csere. De mi van, ha inkább elmenekül? Ebben az esetben a postahivatalnok meglátja, és feltépi a nyomtatványt, amit most adtam neki. Bingo, van egy biztonságos csere.

Láttad, mi történt ott? A dilemmánkat egy közvetítő, jelen esetben a postahivatalnok igénybevételével oldottuk meg. Az ügyintéző gondoskodik arról, hogy vagy tisztességes ügylet történjen, vagy egyáltalán ne legyen tranzakció. És nem akármilyen közvetítő nyújthatja ezt a szolgáltatást. Olyan valakinek kell lennie, akiben mindkét fél megbízik. Egy állami tulajdonú posta alkalmazottja esetében ez a kormányba vetett bizalmunkból fakad. Ha a postahivatalnokokat meg lehetne vesztegetni, akkor akár én, akár a vevő olyan helyzetet alakíthatnánk ki, hogy készpénzzel és autóval is rendelkezünk. Valóban, be sok ország, az ehhez hasonló korrupció óriási mértékben elszívhatja a jólétet.

A barlanglakók és az autók egy dolog, de helyezzük a hangsúlyt a pénzügyi világra, amelyben a kereskedés fontos szerepet játszik. központi szerepet. Természetesen a bankok nem azért fizetnek az alkalmazottaiknak, hogy valaki más részvényeivel meneküljenek. A pénzügyi eszközök biztonságos cseréje azonban továbbra is fontos probléma, mert vannak kevésbé karikatúraszerű módok, amikor a tranzakció résztvevői nem tudják betartani ígéretüket. Például az egyik fél fizetésképtelenné válhat, vagy a piaci feltételek hirtelen megváltozása megakadályozhatja, hogy biztosítsanak egy eszközt. Szenvedhetnek elírási hibáktól vagy az egy számviteli csalás egy másik partnernél.

Ezek eredményeként "elszámolási kockázatok”, a legtöbb pénzügyi tranzakció kiegyenlítése felhasználásával történik szállítás versus fizetés (DvP). Ez csak egy divatos kifejezés a fent leírt postahivatali folyamatra. A DvP biztosítja, hogy ha a tranzakcióban részt vevő egyik fél nem teljesíti, amit ígért, a másik fél megtarthatja a cserébe felajánlott eszközt.

És hogyan valósul meg a kézbesítés a fizetéssel szemben a pénzügyek világában? Kitaláltad, megbízható közvetítőkön keresztül. Ezek lehetnek más bankok, elszámolóházak vagy központi értéktárak. Mivel manapság a legtöbb kereskedés digitálisan történik, ez nem a fizikai tanúsítványok vagy készpénz átutalásának kezeléséről szól. A DvP-t inkább úgy érik el, hogy a közvetítő egyidejűleg frissít számos rekordot az adatbázisában, és/vagy utasításokat továbbít más intézményeknek.

Szállítás versus fizetés blokkláncon keresztül

Az adatbázisokról beszélve szépen eljutunk a blokkláncok témájához. A blokklánc lehetővé teszi egy főkönyv vagy adatbázis megosztását és szinkronizálását számos fél között. A hagyományos adatbázisokkal ellentétben azonban a blokklánc adatbázisokat több felhasználó is biztonságosan és közvetlenül módosíthatja, még akkor is, ha éles versenyben állnak egymással. Ha vállalati informatikai területen dolgozik, érdemes átgondolnia ennek a mondatnak a következményeit.

Ahhoz, hogy megértsük, hogyan működik a szállítás a fizetéssel szemben a blokkláncon, először a bitcoin tranzakciós modelljének megértésével kell kezdenünk. Itt meg kell jegyezni, hogy más blokklánc-tervek más modellt használnak a tranzakciókhoz, és ezekről a különbségekről a későbbiekben bővebben fogunk beszélni.

A bitcoin-tranzakciónak bemenetei és kimenetei vannak. Minden bemenet egy korábbi tranzakció egy kimenetéhez csatlakozik, és az előző kimenetből származó összes bitcoin befolyik. A tranzakció bemeneteiben lévő bitcoin ezután újraelosztásra kerül a kimenetei között a benne írt mennyiségek szerint. Ezenkívül minden tranzakció kimenet tartalmazza az új tulajdonos nyilvános azonosítóját, amelyhez a tulajdonos rendelkezik egy megfelelő titkos kulccsal. A bitcoin tranzakció csak akkor érvényes, ha:

  • A tranzakció bemeneteiben lévő bitcoin teljes mennyisége nagyobb vagy egyenlő a kimeneteibe írt mennyiséggel. Az esetleges különbözetet a „bányász” díjként szedi be, aki blokkban visszaigazolja a tranzakciót, létrehozva egy piaci mechanizmust, amellyel a tranzakciók licitálni tudnak a megerősítésre.
  • A tranzakciót minden korábbi kimenet tulajdonosa jóváhagyja, amelyet az adott tranzakció „költ”. Ez a jóváhagyás az új tranzakció tartalmának kriptográfiai aláírásával fejeződik ki. Egy korábbi kimenet aláírása csak a nyilvános azonosítójával megegyező privát kulccsal hozható létre.

Mindkét szabály kulcsfontosságú egy olyan pénzügyi főkönyvben, amelyet nem bízó felek osztanak meg. Az első nélkül bárki létrehozhatna bitcoint a semmiből. A második nélkül pedig mindenki elkölthetné mindenki más bitcoinját. De szükségünk van egy harmadik szabályra is, amelyet globálisan kényszerítenek ki, nem pedig az egyes tranzakciókon belül:

  • Minden tranzakció kimenet csak egy következő tranzakcióhoz használható fel. Ez megakadályozza az úgynevezett támadást kettős kiadások amelyekben ugyanazokat a bitcoinokat több címzettnek küldik el.

A szabály érvényesítése érdekében a blokklánc kronológiai naplót tartalmaz az egymással nem ütköző érvényes tranzakciókról, és ezt a naplót a hálózat minden csomópontja függetlenül ellenőrzi.

A bitcoin tranzakciós modell könnyen kiterjeszthető bármilyen pénzügyi eszközre. A bitcoinokat tartalmazó tranzakciókimenet helyett eszközazonosítót és mennyiséget tartalmazhat. A bitcoin-tranzakciókra vonatkozó összes szabály továbbra is érvényben van, megakadályozva, hogy a résztvevők (a) légből kapott eszközöket hozzanak létre, (b) mások vagyonát költsék el, és (c) ugyanazt az eszközt kétszer költsék el. A nem kriptovaluta eszközök esetében hajlamosak vagyunk ragaszkodni ahhoz, hogy a bemeneti és kimeneti mennyiségek pontosan egyensúlyban legyenek, ahelyett, hogy a bányászoknak megengednénk a különbség beszedését.

Tehát hogyan hozhatunk létre biztonságos szállítást fizetéssel szembeni tranzakciót ezzel a modellel? Tegyük fel, hogy Alice és Bob megállapodott abban, hogy Alice 10 fontját Bob 15 dollárjára cserélik. A kényelem kedvéért feltételezzük, hogy Alice-nek már pontosan 10 fontja van egyetlen tranzakció kimenetében, és Bobnak szintén 15 dollárja van. (Ha nem ez a helyzet, könnyen átcsoportosíthatják pénzeszközeiket, hogy így legyen.)

Kezdetben bármelyik fél létrehoz egy tranzakciót két bemenettel és két kimenettel. A két bemenet elkölti az előző kimeneteket, amelyek Alice £ 10-ét, illetve Bob 15 dollárját tartalmazzák. Ami a kimeneteket illeti, az első tartalmazza Alice azonosítóját és 15 dollárt, a második pedig Bob-é, amely 10 fontot tartalmaz. Mivel az input és output mennyiségek mindkét devizában egyensúlyban vannak, tranzakciónk teljesíti a fenti első feltételt. A második teljesítéséhez Alice-nek és Bobnak is alá kell írnia a tranzakciót, mivel az mindegyikükhöz tartozó korábbi kimeneteket elkölti.

A tranzakció most már lezárható a blokkláncba való beillesztéssel, de még mérlegelnünk kell a dupla költés problémáját. Mi van, ha Alice ellentmondó tranzakciót hozott létre ugyanazzal a 10 GBP-vel egy másik féllel, aki jobb ajánlatot ajánlott neki? Itt a harmadik szabály lép életbe, melyben a blokklánc biztosítja, hogy minden kimenetet csak egyszer lehessen elkölteni. Ha a versengő tranzakciót azután továbbítják, hogy Alice és Bob cseréje a blokkláncon van, akkor egyszerűen nem erősítik meg. És ha a versengő tranzakciót először erősítik meg, Alice Bob-bal folytatott eszmecseréje meghiúsul. Akárhogy is, a blokklánc biztosítja a szállítást a fizetéssel szemben Alice és Bob cseréjére, valamint minden másra. Ha Bob nem kapja meg Alice 10 fontját, akkor Alice nem kapja meg a 15 dollárját.

A részleges tranzakciók ereje

Tehát a blokkláncok lehetőséget adnak arra, hogy két fél összejöjjön, felállítsanak és aláírjanak egy cseretranzakciót, és biztosítsák, hogy az összességében sikeres vagy kudarc legyen. Ez lehetővé teszi a kézbesítést a fizetéssel szemben egy megosztott főkönyvben, anélkül, hogy megbízható közvetítőre lenne szüksége a folyamat kezeléséhez. A blokkokban történő tranzakciókat megerősítő bányászoknak még van némi hatalmuk, de ez sokkal kisebb, mint egy hagyományos közvetítő. A legrosszabb, amit tehetnek, ha megtagadják egy adott tranzakció megerősítését egészében, és ez nem sérti a DvP-t. Továbbá, ha a bányászatot megosztják a tranzakciót ténylegesen létrehozó felek, ez a kockázat teljesen megszűnik, hiszen mindenki lehetőséget kap a saját megerősítésére.

Eddig jó. A bitcoin stílusú blokkláncoknak azonban több trükkje is van. Emlékezzünk vissza, hogy a tranzakciót minden korábbi kimenet tulajdonosának alá kell írnia, amelyet a tranzakció elkölt. Alapértelmezés szerint ez az aláírás zárolja a tranzakción belüli bemenetek és kimenetek teljes listáját. A kriptográfia biztosítja, hogy egy bemeneten vagy kimeneten a legkisebb módosítás érvénytelenné tegye az aláírást. A fenti példát követve, ha Bobot Carol helyére cserélnék, miután Alice aláírta a tranzakciót, akkor a tranzakció teljesen meghiúsulna.

De mi van akkor, ha Alice-t nem érdekli, hogy kivel folytatja a cserét? A legtöbb célra miért érdekelné? Hacsak Alice nem szándékozik kifejezetten Bobbal dolgozni, a tranzakciónak csak két része érinti igazán. Először is, az a tény, hogy a 10 GBP-ot elköltik, nem pedig más mennyiséget vagy eszközt. Másodszor, hogy cserébe 15 dollárt kap egy új eredményként. Amíg az összes pénz tiszta a rendszerben, Alice-t nem igazán bánja, honnan származik ez a 15 dollár, vagy mi más történhet, ami megkönnyítheti a cseréjét.

Talán egyetlen buli jön 15 dollárral, és egyenesen Alice 10 fontjára cseréli. De lehet, hogy Bob és Carol csak 7.50 dollárt akar kicserélni. Ebben az esetben két inputot adnának a tranzakcióhoz, valamint két kimenetet, amelyek mindegyike 5 GBP-t gyűjtene. Vagy talán Carol valójában 15 dollárt akar 950 rubelre váltani, míg Sasha Moszkvában 950 rubel, és 10 fontot keres. Ebben az esetben egy 3 irányú csere valósulhat meg, amelyben mindkét fél továbbra is csak a saját kirakós darabjával törődik. Az Alice által elindított tranzakció végtelen számú különböző módon hajtható végre. De Alice szemszögéből ezek mind ugyanazt a célt érik el, hogy 15 dollárt adnak neki 10 fontért cserébe, és mindegyik egyformán boldoggá teszi.

Csere-forgatókönyvek

Hogyan segíti ezt elő a blokklánc? Részleges tranzakciókon és részleges aláírásokon keresztül. Alice egyetlen bemenettel (10 GBP) és egyetlen kimenettel (15 USD) indít tranzakciót. A tranzakció ezen részeit digitális aláírással zárolja, amely kimondja, hogy tetszőleges számú egyéb bemenet vagy kimenet hozzáadható. Átadja ezt a részleges tranzakciót Bobnak, és azt mondja: „Nézd meg, mit tehetsz”. Talán átadja Carolnak is, és bármennyi más lehetséges partnernek vagy szindikátusépítőnek. Ezek mindegyike hozzáadhatja a saját bemeneti és kimeneti párjait, akár a csere kiegyenlítésére, akár egy nagyobb részleges tranzakció létrehozására, amelyet újra át lehet adni. Bárki bármit is tesz, a tranzakciót csak akkor lehet végrehajtani (azaz a blokkláncon történő megerősítéssel elszámolni), ha a bemeneti és kimeneti eszközök egyensúlyban vannak.

A blokklánc-tranzakció csak egy darab digitális adat, így ezek a részleges tranzakciók elküldhetők e-mailben vagy bármilyen más kommunikációs médiumon. Akár nyilvánosan is közzétehetők, mert az esetleges tranzakció résztvevői ezt tudják a blokklánc gondoskodik róluk. Alice aláírása biztosítja, hogy csak 10 fontot fog elkölteni, ha valaki 15 dollárt ad neki cserébe.

Végül, ha Alice úgy dönt, hogy letiltja az ajánlatot, csak annyit kell tennie, hogy ugyanazt a 10 GBP-t egy másik tranzakcióra költi, legegyszerűbben úgy, hogy visszaküldi magának. Mivel a blokklánc nem teszi lehetővé, hogy ugyanazt a kimenetet kétszer költsék el, ezért a meglévő részleges tranzakció értéktelenné válik. A blokklánc többi résztvevője látni fogja ezt, és nem vesztegeti az idejét a csere befejezésére.

A DvP-től az intelligens szerződésekig

Mint nekem van érvelt korábban, a bitcoin stílusú blokklánc a szinkronizálás és a biztonság kezelésének egyik módja egy megosztott relációs adatbázisban. Mind a bitcoin-, mind az adatbázis-tranzakciókat atomosan kezelik, ami azt jelenti, hogy összességében sikeresek vagy kudarcot vallanak. Az analógia kulcsa a blokklánc tranzakció kimenete és az adatbázisban lévő sor közötti egyenértékűség. Az a blokklánc-tranzakció, amely bizonyos kimeneteket költ, és másokat hoz létre, ugyanaz, mint egy adatbázis-tranzakció, amely töröl néhány sort, és helyette másokat hoz létre. (Egy meglévő sort módosító adatbázis-művelet egyenértékű a sor törlésével és egy új frissített létrehozásával a helyén. Ez az egyenértékűség a népszerű MVCC Az adatbázisok párhuzamossági ellenőrzésének módszere, amelyből a bitcoin típusú blokkláncok elosztott formának tekinthetők.)

Képzeljük el tehát, hogy pénzügyi adataink egy adatbázisban vannak, amelyben minden sor három információt tartalmaz: a tulajdonos azonosítóját, egy eszközazonosítót és egy eszközmennyiséget. A blokklánc lehetővé teszi ennek a főkönyvnek a biztonságos megosztását a résztvevők között, még akkor is, ha egyáltalán nem bíznak egymásban. Az adatbázisok nyelvén ez biztosítja, hogy:

  • A tranzakció által törölt sorokban lévő eszközmennyiségek megegyeznek az általa létrehozott sorokban lévőkkel.
  • Minden tranzakció által törölt (vagy módosított) sor esetén a tranzakciót alá kell írnia a sor tulajdonosának.
  • Ha egy adatbázissort egy tranzakció törölt, ez megakadályozza, hogy egy másik tranzakció ismét törölje azt.

Nézzük az első szabályt, nevezetesen, hogy a tranzakcióknak meg kell őrizniük az eszközmennyiséget. Ezt kiterjeszthetjük a „tranzakciós kényszer” általános fogalmára. A tranzakciós megszorítás fekete doboz formájában jelenik meg, amely minden tranzakcióhoz két sorkészletet lát: (a) a tranzakció által törölt sorokat, (b) az általa létrehozott sorokat. A fekete doboz feladata, hogy megnézze ezt a két halmazt, és „igen” vagy „nem” választ adjon arra vonatkozóan, hogy a tranzakció érvényes-e. Konkrét esetünkben csak akkor válaszol igennel, ha a teljes eszközmennyiség mindkét halmazban pontosan megegyezik.

Amint lehetőségünk van a tranzakciós megszorítások alkalmazására, kibővíthetők bármilyen szabálykészletre. Néhány példa lehet: „ebből az eszközből egy egység csak akkor hozható létre, ha ez a három másik eszköz egyidejűleg letétbe van zárva”, vagy „ez az eszköz csak akkor vihető át, ha egy megfelelő sor nem elegendő esőt jelez”. A blokklánc elosztott architektúrája szempontjából a dobozon belüli logika nem számít, mindaddig, amíg határozott és következetes értékelést tud adni minden általa látott tranzakcióról.

Ennek eredményeként a tranzakciós megszorítások általános módszerként szolgálhatnak a blokklánc résztvevői által végrehajtható adatátalakítások korlátozására. Az „intelligens szerződések” ezen megközelítése alternatívát kínál a tárolt eljárások használt Ethereum és Eris derivált. Egy következő darabban mélyebben belemerülünk e két paradigma előnyeibe és hátrányaiba, az egyszerűség, a skálázhatóság és az egyidejűség szempontjából.

Tudod kövess a Twitteren itt. Lásd még: A bitcoin vs blockchain vita lezárása.

Műszaki kiegészítés

Részleges DvP-tranzakciók létrehozásához használja a aláírás típusa of SINGLE|ANYONECANPAY. Ha használja MultiChain, a preparelockunspent, createrawexchange és a appendrawexchange API-hívások gondoskodjon a részletekről. Lásd a Elkezdeni oldalon talál egy egyszerű példát a használatukra.

Kérjük, tegye meg észrevételeit a LinkedIn.

Source: https://www.multichain.com/blog/2015/09/delivery-versus-payment-blockchain/

Időbélyeg:

Még több többláncos