0x für den dezentralen Token-Handel auf Ethereum

0x für den dezentralen Token-Handel auf Ethereum

By Benson Toti - Min. gelesen
Aktualisiert 07 November 2022

Warum 0x?

Heute kennt die Welt Hunderte von Blockchain-basierten Assets und jeden Monat kommen neue dazu. Doch wie können diese Assets einfach und sicher transferiert werden? Nun, seit es Smart Contracts gibt, können zwei oder mehrere Parteien ihre Assets tauschen ohne dafür eine dritte vertrauenswürdige Partei zu benötigen.

Die Entwicklung von zentralen Exchanges mit allen zugehörigen Risiken (Hacks, Betrug, staatliche Regulatorien) hin zu dezentralen Exchanges ist daher nur konsequent.

Was ist 0x?

0x ist ein offenes, permissionless Protokoll das den peer-to-peer Handel mit ERC20 Tokens auf der Ethereum Blockchain ermöglicht. Mit 0x können Token direkt und gebührenfrei zwischen Parteien oder über einen sogenannten Relayer und dessen Liquiditätspool gegen Zahlung von 0x-Token (ZRX) gehandelt werden.

Die Intention hinter 0x ist es, grundlegende Bausteine bereitzustellen, die mit anderen Protokollen kombiniert werden können um immer anspruchsvollere dApps (Dezentrale Applikationen) verfügbar zu machen. 0x nutzt dabei ein öffentliches System von Smart Contracts, das als gemeinsame Infrastruktur für eine Vielzahl von dApps dient.

https://0xproject.com/

Mit 0x ist folgendes möglich:

  1. Off-chain Order Relay (Auftragsvermittlung ausserhalb der Blockchain) + On-chain settlement (Zahlung über die Blockchain) = geringe Kosten für Market Makers und schnelle Zahlung
  2. Öffentlich zugängliche Smart Contracts, in die sich jede dApp einhängen kann
  3. Vermittler können ihre eigenen Liquidiätspools anlegen und Vermittlungsgebühren einziehen
  4. Dezentrale Update-Mechanismen ermöglichen eine kontinuierliche und sichere Integration von Verbesserungen und Neuerungen ins Protokoll ohne dabei dApps oder Benutzer zu beeinträchtigen
  5. Standardisierung + Entkopplung = Gemeinsamer Protocol Layer und damit
    • Herstellung von Interoperabilität zwischen dApps
    • Erzeugung von Netzwerkeffekten bezüglich Liquidität
    • Einfacherer Zugang und geringere Kosten für Marktteilnehmer
    • Eliminierung von Redundanzen, Verbesserung der User Experience und der Sicherheit von Smart Contracts.

Dezentraler Exchange im Detail

Dezentrale Exchanges, die mit Ethereum Smart Contracts implementiert wurden, haben es bisher nicht wirklich geschafft, signifikantes Volumen zu erzeugen. Das dürfte vor allem an einem Design liegen, das hohe Kosten für Market Makers impliziert.

Insbesondere zeichnen sich diese Implementierungen dadurch aus, dass Aufträge direkt in der Blockchain plaziert werden und somit Market Makers jeden Auftrag, dessen Änderung oder Löschung mit Gas bezahlen müssen. Infolgedessen können die Transaktionskosten sehr teuer werden. Dazu kommt, dass solch ein On-chain Order Book die Blockchain unnütz aufbläht ohne dabei wirklich Werte zu transferieren, und zu einem zusätzlichen Ressourcenverbrauch an Netzwerk-Bandbreite führt.

0x schlägt hier einen hybriden, sogenannten “off-chain order relay with on-chain settlement” Ansatz vor, in dem es die Effizienz von State Channels mit fast Echtzeit-Settlement des On-chain Order Books kombiniert. Dabei werden kryptografisch signierte Aufträge ausserhalb der Blockchain erstellt. Jede interessierte Käufer oder Verkäufer kann nun einen oder mehrere dieser Aufträge in einen Smart Contract einfügen um den Handel direkt auf der Blockchain auszuführen. Dadurch lassen sich die Kosten für Market Makers minimieren, da Transaktionen nur ausgeführt werden wenn Werte auch transferiert werden.

https://0xproject.com/

0x erweitert diesen Ansatz noch, indem es jedem erlaubt als Exchange zu agieren, und indem es das Protokoll von den Applikationen unabhängig macht.

Die generelle Abfolge von Schritten für einen dezentralen Exchange (DEX) mit “off-chain order relay” und “on-chain settlement” sind im folgenden beschrieben:

https://0xproject.com/
  1. Maker genehmigt den DEX Contract für den Zugriff auf den Token A Bestand
  2. Maker erstellt Auftrag um Token A gegen Token B zu tauschen, und spezifiziert Umtauschkurs, Fristen (nach deren Ablauf können keine Aufträge mehr ausgeführt werden), und signiert den Auftrag mit seinem privaten Schlüssel
  3. Maker sendet den Auftrag über ein beliebiges Kommunikationsmedium
  4. Taker sieht den Auftrag und entscheidet sich für den Handel
  5. Taker genehmigt dem DEX Contract den Zugriff auf den Token B Bestand
  6. Taker reicht den vom Maker signierten Auftrag an den DEX Contract
  7. Der DEX Contract authentiziert die Signatur des Makers, verifiziert dass der Auftrag noch gültig ist (Frist) und noch nicht ausgeführt wurde und transferiert schliesslich die Token zwischen den beiden Parteien mit dem spezifizierten Preis.

Jeder Auftrag ist ein Datenpaket mit Auftragsparametern und einer Signatur. Die Auftragsparameter werden verkettet und mit Hilfe der Keccak SHA3 Funktion verschlüsselt. Der Ersteller des Auftrages signiert den so entstandenen Hash mit seinem privaten Schlüssel um eine ECDSA Signatur zu erzeugen.

0x beschreibt zwei Auftragstypen: Point-to-Point Orders und Broadcast Orders.

Point-to-Point Orders ermöglichen den direkten Tausch von Tokens zwischen zwei Parteien, unter Nutzung eines beliebigen Kommunikationsmediums, z.B. via E-Mail, Facebook, Whisper oder ähnliches. Der Auftrag kann nur durch die spezifizierte Taker-Adresse ausgeführt werden.

Für Liquidität im Markt baucht es öffentliche Orte wo Käufer und Verkäufer ihre Aufträge einstellen können, die nachfolgend in Order Books, sprich Exchange, gesammelt werden. Einen Exchange zu bauen und zu betreiben, ist teuer, und das bisher beschriebene Protokoll bietet keinen Anreiz einen solchen Service zu bauen. Sogenannte Broadcast Orders schaffen Abhilfe, indem sie es jedem Teilnehmer erlauben, als Exchange zu agieren, ein Order Book (privat oder öffentlich) zu führen und Transaktionsgebühren zu erheben.

Für Broadcast Orders sieht das Messageformat etwas anders aus als das für Point-to-Point, um öffentlichen Exchange zu ermöglichen und Anreize für Vermittler (Relayers) zu schaffen. Erstens ist keine Taker Adresse spezifiziert, so dass jeder Taker sein kann. Zweitens enthalten Broadcast Orders feeA, feeB und feeRecipient Parameter, die sowohl die Transaktionsgebühren als auch die Adressen spezifizieren wo der Vermittler die Gebühren mittels Smart Contract einziehen kann, sobald der Auftrag ausgeführt wurde.

https://0xproject.com/

Im folgenden ist der Ablauf für Broadcast Orders dargestellt. Dabei wird angenommen, dass Vermittler (Relayers) das Order Book off-chain führen im Austausch für die Transaktionsgebühren.

  1. Vermittler publiziert die Gebühren und die Adresse um Transaktionsgebühren einzuziehen
  2. Maker erzeugt einen Auftrag mit Gebühren feeA und feeB entsprechend der Gebühren des Vermittlers, mit der Empfängeradresse des Vermittlers und signiert den Auftrag mit seinem privaten Schlüssel
  3. Maker sendet den signierten Auftrag zum Vermittler
  4. Vermittler empfängt den Auftrag, prüft dessen Gültigkeit und ob die Gebühren entsprechend bereit gestellt werden. Wenn der Auftrag ungültig ist oder nicht den Anforderungen des Vermittlers entspricht, wird er zurückgewiesen. Alternativ wird der Auftrag ins Order Book aufgenommen.
  5. Takers empfangen das aktualisierte Order Book das nun auch den Auftrag des Makers enthält
  6. Taker nimmt den Auftrag an indem er ihn zum Exchange Contract auf der Ethereum Blockchain schickt.

Der 0x Token – ZRX

https://0xproject.com/

Das 0x Protokoll ist mit einer festen Anzahl (1 Milliarde) von Protokoll-Token auf der Ethereum Blockchain assoziert, die an sowohl an Partner-dApps als auch an Endbenutzer ausgegeben werden. Die Token können einerseits von den Marktteilnehmern verwendet werden um Transaktionsgebühren an die Vermittler (Relayer) zu zahlen, und andererseits um die dezentrale Governance hinsichtlich von Protokoll-Updates zu realisieren.

Für den dezentralen Tokenhandel gibt es eine sogenannte Token Registry, eine Übersicht aller ERC20 Tokens mit Metadaten für jeden Token (Name, Symbol, Contract Address und die Anzahl der Dezimalstellen um die kleinste Einheit eines Tokens darzustellen (für die Berechnung der Umtauschkurse).  Diese Token Registry ist nützlich, da Aufträge in Form von hexadezimalem Byte-Code eher schwierig für Menschen lesbar sind.

Die Token Registry dient als offizielle on-chain Referenz, die von den Marktteilnehmern genutzt werden kann um unabhängig voneinander Token-Adressen und Umtauschkurse verifizieren zu können bevor sie handeln. Kontrolle und Aufsicht bezüglich der Richtigkeit der Registry (Hizufügen neuer Tokens, Änderung oder Löschungen) üben die 0x Stakeholder aus.

Der 0x Token kann an verschiedenen Exchanges unter dem Symbol ZRX gehandelt werden. Der Kurs steht aktuell bei rund 1,60 EUR, mit einer Marktkapitalisierung von rund 800 Millionen EUR.

Eine Anleitung zum Kauf von ZRX steht hier bereit.

0x Potential

0x ist ein cooles Projekt mit einer Menge Potential. Details findet ihr bei Github.

Es gibt bereits eine ganze Reihe Projekte und Vermittler, die auf 0x bauen.

https://0xproject.com/
https://0xproject.com/

Insbesondere für Vermittler (Relayers) hat 0x 18 Ideen zur Umsetzung auf 0x vorgestellt.

In diesem Sinne: start building!

Disclaimer: — Der Handel mit Kryptowährungen birgt ein großes finanzielles Risiko und kann bis zum Totalverlust des eingesetzten Kapitals führen. Coin-hero.de stellt keine Anlageberatung und Empfehlung im Sinne des Wertpapierhandelsgesetzes (WpHG) dar. Die Webseiteninhalte dienen ausschliesslich der Information und Unterhaltung der Leser. Die hier getroffenen Aussagen stellen lediglich unsere eigene Meinung und keine Kaufempfehlung dar. Bitte unternehmen Sie auch eigene Recherchen bevor Sie in Kryptowährungen investieren. Wir übernehmen keinerlei Haftung für jegliche Art von Schäden. Bitte lesen Sie auch unseren Haftungsausschluss im Impressum. —