Lieferung gegen Zahlung auf einer Blockchain PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Lieferung versus Zahlung in einer Blockchain

Wie Blockchains das älteste Problem im Buch lösen können

Der Handel zwischen Menschen ist so alt wie die Menschheit. Es begann in dem Moment, als Höhlenmensch Ogg zu Höhlenmensch Ugg sagte: „Ich gebe dir Stein, du gibst mir Beeren“. Der Handel bringt jedoch ein grundlegendes Problem mit sich: Er erfordert Vertrauens. Was Ogg davon abhält, den Stein zu benutzen, um Ugg zu schlagen und dann beide Steine ​​zu greifen und Beeren vor der Flucht? Wie übersetzen wir eine mündliche Austauschvereinbarung in einen Durchsetzungsmechanismus, der sicherstellt, dass beide Seiten ihr Wort halten?

Um ein modernes Beispiel zu nennen: Vor einigen Jahren habe ich ein Auto auf dem Gebrauchtmarkt verkauft. Ich habe über das Internet einen Käufer gefunden, wir haben uns persönlich getroffen, er hat das Auto testen lassen und wir haben uns auf einen Preis geeinigt. Also ging er zu seiner Bank, um einen Bankscheck zu bekommen, der praktisch kompakter in bar ist. Wir gingen zusammen zu einem Postamt, wo ich ein offizielles Regierungsformular unterschreiben und einreichen kann, das das rechtliche Eigentum an dem Auto überträgt.

Da stehen wir also am Postfenster und erreichen eine unangenehme Sackgasse. Der Scheck ist noch in seiner Tasche und ich halte das unterschriebene Formular. Wir haben uns vor ein paar Stunden getroffen und haben keinen Grund, uns gegenseitig zu vertrauen. Gebe ich zuerst das Formular ab und hoffe dann, dass er mir den Scheck gibt, anstatt wegzulaufen? Oder gibt er mir den Scheck und hofft dann, dass ich ihn in der Form gebe? In jedem Fall setzt sich jemand dem Risiko des Verrats aus.

Und dann wurde mir klar, dass ich aufhören sollte, mir Sorgen zu machen, und einfach das Formular abgeben sollte. Warum? Weil eines von zwei Dingen als nächstes passieren könnte. Entweder gibt mir der Käufer den Scheck. In diesem Fall sind alle zufrieden und der Umtausch ist abgeschlossen. Aber was ist, wenn er stattdessen wegläuft? In diesem Fall wird der Postbeamte das Formular sehen und zerreißen, das ich ihm gerade gegeben habe. Bingo, wir haben uns einen sicheren Austausch.

Hast du gesehen, was dort passiert ist? Unser Dilemma wurde durch den Einsatz eines Vermittlers gelöst, in diesem Fall des Postbeamten. Der Sachbearbeiter stellt sicher, dass entweder eine faire Transaktion stattfindet oder überhaupt keine Transaktion. Und nicht jeder Vermittler kann diesen Service anbieten. Es muss jemand sein, dem beide Parteien vertrauen. Bei einem Mitarbeiter eines staatlichen Postamtes ist dies auf unser Vertrauen in die Regierung selbst zurückzuführen. Wenn Postangestellte bestochen werden könnten, könnten entweder ich oder der Käufer eine Situation entwickeln, in der wir sowohl Bargeld als auch Auto haben. In der Tat in viele LänderKorruption wie diese kann den Wohlstand enorm belasten.

Höhlenmenschen und Autos sind eine Sache, aber lasst uns unseren Fokus auf die Finanzwelt verlagern, in der der Handel eine Rolle spielt zentrale Rolle. Natürlich bezahlen Banken ihre Mitarbeiter nicht dafür, dass sie mit den Aktien eines anderen davonlaufen. Der sichere Austausch von finanziellen Vermögenswerten bleibt jedoch ein wichtiges Problem, da es weniger karikaturistische Möglichkeiten gibt, wie Teilnehmer an einer Transaktion ihr Versprechen nicht einhalten können. Beispielsweise könnte eine Partei zahlungsunfähig werden oder eine plötzliche Änderung der Marktbedingungen könnte sie daran hindern, einen Vermögenswert zu sichern. Sie können unter Schreibfehlern oder unter den Folgen eines Buchhaltungsbetrug bei einer anderen Gegenpartei.

Als Ergebnis dieser „Abwicklungsrisiken”Werden die meisten Finanztransaktionen mit abgewickelt Lieferung versus Zahlung (DvP). Dies ist nur ein ausgefallener Begriff für den oben beschriebenen Postprozess. DvP stellt sicher, dass die andere Partei den von ihnen angebotenen Vermögenswert im Austausch behalten kann, wenn eine Partei einer Transaktion nicht hält, was versprochen wurde.

Und wie wird Lieferung versus Zahlung in der Finanzwelt umgesetzt? Sie haben es über vertrauenswürdige Vermittler erraten. Dies können andere Banken, Clearinghäuser oder sein Zentralverwahrer. Da die meisten heutigen Geschäfte digital abgewickelt werden, geht es hier nicht darum, die Übertragung von physischen Zertifikaten oder Bargeld zu verwalten. DvP wird vielmehr dadurch erreicht, dass der Vermittler gleichzeitig eine Reihe von Datensätzen in seiner Datenbank aktualisiert und / oder Anweisungen an andere Institutionen übermittelt.

Lieferung versus Zahlung per Blockchain

Wenn wir über Datenbanken sprechen, kommen wir ordentlich zum Thema Blockchains. Eine Blockchain ermöglicht die gemeinsame Nutzung und Synchronisierung eines Ledgers oder einer Datenbank zwischen mehreren Parteien. Im Gegensatz zu regulären Datenbanken können Blockchain-Datenbanken jedoch von mehreren Benutzern sicher und direkt geändert werden, selbst wenn sie in starkem Wettbewerb miteinander stehen. Wenn Sie in der Unternehmens-IT arbeiten, sollten Sie über die Auswirkungen dieses Satzes nachdenken.

Um zu verstehen, wie Lieferung und Zahlung in einer Blockchain funktionieren, müssen wir zunächst das Transaktionsmodell von Bitcoin verstehen. Es sollte hier angemerkt werden, dass andere Blockchain-Designs ein anderes Modell für Transaktionen verwenden, und wir werden später mehr über diese Unterschiede sprechen.

Eine Bitcoin-Transaktion hat eine Reihe von Ein- und Ausgängen. Jeder Eingang ist mit einem Ausgang einer vorherigen Transaktion verbunden, wobei das gesamte Bitcoin aus dem vorherigen Ausgang einfließt. Das Bitcoin in den Eingängen einer Transaktion wird dann entsprechend den darin geschriebenen Mengen auf seine Ausgänge verteilt. Darüber hinaus enthält jede Transaktionsausgabe die öffentliche Kennung ihres neuen Eigentümers, für die der Eigentümer einen entsprechenden privaten Schlüssel besitzt. Eine Bitcoin-Transaktion ist nur gültig, wenn:

  • Die Gesamtmenge an Bitcoin in den Eingaben der Transaktion ist größer oder gleich der in den Ausgaben geschriebenen Menge. Jede Differenz wird vom „Bergmann“ als Gebühr erhoben, der die Transaktion in einem Block bestätigt und so einen Marktmechanismus schafft, mit dem Transaktionen zur Bestätigung bieten können.
  • Die Transaktion wird von den Eigentümern jeder vorherigen Ausgabe genehmigt, die diese Transaktion „ausgibt“. Diese Genehmigung wird über eine kryptografische Signatur des Inhalts der neuen Transaktion ausgedrückt. Die Signatur für eine vorherige Ausgabe kann nur mit dem privaten Schlüssel erstellt werden, der mit seiner öffentlichen Kennung übereinstimmt.

Beide Regeln sind für ein Finanzbuch von entscheidender Bedeutung, das von nicht vertrauenswürdigen Parteien geteilt wird. Ohne die erste könnte jeder Bitcoins aus der Luft schaffen. Und ohne die Sekunde könnte jeder die Bitcoins aller anderen ausgeben. Wir brauchen aber auch eine dritte Regel, die global und nicht innerhalb einzelner Transaktionen durchgesetzt wird:

  • Jede Transaktionsausgabe kann nur von einer nachfolgenden Transaktion verwendet werden. Dies verhindert einen Angriff, der als bekannt ist doppelte Ausgaben in denen die gleichen Bitcoins an mehr als einen Empfänger gesendet werden.

Um diese Regel durchzusetzen, enthält die Blockchain ein chronologisches Protokoll gültiger Transaktionen, die nicht miteinander in Konflikt stehen. Dieses Protokoll wird von jedem Knoten im Netzwerk unabhängig überprüft.

Das Bitcoin-Transaktionsmodell kann problemlos erweitert werden, um jeden finanziellen Vermögenswert darzustellen. Anstelle einer Transaktionsausgabe, die Bitcoins enthält, kann sie eine Asset-ID und eine Menge enthalten. Es gelten weiterhin alle Regeln für Bitcoin-Transaktionen, die verhindern, dass die Teilnehmer (a) Vermögenswerte aus dem Nichts erstellen, (b) Vermögenswerte anderer Personen ausgeben und (c) denselben Vermögenswert zweimal ausgeben. Bei Assets ohne Kryptowährung bestehen wir eher darauf, dass die Eingabe- und Ausgabemengen genau ausgeglichen sind, anstatt es den Bergleuten zu ermöglichen, die Differenz zu erfassen.

Wie erstellen wir mit diesem Modell eine sichere Lieferung im Vergleich zum Zahlungsverkehr? Nehmen wir an, Alice und Bob haben vereinbart, Alices 10 Pfund gegen Bobs 15 Dollar einzutauschen. Der Einfachheit halber gehen wir davon aus, dass Alice bereits genau 10 Pfund in einer einzigen Transaktionsausgabe hat und Bob ebenfalls 15 Dollar. (Wenn dies nicht der Fall ist, können sie ihre Gelder leicht verschieben, um dies zu erreichen.)

Zunächst erstellt jede Partei eine Transaktion mit zwei Eingaben und zwei Ausgaben. Die beiden Eingänge geben die vorherigen Ausgaben aus, die Alice's £ 10 bzw. Bob's $ 15 enthalten. Was die Ausgänge betrifft, enthält der erste Alice's Identifier und $ 15, und der zweite geht an Bob mit £ 10. Da die Eingangs- und Ausgangsmengen in beiden Währungen ausgeglichen sind, erfüllt unsere Transaktion die oben genannte erste Bedingung. Um die zweite zu erfüllen, müssen sowohl Alice als auch Bob die Transaktion jetzt signieren, da sie frühere Ausgaben ausgibt, die zu jeder von ihnen gehören.

Die Transaktion kann jetzt abgeschlossen werden, indem sie in die Blockchain aufgenommen wird. Wir müssen jedoch noch das Problem der doppelten Ausgaben berücksichtigen. Was wäre, wenn Alice eine widersprüchliche Transaktion erstellt hätte, bei der dieselben 10 Pfund mit einer anderen Gegenpartei ausgetauscht wurden, die ihr ein besseres Angebot gemacht hat? Hier kommt die dritte Regel ins Spiel, bei der die Blockchain sicherstellt, dass jede Ausgabe nur einmal ausgegeben werden kann. Wenn die konkurrierende Transaktion übertragen wird, nachdem sich Alices Austausch mit Bob in der Blockchain befindet, wird sie einfach nicht bestätigt. Und wenn die konkurrierende Transaktion zuerst bestätigt wurde, schlägt der Austausch von Alice mit Bob stattdessen fehl. In jedem Fall gewährleistet die Blockchain die Lieferung im Vergleich zur Zahlung für den Austausch von Alice und Bob sowie für alle anderen. Wenn Bob Alices 10 Pfund nicht bekommt, bekommt Alice seine 15 Dollar nicht.

Die Macht der Teiltransaktionen

Blockchains bieten uns also die Möglichkeit, dass zwei Parteien zusammenkommen, eine Austauschtransaktion erstellen und unterzeichnen und sicherstellen, dass sie insgesamt erfolgreich ist oder fehlschlägt. Dies ermöglicht die Zustellung im Vergleich zur Zahlung in einem gemeinsam genutzten Hauptbuch, ohne dass ein vertrauenswürdiger Vermittler für die Verwaltung des Prozesses erforderlich ist. Die Bergleute, die Transaktionen in Blöcken bestätigen, haben immer noch eine gewisse Macht, aber es ist viel weniger als ein traditioneller Vermittler. Das Schlimmste, was sie tun können, ist, die Bestätigung einer bestimmten Transaktion zu verweigern in seiner Gänze, und dies verstößt nicht gegen DvP. Wenn das Mining zwischen den Parteien aufgeteilt wird, die die Transaktionen tatsächlich erstellen, entfällt dieses Risiko vollständig, da jeder die Möglichkeit hat, seine eigenen zu bestätigen.

So weit, ist es gut. Aber Blockchains im Bitcoin-Stil haben noch mehr Tricks im Ärmel. Denken Sie daran, dass eine Transaktion vom Eigentümer jeder vorherigen Ausgabe, die diese Transaktion ausgibt, signiert werden muss. Standardmäßig sperrt diese Signatur die vollständige Liste der Ein- und Ausgänge innerhalb der Transaktion. Die Kryptographie stellt sicher, dass die Signatur durch die geringste Änderung an einer Eingabe oder Ausgabe ungültig wird. Um dem obigen Beispiel zu folgen, würde die Transaktion vollständig fehlschlagen, wenn Bob Carol ersetzen würde, nachdem Alice die Transaktion unterzeichnet hatte.

Aber was ist, wenn es Alice egal ist, mit wem sie den Austausch durchführt? Für die meisten Zwecke warum sollte es sie interessieren? Sofern Alice nicht entschlossen ist, speziell mit Bob zusammenzuarbeiten, gibt es nur zwei Teile der Transaktion, die sie wirklich betreffen. Erstens die Tatsache, dass ihre 10-Pfund-Produktion ausgegeben wird, anstatt eine andere Menge oder einen anderen Vermögenswert. Zweitens, dass sie dafür 15 US-Dollar für eine neue Ausgabe erhält. Solange das gesamte Geld im System sauber ist, macht es Alice nichts aus, woher diese 15 Dollar kommen oder was sonst noch passieren könnte, um ihren Austausch zu erleichtern.

Vielleicht kommt eine einzelne Partei mit 15 Dollar und führt einen direkten Tausch gegen Alices 10 Pfund durch. Aber vielleicht wollen Bob und Carol nur jeweils 7.50 Dollar umtauschen. In diesem Fall würden sie der Transaktion zwei Eingaben hinzufügen, zusammen mit zwei Ausgaben, die jeweils 5 GBP sammeln. Oder vielleicht möchte Carol tatsächlich 15 Dollar gegen 950 Rubel eintauschen, während Sasha in Moskau 950 Rubel hat und nach 10 Pfund sucht. In diesem Fall kann ein 3-Wege-Austausch stattfinden, bei dem sich jede Partei immer noch nur um ihr eigenes Puzzleteil kümmert. Die Transaktion, die Alice gestartet hat, kann auf unendlich viele verschiedene Arten abgeschlossen werden. Aber aus Alices Sicht erreichen alle den gleichen Zweck, ihr 15 Dollar gegen 10 Pfund zu geben, und sie alle machen sie gleichermaßen glücklich.

Austauschszenarien

Wie erleichtert eine Blockchain dies? Durch Teiltransaktionen und Teilunterschriften. Alice startet eine Transaktion mit einer einzelnen Eingabe (10 GBP) und einer einzelnen Ausgabe (15 USD für sie). Sie sperrt diese Teile der Transaktion mit einer digitalen Signatur, die besagt, dass eine beliebige Anzahl anderer Ein- oder Ausgänge hinzugefügt werden kann. Sie übergibt diese Teiltransaktion an Bob und sagt: "Sehen Sie, was Sie tun können." Vielleicht gibt sie es auch Carol und einer beliebigen Anzahl anderer potenzieller Gegenparteien oder Konsortialbauer. Jedes von diesen kann seine eigenen Paare von Ein- und Ausgängen hinzufügen, entweder um den Austausch auszugleichen oder um eine größere Teiltransaktion zu erstellen, die erneut weitergegeben werden kann. Unabhängig davon, was jemand tut, kann die Transaktion nur ausgeführt werden (dh durch Bestätigung in der Blockchain abgewickelt werden), sobald die Eingabe- und Ausgabewerte ausgeglichen sind.

Eine Blockchain-Transaktion ist nur ein Teil der digitalen Daten, sodass diese Teiltransaktionen per E-Mail oder über ein anderes Kommunikationsmedium gesendet werden können. Sie können sogar öffentlich veröffentlicht werden, da die Teilnehmer an der potenziellen Transaktion dies wissen Die Blockchain wird sich um sie kümmern. Alices Unterschrift stellt sicher, dass sie nur 10 Pfund ausgeben wird, wenn jemand ihr 15 Dollar dafür gibt.

Wenn Alice das Angebot deaktivieren möchte, muss sie nur die gleichen 10 Pfund für eine andere Transaktion ausgeben, indem sie es einfach an sich selbst zurücksendet. Da die Blockchain nicht zulässt, dass dieselbe Ausgabe zweimal ausgegeben wird, ist ihre vorhandene Teiltransaktion wertlos. Alle anderen Teilnehmer in der Blockchain werden dies sehen und keine Zeit mehr damit verschwenden, den Austausch abzuschließen.

Von DvP zu intelligenten Verträgen

Da ich zuvor argumentiertEine Blockchain im Bitcoin-Stil kann als eine Möglichkeit zum Verwalten von Synchronisation und Sicherheit in einer gemeinsam genutzten relationalen Datenbank angesehen werden. Sowohl Bitcoin- als auch Datenbanktransaktionen werden atomar behandelt, was bedeutet, dass sie insgesamt erfolgreich sind oder fehlschlagen. Der Schlüssel zur Analogie ist die Äquivalenz zwischen einer Transaktionsausgabe in einer Blockchain und einer Zeile in der Datenbank. Eine Blockchain-Transaktion, die einige Ausgaben ausgibt und andere erstellt, entspricht einer Datenbanktransaktion, bei der einige Zeilen gelöscht und stattdessen andere erstellt werden. (Eine Datenbankoperation, die eine vorhandene Zeile ändert, entspricht dem Löschen dieser Zeile und dem Erstellen einer neuen aktualisierten Zeile an ihrer Stelle. Diese Äquivalenz liegt der populären zugrunde MVCC Methode zur Parallelitätskontrolle in Datenbanken, von denen Blockchains im Bitcoin-Stil als verteilte Form angesehen werden können.)

Stellen wir uns also vor, unsere Finanzdaten werden in einer Datenbank gespeichert, in der jede Zeile drei Informationen enthält: die Kennung des Eigentümers, eine Kennung des Vermögens und eine Menge des Vermögens. Eine Blockchain ermöglicht es, dieses Hauptbuch sicher zwischen seinen Teilnehmern zu teilen, auch wenn sie sich überhaupt nicht vertrauen. In der Sprache der Datenbanken wird Folgendes sichergestellt:

  • Die Asset-Mengen in den von einer Transaktion gelöschten Zeilen stimmen mit denen in den von ihr erstellten Zeilen überein.
  • Für jede Zeile, die von einer Transaktion gelöscht (oder geändert) wird, muss die Transaktion vom Eigentümer dieser Zeile signiert werden.
  • Wenn eine Datenbankzeile von einer Transaktion gelöscht wurde, wird dadurch verhindert, dass eine andere Transaktion sie erneut löscht.

Schauen wir uns die erste dieser Regeln an, nämlich, dass Transaktionen die Menge der Vermögenswerte erhalten müssen. Wir können dies auf den allgemeinen Begriff einer „Transaktionsbeschränkung“ ausweiten. Eine Transaktionsbeschränkung hat die Form einer Blackbox, in der zwei Zeilensätze für jede Transaktion angezeigt werden: (a) die von der Transaktion gelöschten Zeilen, (b) die von ihr erstellten Zeilen. Die Aufgabe der Black Box ist es, diese beiden Sätze zu betrachten und mit "Ja" oder "Nein" zu antworten, ob die Transaktion gültig ist. In unserem speziellen Fall wird nur dann mit Ja geantwortet, wenn die Gesamtmenge der Vermögenswerte in beiden Sätzen genau übereinstimmt.

Sobald wir die Möglichkeit haben, Transaktionsbeschränkungen anzuwenden, können sie um beliebige Regeln erweitert werden. Einige Beispiele könnten sein: "Eine Einheit dieses Assets kann nur erstellt werden, wenn diese drei anderen Assets gleichzeitig in einem Treuhandkonto gesperrt sind" oder "Dieses Asset kann nur übertragen werden, wenn in einer entsprechenden Zeile nicht genügend Regen gemeldet wird". Aus der Perspektive der verteilten Architektur einer Blockchain macht die Logik in der Box keinen Unterschied, solange sie uns eine eindeutige und konsistente Bewertung jeder Transaktion ermöglicht, die sie sieht.

Infolgedessen können Transaktionsbeschränkungen als allgemeine Methode zum Einschränken der Datentransformationen dienen, die Blockchain-Teilnehmer ausführen können. Dieser Ansatz für „intelligente Verträge“ bietet eine Alternative zum Gespeicherte Prozeduren benutzt in Ethereum und sein Eris Derivat. In einem zukünftigen Stück werden wir uns eingehender mit den Vor- und Nachteilen dieser beiden Paradigmen in Bezug auf Einfachheit, Skalierbarkeit und Parallelität befassen.

Du kannst dich folge mir hier auf Twitter. Siehe auch: Ende der Debatte zwischen Bitcoin und Blockchain.

Technischer Nachtrag

Verwenden Sie a, um teilweise DvP-Transaktionen zu erstellen Signaturtyp of SINGLE|ANYONECANPAY. Wenn Sie verwenden Multichain, der preparelockunspent, createrawexchange und appendrawexchange API-Aufrufe kümmere dich um die Details für dich. Siehe die Erste Schritte Seite für ein einfaches Beispiel, wie sie verwendet werden können.

Bitte posten Sie Kommentare auf LinkedIn.

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

Zeitstempel:

Mehr von Multikette