Schon seit einziger Zeit ist davon die Rede, dass es auf der Cardano Blockchain möglich sein wird, andere Token genauso wie ADA transferieren zu können (ohne Smart Contracts), und die Transaktionsgebühr in diesem Token zu bezahlen. Nachdem ich gerade bei letzterem bisher nicht verstanden hatte, wie das funktionieren soll, schreibe ich mal einen kleinen Beitrag dazu.
Ziel ist es z.B. einen Stablecoin zu transferieren und die Fees in diesem Stablecoin zahlen zu können. Oder BTC zu transferieren und in BTC bezahlen zu können (Cardano als Second Layer).
Bei anderen Plattformen wie Ethereum läuft das über teure und per se fehleranfällige Smart Contracts, wobei die Fees immer im jeweiligen „Haus-Token“ wie ETH gezahlt werden müssen.
In Anlehnung an den „Babel Fish“ aus Per Anhalter durch die Galaxis, der alle Sprachen übersetzen kann, wird der Mechanismus bei Cardano als „Babel Fees“ bezeichnet.
Der Mechanismus ist aus technologischer als auch aus martkwirtschaftlicher Sicht sehr interessant. Dabei wird eine Art Exchange- bzw. Liquidityprovider-Funktionalität an die Cardano Netzwerkteilnehmer, insbesondere die Stake Pool Operators (SPOs) übertragen.
SPOs betreiben im Netzwerk die Blockproducer Nodes, von denen neue Blöcke in die Blockchain aufgenommen werden. Die SPOs bei Proof of Stake kann man also mit den Minern bei Proof of Work vergleichen.
Skizzierung der Funktionsweise:
Damit Transaktionen in die Cardano Blockchain aufgenommen werden, muss immer (!) eine durch das Protokoll festgelegte Gebühr in ADA gezahlt werden. Die Gebühr entsteht aus der Differenz (ADA-Inputs - ADA-Outputs).
Neu bei Cardano ist die Möglichkeit Transaktionen zu erstellen, die keinen ADA-Input enthalten, aber dafür einen negativen ADA-Output (Liability). Solch eine Transaktion darf allerdings nach Protokoll nicht alleinstehend in die Blockchain aufgenommen werden, sondern benötigt eine zweite Transaktion, welche die Liability übernimmt und damit die erste Transaktion erst valide macht. Das Konzept erinnert damit ganz entfernt an Child-Pays-For-Parent (CPFP) Transaktionen.
Cardano verwendet bisher wie Bitcoin ein UTXO-Modell. Mit dem Mary Hardfork wurde das Extended UTXO (EUTXO) Modell vorbereitet. Wo wir allerdings genau stehen und wie die weiteren Termine aussehen ist mir aber auch nicht klar. Etwas besonderes im EUTXO Modell wird u.a. sein, dass:
- ein einzelner UTXO nicht nur den Betrag x eines Tokens enthalten kann (z.B. nur ADA), sondern auch ein sogenanntes Token Bundle, welches gleichzeitig unterschiedliche Token enthält (z.B. BTC und ADA), und dass
- negative Tokenbeträge, sogenannte Liabilities möglich sind.
Beispiel anhand Transaktion von tokenisierten Bitcoin/Satoshis:
Wenn Alice auf der Cardano Blockchain 20.000 SAT an Bob transferieren möchte, erstellt sie beispielsweise eine Transaktion mit einem Input von 20.320 SAT und zwei Outputs (kein Change in diesem Beispiel). Ein Output sind die 20.000 SAT an Bob. Der zweite Output ist ein Token-Bundle (320 SAT, -0.16 ADA), welches 320 SAT und eine Liability von -0.16 ADA enthält. Die 320 SAT im Gegenwert der Liability von 0.16 ADA entsprechen der Gebühr, die in diesem Moment für die Transaktion berechnet wird.
Die Transaktion liegt nun als Angebot im Mempool. Im Prinzip kann jetzt jeder dritte Netzwerk-Teilnehmer eine zweite Transaktion erstellen, die den Token Bundle UTXO als Input verwendet. Gleichzeitig muss diese zweite Transaktion aber auch ADA-Input und ADA-Output enthalten, deren Differenz sowohl die Liability als auch die Transaktionsgebühr der zweiten Transaktion deckt. Außerdem transferiert der Dritte die angebotene Fremdwährung auf seine eigene Wallet. Die zweite Transaktion könnte also z.B. so aussehen:
- Input1: (320 SAT, -0.16 ADA)
- Input2: 1.00 ADA
- Output1: 0.68 ADA
- Output2: 320 SAT
Werden beide Transaktionen gemeinsam ausgeführt, hat Alice an Bob ausschließlich Bitcoin-Token versendet und bezahlt. Außerdem hat der dritte Teilnehmer zwei Transaktionsgebühren im Wert von insgesamt 0.32 ADA gezahlt, wofür er jetzt Bitcoin-Token im Wert von 320 SAT in seiner Wallet hat.
Interessant bei der Geschichte ist, dass durch die erste Transaktion bereits ein fester Wechselkurs BTC-ADA angeboten wird. Dieser kann von den anderen Teilnehmern mittels einer zweiten Transaktion angenommen, order durch Ignorieren verworfen werden.
Auf diese Art und Weise stellt sich auf der Cardano Blockchain ein freier Marktpreis ein, der sich natürlich durch Arbitrage an andere Preise anpassen wird, falls das tokenisierte Asset auch woanders gehandelt wird.
Die Cardano SPOs sind insofern im Vorteil, dass sie stets Front Running betreiben können. D.h. auch wenn andere Teilnehmer eine zweite Transaktion erstellen um den Wechsel anzunehmen, kann der Blockproducer stattdessen eine eigene Transaktion durchführen.
Die SPOs werden also in Zukunft entweder selbst eine Art DEX / Liquidity Provider Funktion übernehmen und eigene unabhängige Wechselkurse anbieten, oder sie arbeiten hier mit dritten Parteien zusammen. Die SPOs können sich aus diesen Nicht-ADA-Transaktionen aber natürlich auch komplett raushalten.
Prof. Kiayias (IOHK Chief Scientist) schreibt am Ende seines Artikels, dass man mittels dieser Funktionalität in Zukunft auch Atomic Swaps durchführen kann. Davon verstehe ich zuwenig.
Mir ist selbst auch noch nicht klar, wie ein Token-Bundle UTXOs aufgebaut ist, da dieser ja keine Empfangsadresse (PKH) eines einzelnen Teilnehmers haben kann.
Quellen von IOHK: