Wie funktioniert der Austausch intern?

Da EVM keine Ereignisse beobachten kann, können wir keinen Token an eine Börse senden und sofort einen anderen Token zurückerhalten (EVM „weiß“ einfach nicht, wann ein Token gesendet wurde). Soweit ich weiß, ist dies der Grund, warum alle mir bekannten Börsen zunächst eine Brieftasche auf der Börsenseite erstellen und den Token zuerst an diese Brieftasche senden müssen.

Dann:

  1. Wie erstellen Börsen eine Brieftasche? Wie generiert die Börse die Wallet-Adresse? (Wir wissen, dass Solidity keine Zufallszahlen generieren kann. Wird dies außerhalb der Kette durchgeführt?)

  2. Wie könnte dann die Börse dieses Wallet kontrollieren, ihm also den „Befehl“ geben, den Token für den eigentlichen Tauschvorgang zu senden? (Wenn es z. B. ERC-20 ist, dann könnte die Börse den Token-Vertrag nicht kontrollieren und könnte sie daher nicht veranlassen, das Token für die Austauschoperation zu senden. Wenn es beispielsweise ein ERC-721 oder ERC-1155 ist, dann auch die Börse kann den Vertrag nicht kontrollieren und die gleichen Probleme entstehen.)

Ich verstehe also nicht, wie der Austausch intern funktioniert.

Antworten (1)

Ich glaube nicht, dass es darüber viele offizielle Informationen gibt, da dies Geschäftsgeheimnisse sind. Aber die einzig vernünftige Art und Weise, wie der Austausch funktioniert, ist etwas Ähnliches wie das Folgende.

1) Sie verwenden keine echten Blockchain-Wallets, wie Sie denken. Wenn Sie Token an eine Austauschadresse senden, handelt es sich entweder um ein gemeinsames Wallet für viele Überweisungen oder um ein Pass-Through-Wallet, das die Token an ein gemeinsames Wallet weiterleitet.

2) Alle internen Trades sind nur Änderungen in ihren internen Ledgern außerhalb der Blockchain. Wenn Sie also Token A gegen Token B austauschen, aktualisiert die Börse nur ihre internen Datenbanken und es finden keine tatsächlichen Blockchain-Transaktionen statt. Nur wenn Sie Token einzahlen oder abheben, führen sie eine tatsächliche Blockchain-Transaktion durch.

3) Börsen haben mehrere gemeinsame Wallets im Einsatz. Einige sind heiß (werden verwendet, um Client-Token zu erhalten) und andere kalt (werden für die Langzeitspeicherung und nicht zu viele Transaktionen verwendet). Tokens werden zwischen diesen (bei echten Blockchain-Transaktionen) bei Bedarf transferiert (so selten wie möglich für Cold Wallets).

Die Gründe, warum Börsen versuchen, echte Blockchain-Transaktionen zu vermeiden, sind hauptsächlich Geschwindigkeit und Kosten: Blockchain-Transaktionen sind langsam und kostspielig.

Beispiel

Wenn Sie also Token an eine Austauschadresse übertragen, passiert Folgendes:

1) Sie geben Ihnen eine Adresse, wo Sie die Token hinterlegen können, und Sie senden Token dorthin

2) Sie leiten die Token von dieser Adresse an eine interne Hot- oder Cold-Wallet weiter

3) Sie aktualisieren Ihr Token-Guthaben in ihrer Datenbank

4) Sie handeln mit dem Token und sie aktualisieren ihre internen Salden

5) Sie ziehen diesen Token (oder einen anderen Token) ab: Sie aktualisieren ihre Datenbank und senden den echten Token aus ihrer Hot Wallet.

Beachten Sie, dass dies sowohl für Token als auch für Coins gilt.

„1) Sie verwenden keine echten Blockchain-Wallets, wie Sie denken. Wenn Sie Token an eine Austauschadresse senden, ist es entweder eine gemeinsame Wallet für viele Überweisungen oder eine Pass-Through-Wallet, die die Token an eine gemeinsame Wallet weiterleitet.“ Wie wird es umgesetzt?
Für ERC20-Token gibt es wahrscheinlich eine benutzerspezifische Pass-Through-Wallet, aber für andere Token und Münzen hängt es meiner Meinung nach von ihren Eigenschaften ab. Die gesamte Handhabung wird wahrscheinlich außerhalb der Blockchain implementiert, sodass Backend-Systeme Transaktionen ausgeben, um die Gelder zu bewegen.
Aber es gibt dezentrale Börsen. Wie arbeiten Sie? Wie wird beispielsweise eine Börsen-Wallet-Adresse in ihnen erstellt?
Oh, ich bin nicht sehr vertraut mit dezentralen Börsen. Sie alle verfügen über einen Mechanismus für Atomic Swaps, sodass Vermögenswerte vertrauenslos ausgetauscht werden können.