1. Der Empfänger gibt dem Sender eine Hash
2. Der Sender schreibt eine Transaktion, die nur funktioniert, wenn der Empfänger das Secret kennt, das zur Hash führt
3. Der Sender gibt diese Transaktion an den Hub
4. Der Hub überweist dem Empfänger der Transaktion das Geld
5. Der Empfänger gibt dem Hub das Secret
6. Der Hub bekommt sein Geld
Das ist nicht ganz falsch, aber auch nicht so richtig hilfreich. Vielleicht orientierst du dich zu sehr an den Bitcoin Transaktionen?
Versuche lieber mal die übergeordneten Vorgänge zu erfassen, das ist viel einfacher und absolut ausreichend.
Wie die Bitcoin Transaktionen aufgebaut sind ist teilweise recht kompliziert und hilft nicht wirklich weiter.
Zu jedem Vertrag werden nämlich mehrere verkettete Bitcoin Transaktionen erstellt.
Diese Transaktions-Ketten bilden aber wiederum nur die Verträge zwischen den einzelnen Handelspartnern ab.
Es reicht deswegen erstmal sich rein auf die Verträge zu konzentrieren, da die Bitcoin Transaktionen eben diese nachbilden.
Vereinfacht funktioniert es so:
Szenario:
Alice - Hub - Bob
Alice will Bob eine Zahlung über x Bitcoins senden - beide haben einen offenen Channel mit dem Hub mit genügend freier Kapazität.
Zur Absicherung der Zahlung holt sich alice einen Hash des Geheimnisses (Preimage) von Bob.
1. (Abschnitt ist noch nicht ganz korrekt, überarbeite ich bei Gelegenheit) Alice und Bob schließen einen übergeordneten Vertrag (Dieser Vertrag erzeugt also im Gegensatz zu den anderen Verträgen keine eigenen Bitcoin Transaktionen), dass Alice eine Schuld über x Bitcoins begleichen kann, unter der Voraussetzung, dass Alice es schafft Bob einen Vertrag zu vermitteln, der es wiederum Bob erlaubt das Geheimnis für x Bitcoins innerhalb von einem Tag zu verkaufen.
Anstelle der Zahlung (Lieferung von Bitcoins) tritt also ein Vertrag, der es dem Gläubiger (Zahlungsempfänger) ermöglicht auf anderem Wege die Leistung (Lieferung von Bitcoins) zu erlangen.
Die direkte Zahlung wird also durch eine Forderung auf Bitcoins an eine andere Person ersetzt.
2. Alice handelt einen Vertrag aus mit dem Hub:
Ich verpflichte mich dir x+Fee Bitcoins zu senden, wenn du mir dafür verrätst, wie das Geheimnis für diesen Hash ist.
Wenn du mir das Geheimnis innerhalb von zwei Tagen nicht sagst, dann ist der Vertrag ungültig und ich muss ich dir keine Bitcoins senden.
Alice gibt dem Hub noch eine Information, dass Bob das Geheimnis für x Bitcoins verkauft. Der Hub ist aber nicht verpflichtet das Geheimnis dort zu kaufen.
Der Hub nimmt den Vertrag von Alice an, schließlich kann er ja nur gewinnen.
3. Der Hub handelt freiwillig einen Vertrag mit Bob aus:
Ich verpflichte mich dir x Bitcoins zu senden, wenn du mir dafür verrätst, wie das Geheimnis für diesen Hash ist.
Wenn du mir das Geheimnis innerhalb von einem Tag nicht sagst, dann ist der Vertrag ungültig und ich muss ich dir keine Bitcoins senden.
Bob nimmt den Vertrag an, schließlich will er bezahlt werden.
Aber warum handelt der Hub den Vertrag mit Bob aus?
Der Hub kann Gebühren verdienen und dies ist der einzige Weg, den er kennt um an das Geheimnis zu kommen.
Das Geheimnis muss er zwar für x Bitcoins kaufen, aber er kann das Geheimnis ja für x+Fee Bitcoins weiterverkaufen, handelt also im eigenen Interesse und nicht, weil er Alice einen Gefallen tun möchte. Auch ist dem Hub aus ökonomischen Gesichtspunkten erstmal egal, ob Alice irgendwen anders bezahlen will, oder was das alles soll.
Der Hub sieht nur, dass er etwas kaufen kann, dass er zu einem höheren Preis wieder verkaufen kann.
4. Erfüllung der Verträge
Alice fragt bei Bob nach, ob er einen gültigen Vertrag hat, dass er x Bitcoins für das Geheimnis bekommt, welches zu dem Hash gehört, Bob bestätigt.
Bob verrät dem Hub das Geheimnis und erhält x Bitcoins vom Hub - Der Vertrag zwischen Bob und dem Hub ist erfüllt.
Der Hub verrät Alice das Geheimnis und erhält dafür dann die x+Fee Bitcoins - Der Vertrag zwischen dem Hub und Alice ist erfüllt.
[Alice verrät Bob das Geheimnis, damit hat Alice Bob einen Wert von x Bitcoins übereignet. Das weißt auf jeden Fall nach, dass der übergeordnete Vertrag zwischen Alice und Bob erfüllt ist.]* (Muss ich noch mal im Protokoll nachlesen, ob dieser Schritt stattfindet)
Und ganz wichtig: Es gibt keinen Kredit, da die Verträge voneinander unabhängig sind.
Bob kann, muss aber nicht dem Hub das Geheimnis verraten. Er wird das natürlich tun, damit er die x Bitcoins erhält.
Auch dem Hub steht es frei, ob er Alice das Geheimnis verrät und somit die Lieferung der Bitcoins auslöst. Auch der Hub will natürlich seine Bitcoins haben, vor allem, weil er bereits Bob bezahlen musste.
Grundsätzlich hat Alice alle Verpflichtungen gegenüber Bob erfüllt, sobald sie Bob den Vertrag vermittelt hat.
Damit Alice auf dem normalen Weg an das Geheimnis kommt müssen natürlich alle die Verträge erfüllen.
Und kurz noch zur Privatsphäre:
Tatsächlich weiß der Hub nicht, dass Bob der endgültige Zahlungsempfänger ist, weil Bob auch wieder einen Vertrag mit dem gleichen Hash hätte haben können, da Alice dem Hub nur verrät, das Bob vor ihm das Geheimnis weiß, aber nicht woher.
Nur die beiden Endpunkte wissen, wer tatsächlich die Zahlung sendet/erhält.
Die Bitcoin Transaktions-Ketten sind so gebaut, dass ein Schummeln ausgeschlossen wird. Es handelt sich um harte Versprechen. Allerdings wird dazu Segwit gebraucht, bzw. ein txid-malleability-fix.
Das Schlimmste was beim aushandeln der Verträge passieren kann ist, dass man diesen einen Tag warten muss bis alles zurück abgewickelt wird, wenn irgendjemand unkooperativ war und auch bei der Rückabwicklung bleibt.
Bei einem Scheitern kann man jedoch sofort einen neuen Versuch mit einem neuen Geheimnis versuchen, soweit die Kanäle noch genug freie Kapazität haben.
Das Schlimmste, was nach dem aushandeln der Verträge passieren kann, ist dass man nicht Off-Chain, sondern über den Umweg On-Chain die Verträge abwickeln muss.
Was die Bafin entscheidet - wer weiß
.
....
So habe es jetzt einige Male umgeschrieben.
Hoffe jetzt ist es wirklich einfach verständlich geworden und klar warum die einzelnen Teilnehmer so handeln, wie sie es tun.
Werde in nächster Zeit (2-3 Monate) leider weniger online sein.
Wenn es was wichtiges gibt -> PM an mich
Danke