Cardano Babel Fees - Transferieren und Bezahlen mit anderen Token

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:

  1. 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
  2. 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:

4 „Gefällt mir“

Ich habe mich ja schon lange gefragt ob dadurch nicht ADA selbst überflüssig werden könnte. Aber wenn ich es richtig verstanden habe bleibt ADA essentiell.

Und mit BTC und Sats im Zusammenhang dieser Funktion meinst du vielleicht sowas wie die Wrapped Coins(Tokens) die ja erst mit Smartcontracts möglich werden?

Ging mir auch so. Aber ja, ADA bleibt essentiell. Unter anderem ja auch beim Staking (Sicherung) und als Governance Token.

Richtig, das wäre dann so etwas wie wrapped Bitcoin oder Lightning Bitcoin. Die Bitcoin wären in der Mainchain gelockt und würden stattdessen auf Cardano übertragen. Diese Schnittstelle gibt es noch nicht, wird es aber sicher recht bald nach dem es möglich ist.

Das verspricht richtig interessant zu werden.
Aber damit man BTC für das Cardano-Netzwerk locken kann, müsste es dafür nicht irgend eine form von Kopplung dieser beiden Chains geben und damit auch ein update für BTC in Form der Spacechannels?

1 „Gefällt mir“

Die Kopplung muss es geben. Dafür gibt es in meine Augen mehrere Möglichkeiten, aber ich kenne mich mit keiner wirklich aus.

Deshalb hoffe ich mal, dass vielleicht jemand anderes etwas dazu sagen kann.

Hier muss ich mal fragen wie Wrapped BTC eigentlich genau funktioniert.
Zuer Zeit gibts den auf der Etherium-Blockchain, über kurz oder lang wird es den auch auf der Cardano-Chain geben.

Es müssen Token auf der Etherium-Chain erstellt werden.
Mittels eines Smartcontracts wird festgelegt das dessen Wert immer der Wert des BTC ist. Soweit richtig?
Aber damit dieser Wert auch tatsächlich akzeptiert wird muss dafür doch zuerst die entsprechende Menge BTC auf der BTC-Chain gelocked werden und es muss irgend eine Form von Verbindung der beiden Chains geben die das bestättigen kann. Wie wurde das gemacht? und wer hat das gemacht?

theoretisch kann das natürlich über einen dritten laufen der sagt er hält die BTC und verscihert auhc diese zu halten, dafür gibt er die Wrapped-BTC-Token aus die mit echten BTC gedeckt sind. Nur wenn es keine Verbindung der beiden Chains gibt, die dann auch sicher stellt das die BTC gelocked bleiben (so wie beim LN) dann wäre der Wrapped-BTC aus meiner Sicht dann nur deshalb so viel wert weil man vertraut das ein Dritter dieser BTC auch tatsählich hält.

@skyrmion das müsste der erste deutschsprachige Text dazu sein, danke dafür - werde ich gerne darauf linken.

Immer gut wenn man keinen Babel Fisch im Ohr haben muss um etwas zu verstehen.

1 „Gefällt mir“

Freut mich! Du kannst natürlich gerne berichtigen und ergänzen. Vielleicht zu den letzten Fragen/Beiträgen, da ich mich bzgl. Schnittstellen zwischen zwei Blockchains, Token Locking, Atomic Swaps etc. nicht wirklich auskenne.

Ja, ich musste mir den Film gestern gleich mal wieder anschauen. :slight_smile:

Das locken von Coins ist eigentlich nichts anderes als das verschieben der Coins auf eine Adresse, wo mehrere Zugriff haben aber jeder alleine nicht kann, also z.B. eine 2von2 Multisig. Am anderen Layer gibt es dann Mechanismen die einerseits das locken bzw. unlocken vornehmen bzw. auch ein gewisses Error Handling falls einer der Parteien ausfällt (damit die Coins nicht verloren gehen). So ähnlich ist es in Lightning realisiert.

Eine andere Möglichkeit wäre ein Custodial, also eine Partei die den Quellcoin selber hält und dafür auf einer anderen Chain einen Wrapped Coin generiert. Ich glaub so oder so ähnlich funktioniert auch wBTC und Tether (wobei bei Tether der „Quellcoin“ FIAT ist).

Zurück zu Cardano, auf eine der beiden Arten könnte man das auch hier organisieren, vielleicht auch mit einer Chain in the Middle wie Chainlink oder Polkadot.

bzgl. Zahlen mit Tokens… danke @skyrmion für den ausführlichen Artikel. Ein Staking Node kann soweit ich es verstanden habe selbst entscheiden welche Tokens er für die Transaction Fee akzeptiert, so könnte ein Node sagen er nimmt z.B. „aBTC“, „aUSDT“ und ADA.

2 „Gefällt mir“

Ja, so verstehe ich das aktuell. Leider gibt es noch nicht so wahnsinnig viele Informationen.

Im Endeffekt kommt es bei der Transaktion 1 nur darauf an, dass du als einen Output das Token Bundle mit der ADA Liability und einer weiteren Währung X erzeugst. Die Währung X muss in meinen Augen auch nicht zwingend der Währung Y entsprechen, die in Transaktion 1 von Alice an Bob übertragen wird, auch wenn natürlich genau das das Komfortable ist.

Ob dann ein anderer Netzwerkteilnehmer den Deal akzeptiert, der über das Token Bundle vorgegeben ist, weiß man vorher nicht. Deshalb werden die SPOs oder deren Kooperationspartner wahrscheinlich einfach Kurse veröffentlichen und regelmäßig anpassen. Dann weiß man vorher was man bezahlen muss, um seine Transaktion durchzubekommen.

Wahrscheinlich werden einfach die Börsen selbst Stake Pools aufsetzen (haben sie ja eh schon) und dann die aktuellen Kurse zugrundelegen; zumindest für die Token, die sowieso schon bei ihnen gehandelt werden.

Das mit der Umrechnung werden irgendwelche Preisoracles übernehmen.

1 „Gefällt mir“

Aber das ist halt nicht die Idee von Crypto so wie ich sie verstehe! Für mich ist die Idee: „Dont trust people! Trust the code!“

Für mich hat damit der wBTC keinen Wert.

2 „Gefällt mir“