Vitalik: Wie können zentralisierte Börsen ihre Mittel nachweisen?

FortgeschritteneDec 04, 2023
Dieser Artikel befasst sich mit historischen Versuchen, Transaktionen nahezu vertrauenswürdig zu machen, den Einschränkungen dieser Technologien und einigen neueren, leistungsfähigeren Ideen unter Verwendung von ZK-SNARKs und anderen fortschrittlichen Technologien.
Vitalik: Wie können zentralisierte Börsen ihre Mittel nachweisen?

Immer wenn eine bedeutende zentralisierte Börse zusammenbricht, stellt sich häufig die Frage: Können wir kryptografische Technologie nutzen, um das Problem zu lösen? Börsen könnten kryptografische Beweise erstellen, die zeigen, dass die Gelder, die sie in der Kette halten, ausreichen, um ihre Verbindlichkeiten gegenüber Benutzern zu decken, anstatt sich nur auf „legale“ Methoden wie staatliche Genehmigungen, Prüfungen von Wirtschaftsprüfern und die Überprüfung des persönlichen Hintergrunds derjenigen zu verlassen, die sie verwalten und betreiben Austausch. Börsen könnten ein System einrichten, bei dem es grundsätzlich unmöglich ist, die Gelder der Einleger ohne deren Zustimmung abzuheben. Möglicherweise könnten wir das gesamte Spektrum zwischen ehrgeizigen, gutherzigen CEXs, die „keine schlechten Dinge tun“, und On-Chain-DEXs erkunden, die „keine schlechten Dinge tun können“, aber derzeit ineffizient sind und Datenschutz verlieren. Dieser Artikel befasst sich mit historischen Versuchen, Transaktionen nahezu vertrauenswürdig zu machen, den Einschränkungen dieser Technologien und einigen neueren, leistungsfähigeren Ideen unter Verwendung von ZK-SNARKs und anderen fortschrittlichen Technologien.

Bilanzen und Merkle-Bäume: Zahlungsfähigkeitsnachweis der alten Schule

Die ersten Versuche von Börsen, mit kryptografischen Methoden zu beweisen, dass sie ihre Benutzer nicht betrügen, lassen sich weit zurückverfolgen. Im Jahr 2011 bewies die damals größte Bitcoin-Börse MtGox, dass sie über Mittel verfügte, indem sie 424.242 BTC an eine im Voraus bekannt gegebene Adresse überwies. Im Jahr 2013 begannen Diskussionen darüber, wie die andere Seite der Gleichung nachgewiesen werden könne: die Gesamthöhe der Kundeneinlagen. Wenn Sie nachweisen, dass die Kundeneinlagen X entsprechen (ein „Haftungsnachweis“) und den Besitz der privaten Schlüssel für Einleger.

Die einfachste Methode, Einzahlungen nachzuweisen, bestand darin, eine Liste von Paaren (Benutzername, Guthaben) zu veröffentlichen. Jeder Benutzer konnte überprüfen, ob sein Guthaben enthalten war, und jeder konnte die gesamte Liste überprüfen, um sicherzustellen, dass (i) jedes Guthaben nicht negativ ist und (ii) die Gesamtsumme dem beanspruchten Betrag entspricht. Dies verstößt jedoch gegen die Privatsphäre, daher könnte eine kleine Änderung vorgenommen werden: Veröffentlichen Sie eine Liste von (Hash(Benutzername, Salt), Balance)-Paaren und senden Sie jedem Benutzer privat seinen Salt-Wert. Aber selbst dadurch werden Gleichgewichtsinformationen und Muster von Gleichgewichtsänderungen preisgegeben. Der Wunsch, die Privatsphäre zu schützen, bringt uns zur nächsten Erfindung: der Merkle-Tree-Technologie (auch bekannt als Hash-Tree).

Grün: Charlie-Knoten. Blau: David-Knoten, der auch der Knoten ist, den Charlie als Teil seines Beweises erhält. Gelb: Root-Knoten, öffentlich für alle sichtbar.

Bei der Merkle-Tree-Technologie wird die Bilanz eines Kunden in einem Merkle-Summenbaum platziert. In diesem Baum ist jeder Knoten ein (Balance-, Hash-)Paar. Die Blattknoten der unteren Ebene stellen die Guthaben der einzelnen Kunden und die Salted-Hash-Werte ihrer Benutzernamen dar. In jedem Knoten höherer Ebene ist der Saldo die Summe der beiden Salden darunter, und der Hash-Wert ist der Hash der beiden Knoten darunter. Ein Merkle-Summenbeweis ist wie ein Merkle-Beweis ein „Zweig“ des Baums, der aus Geschwisterknoten auf dem Weg vom Blatt zur Wurzel besteht.

Börsen senden jedem Benutzer einen Merkle-Betragsnachweis seines Guthabens, um seine Bestände nachzuweisen. Benutzer haben dann die Gewissheit, dass ihr Guthaben korrekt in die Gesamtsumme einbezogen wird. Ein einfaches Codebeispiel finden Sie hier.

Der Datenschutzverlust ist bei diesem Design viel geringer als bei einer vollständig öffentlichen Liste und kann durch das Mischen der Zweige bei jeder Veröffentlichung des Stammverzeichnisses weiter reduziert werden. Es bestehen jedoch immer noch gewisse Datenschutzlücken. Charlie kann wissen, dass jemand ein Guthaben von 164 ETH hat, dass die Summe der Guthaben zweier Benutzer 70 ETH beträgt usw. Ein Angreifer, der viele Konten kontrolliert, kann dennoch viel über die Benutzer der Börse erfahren.

Ein subtiler, aber wichtiger Aspekt dieses Schemas ist die Möglichkeit negativer Salden: Was wäre, wenn eine Börse mit einem Kundensaldo von 1390 ETH nur über 890 ETH in Reserven verfügt und versucht, den Fehlbetrag durch Hinzufügen eines Saldos von -500 ETH auf einem fiktiven Konto zu decken? der Baum? Es stellt sich heraus, dass diese Möglichkeit das Schema nicht durchbricht, obwohl wir genau aus diesem Grund Merkle-Summenbäume anstelle normaler Merkle-Bäume benötigen. Angenommen, Henry ist ein fiktives Konto, das von der Börse kontrolliert wird und auf dem -500 ETH platziert sind.

Gretas Beweisüberprüfung wird fehlschlagen: Die Börse muss ihr den Henry's -500 ETH-Knoten anbieten, den sie ablehnt, da er ungültig ist. Die Überprüfung von Eve und Fred wird ebenfalls fehlschlagen, da die Gesamt-ETH auf den Zwischenknoten über Henry -230 beträgt, was sie ebenfalls ungültig macht! Um einem Diebstahl zu entgehen, muss die Börse darauf hoffen, dass niemand in der rechten Hälfte des gesamten Baums ihren Kontostand überprüft.

Wenn die Börse Benutzer im Wert von 500 ETH identifizieren kann und glaubt, dass diese Benutzer sich entweder nicht die Mühe machen, den Nachweis zu überprüfen, oder dass ihnen nicht geglaubt wird, wenn sie sich darüber beschweren, dass sie nie einen Nachweis erhalten haben, kann die Börse getrost einer Bestrafung wegen Diebstahls entgehen. Allerdings könnte der Austausch den gleichen Effekt auch dadurch erzielen, dass er diese Benutzer aus dem Baum ausschließt.

Daher ist die Merkle-Tree-Technologie allein für den Zweck des Nachweises von Verbindlichkeiten im Wesentlichen genauso gut wie das Nachweissystem für Verbindlichkeiten. Aber seine Datenschutzeigenschaften sind immer noch nicht ideal. Sie können Merkle-Bäume geschickter nutzen, indem Sie beispielsweise jedes Satoshi oder Wei zu einem einzelnen Blatt machen, aber letztendlich gibt es mit moderneren Techniken bessere Möglichkeiten, dies zu erreichen.

Verbesserung der Privatsphäre und Robustheit mit ZK-SNARKs

ZK-SNARKs sind eine leistungsstarke Technologie, möglicherweise für die Kryptographie das, was Transformatoren für künstliche Intelligenz sind: eine universell wirksame Technologie, die eine Vielzahl von Problemen in bestimmten, vor Jahrzehnten entwickelten Technologien völlig überwindet. Natürlich können wir ZK-SNARKs verwenden, um den Datenschutz in den Haftungsnachweisprotokollen erheblich zu vereinfachen und zu verbessern.

Das Einfachste, was wir tun können, ist, alle Benutzereinlagen in einen Merkle-Baum (oder einfacher eine KZG-Verpflichtung) zu legen und mit einem ZK-SNARK zu beweisen, dass alle Salden im Baum nicht negativ sind und sich zusammen zu einem beanspruchten Wert addieren . Durch das Hinzufügen einer Hashing-Ebene zum Schutz der Privatsphäre und die Bereitstellung eines Merkle-Zweigs (oder eines KZG-Beweises) für jeden Benutzer werden die Guthaben anderer Benutzer nicht angezeigt.

Die Verwendung von KZG-Verpflichtungen ist eine Methode zur Vermeidung von Datenschutzlecks, da dadurch die Bereitstellung von „Geschwisterknoten“ als Nachweis entfällt. Ein einfaches ZK-SNARK kann verwendet werden, um die Summe der Salden zu beweisen und um sicherzustellen, dass jeder Saldo nicht negativ ist. Mit einem speziellen ZK-SNARK können wir die Summe und Nichtnegativität der Salden im oben genannten KZG nachweisen. Hier ist ein einfaches Beispiel, das dies erreicht. Wir führen ein Hilfspolynom ein, das „die Bits jedes Saldos festlegt“ (zur Veranschaulichung nehmen wir an, dass die Salden innerhalb von liegen), und alle 16 Positionen verfolgen eine laufende Summe mit einem Offset, sodass die Summe nur dann Null ist, wenn die tatsächliche Summe ist im Einklang mit der angegebenen Gesamtsumme. Wenn z die -128. Einheitswurzel ist, können wir die folgende Gleichung beweisen.

Der erste Wert in einem effektiven Setup ist 0 0 0 0 0 0 0 0 0 0 1 2 5 10 20 -165 0 0 0 0 0 0 0 0 1 3 6 12 25 50 -300… Um zu verstehen, wie solche Gleichungen transformiert werden können in Polynomprüfungen und dann in ZK-SNARKs umwandeln, weitere Erläuterungen finden Sie hier und hier in meinem Artikel über ZK-SNARKs . Auch wenn es kein optimales Protokoll ist, zeigt es doch, dass kryptografische Beweise dieser Art heutzutage nicht mehr so mysteriös sind!

Mit nur wenigen Zusatzformeln lassen sich solche Randbedingungssysteme an komplexere Szenarien anpassen. Beispielsweise ist es in einem gehebelten Handelssystem für einzelne Benutzer akzeptabel, negative Salden zu haben, vorausgesetzt, sie verfügen über genügend andere Vermögenswerte, um Gelder mit einigen Sicherheiten abzudecken. Ein SNARK kann verwendet werden, um diese komplexere Einschränkung nachzuweisen und den Benutzern zu versichern, dass die Börse ihre Gelder nicht riskiert, indem sie andere Benutzer heimlich von den Regeln ausnimmt.

Längerfristig könnte ein solcher ZK-Schuldennachweis möglicherweise nicht nur für Kundeneinlagen an Börsen, sondern auch für eine breitere Palette von Krediten eingesetzt werden. Immer wenn jemand einen Kredit aufnimmt, fügt er einen Datensatz in ein Polynom oder einen Baum ein, der diesen Kredit enthält, wobei die Wurzel dieser Struktur in der Kette veröffentlicht wird. Dies würde es jedem Kreditsuchenden ermöglichen, den Kreditgebern gegenüber ZK den Nachweis zu erbringen, dass er nicht zu viel von anderen Krediten geliehen hat. Letztendlich könnten gesetzliche Neuerungen sogar dafür sorgen, dass auf diese Weise zugesagte Kredite einen höheren Stellenwert erhalten als nicht zugesagte Kredite. Dies führt uns in die gleiche Richtung wie eine Idee, die in „ Dezentralisierte Gesellschaft: Die Seele von Web3 finden“ diskutiert wird: die Etablierung eines Konzepts eines negativen Rufs oder einer Sicherheit in der Kette durch eine Art „seelengebundenes Token“.

Vermögensnachweis

Die einfachste Version des Vermögensnachweises ist das Protokoll, das wir oben gesehen haben: Um zu beweisen, dass Sie X Münzen besitzen, müssen Sie nur Binance“ in seinem Datenfeld. Um Transaktionsgebühren zu vermeiden, können Sie alternativ eine Off-Chain-Nachricht signieren; Sowohl Bitcoin als auch Ethereum verfügen über Standards für Off-Chain-Signaturnachrichten.

Diese einfache Asset-Proof-Technik hat zwei praktische Probleme:

  1. „Cold Storage“-Verarbeitung.

  2. Doppelte Verwendung von Sicherheiten.

Aus Sicherheitsgründen bewahren die meisten Börsen den Großteil der Gelder ihrer Kunden im „Cold Storage“ auf: auf Offline-Computern, wo Transaktionen manuell signiert und ins Internet übertragen werden müssen. Das Cold-Storage-Setup, das ich früher für persönliche Gelder genutzt habe, umfasste einen permanent offline arbeitenden Computer, der einen QR-Code mit der unterzeichneten Transaktion generierte, den ich mit meinem Telefon scannen konnte. Moderne Austauschprotokolle sind komplexer und beinhalten oft Mehrparteienberechnungen zwischen mehreren Geräten. Bei solchen Konfigurationen ist sogar eine zusätzliche Nachricht zum Nachweis der Kontrolle über eine Adresse ein kostspieliger Vorgang!

Eine Transaktion kann mehrere Wege nehmen:

  • Pflegen Sie einige öffentlich bekannte langfristige Adressen. Die Börse generiert mehrere Adressen, veröffentlicht jeweils einmal einen Eigentumsnachweis und verwendet diese Adressen dann wieder. Dies ist bei weitem das einfachste Schema, obwohl es einige Einschränkungen hinsichtlich des Schutzes von Sicherheit und Privatsphäre mit sich bringt.

  • Richten Sie viele Adressen ein und prüfen Sie einige nach dem Zufallsprinzip. Die Börse könnte viele Adressen haben, möglicherweise jede nur einmal verwenden und sie nach einer Transaktion zurückziehen. In diesem Fall könnte die Börse über ein Protokoll verfügen, um zufällig einige Adressen auszuwählen, die „geöffnet“ werden müssen, um den Besitz nachzuweisen. Einige Börsen haben bereits etwas Ähnliches mit Wirtschaftsprüfern gemacht, aber im Prinzip könnte diese Technik zu einem vollautomatischen Prozess werden.

  • Komplexere ZKP-Optionen. Beispielsweise könnte eine Vermittlungsstelle alle ihre Adressen als 1/2-Mehrfachsignaturen festlegen, wobei der Schlüssel jeder Adresse unterschiedlich ist und der andere eine blinde Version eines „wichtigen“ Notfall-Backup-Schlüssels ist, der auf komplexe, aber äußerst sichere Weise gespeichert wird. wie eine 12/16-Mehrfachsignatur. Um die Privatsphäre zu schützen und die Offenlegung des gesamten Adresssatzes zu vermeiden, könnte eine Börse sogar einen Zero-Knowledge-Proof auf der Blockchain durchführen und so den Gesamtsaldo aller Adressen mit diesem Format in der Kette nachweisen.

Ein weiteres wichtiges Thema ist die Vermeidung der Doppelverwendung von Sicherheiten. Börsen könnten zum Zwecke des Reservenachweises problemlos Sicherheiten untereinander hin- und herschicken und dabei vorgeben, zahlungsfähig zu sein, obwohl dies nicht der Fall ist. Im Idealfall erfolgt der Bonitätsnachweis in Echtzeit und wird nach jedem Block aktualisiert. Wenn dies nicht praktikabel ist, besteht eine weniger ideale Option darin, einen festen Zeitplan zwischen verschiedenen Börsen zu koordinieren, beispielsweise jeden Dienstag um 14:00 UTC Reserven nachzuweisen.

Die letzte Frage lautet: Können wir einen Vermögensnachweis für Fiat-Währungen durchführen? Börsen halten nicht nur Kryptowährungen; Sie halten auch Fiat-Währungen innerhalb des Bankensystems. Hier lautet die Antwort: Ja, aber ein solcher Prozess wird zwangsläufig auf dem „Fiat“-Treuhandmodell basieren: Die Bank selbst kann Guthaben nachweisen, Wirtschaftsprüfer können Bilanzen nachweisen usw. Wenn man bedenkt, dass Fiat nicht kryptografisch verifiziert werden kann, ist dies das Beste, was es gibt kann innerhalb dieses Rahmens durchgeführt werden, aber es lohnt sich trotzdem.

Ein anderer Ansatz besteht darin, eine Einheit, die die Börse betreibt und mit Asset-Backed-Stablecoins wie USDC handelt, sauber von einer anderen Einheit zu trennen, die den Geldzu- und -abflussprozess zwischen Kryptowährungen und dem traditionellen Bankensystem (USDC selbst) abwickelt. Da es sich bei den „Verbindlichkeiten“ von USDC nur um On-Chain-ERC20-Token handelt, ist der Haftungsnachweis „kostenlos“ und erfordert lediglich einen Vermögensnachweis.

Plasma und Validien: Können wir CEXs uneingeschränkt machen?

Angenommen, wir wollen noch weiter gehen: Wir wollen nicht nur beweisen, dass die Börse über die Mittel verfügt, um das Geld der Benutzer zurückzuzahlen. Stattdessen wollen wir vollständig verhindern, dass die Börse die Gelder der Benutzer stiehlt.

Der erste große Versuch in dieser Hinsicht war Plasma, eine Erweiterungslösung, die in den Jahren 2017 und 2018 in der Ethereum-Forschungsgemeinschaft beliebt war. Plasma funktioniert durch die Aufteilung des Guthabens in eine Reihe einzelner „Münzen“, denen jeweils ein Index zugewiesen ist und die sich an einer bestimmten Position im Merkle-Baum eines Plasma-Blocks befinden. Für eine gültige Übertragung einer Münze muss die Transaktion an der richtigen Position im Baum platziert werden, wobei die Wurzel des Baums in der Kette veröffentlicht wird.

Ein vereinfachtes Schema einer Version von Plasma. Münzen werden in einem Smart Contract gespeichert und die Regeln des Plasma-Protokolls werden beim Abheben zwangsweise ausgeführt.

OmiseGo hat versucht, einen dezentralen Austausch auf der Grundlage dieses Protokolls aufzubauen, ist aber seitdem auf andere Ideen umgestiegen. In dieser Hinsicht hat sich auch die Plasma-Gruppe selbst weiterentwickelt und ist nun zum Optimism-Projekt geworden, das sich auf optimistische EVM-Rollups konzentriert.

Die technologischen Einschränkungen von Plasma, wie es 2018 konzipiert wurde (z. B. der Nachweis der Fragmentierung von Münzen), sind keine Überlegung wert. Seit dem Höhepunkt des Plasma-Diskurses im Jahr 2018 sind ZK-SNARKs in Anwendungsfällen im Zusammenhang mit der Erweiterung praktikabler geworden. Wie bereits erwähnt, haben ZK-SNARKs alles verändert.

Eine modernere Version des Plasma-Konzepts nennt Starkware Validium: im Wesentlichen dasselbe wie ZK-Rollup, außer dass die Daten außerhalb der Kette gespeichert werden. Diese Struktur kann für viele Anwendungsfälle verwendet werden, insbesondere wenn ein zentraler Server Code ausführen und seine korrekte Ausführung nachweisen muss. In einem Validium können Betreiber keine Gelder stehlen, allerdings könnten je nach Implementierungsdetails einige Benutzergelder stecken bleiben, wenn der Betreiber verschwindet.

All dies ist sehr vielversprechend: Die Beziehung zwischen CEX und DEX ist weit entfernt von einem binären Gegensatz. Tatsächlich gibt es ein ganzes Spektrum an Optionen, einschließlich verschiedener Formen der Hybridzentralisierung, bei der Sie Vorteile wie Effizienz genießen und gleichzeitig über zahlreiche kryptografische Schutzmaßnahmen verfügen, um zentralisierte Betreiber vor den meisten Formen des Missbrauchs zu schützen.

In der rechten Hälfte dieses Designraums muss jedoch ein grundlegendes Thema diskutiert werden: der Umgang mit Benutzerfehlern. Die bisher kritischste Fehlerart lautet: Was ist zu tun, wenn Benutzer ihre Passwörter vergessen, ihre Geräte verlieren, gehackt werden oder auf andere Weise den Zugriff auf ihre Konten verlieren?

Börsen können dieses Problem lösen: zunächst durch E-Mail-Wiederherstellung und, falls dies fehlschlägt, durch komplexere Formen der Wiederherstellung über KYC. Um solche Probleme lösen zu können, müssen Börsen jedoch tatsächlich die Kontrolle über die Münzen haben. Um den Zugriff auf Benutzerkonten rechtmäßig wiederherstellen zu können, müssen Börsen über die Macht verfügen, die möglicherweise auch zum Diebstahl von Geldern von diesen Konten missbraucht werden könnte. Dies ist ein unvermeidlicher Kompromiss.

Die ideale langfristige Lösung basiert auf Selbstverwahrung, ergänzt durch Technologien wie Multi-Signatur- und Social-Recovery-Wallets, um Benutzern bei der Bewältigung von Notfällen zu helfen. Kurzfristig gibt es jedoch scheinbar zwei Alternativlösungen mit jeweils deutlich unterschiedlichen Kosten und Vorteilen.

Fazit: Besserer Austausch in der Zukunft

Kurzfristig gibt es zwei verschiedene Kategorien von Börsen: verwahrte und nicht verwahrte Börsen. Letzteres wird heute durch DEXes wie Uniswap repräsentiert. In Zukunft könnten wir auch kryptografisch „eingeschränkte“ CEXes sehen, bei denen die Gelder der Benutzer in einer Art Validium-Smart-Vertrag gehalten werden. Wir könnten auch Zeuge des Aufkommens von Semi-Custodial-Börsen werden, denen wir Fiat-Währungen statt Kryptowährungen anvertrauen.

Beide Arten von Börsen werden weiterhin bestehen bleiben. Der einfachste abwärtskompatible Weg, die Sicherheit von Depotbörsen zu erhöhen, besteht darin, den Nachweis von Reserven zu erhöhen. Hierbei handelt es sich um eine Kombination aus Vermögensnachweis und Haftungsnachweis. Die Entwicklung gut strukturierter Protokolle für beide stellt technische Herausforderungen dar, aber wir sollten in beiden Bereichen so weit wie möglich Fortschritte machen und die Software und Prozesse als Open Source bereitstellen, damit alle Austausche davon profitieren können.

Längerfristig hoffe ich, dass wir uns zunehmend dahingehend bewegen, dass alle Börsen nicht verwahrt werden, zumindest was die Kryptowährung betrifft. Für neue Benutzer, die mit kleinen Beträgen umgehen, und für Institutionen, die aus rechtlichen Gründen eine solche Vereinbarung benötigen, wird es eine Wallet-Wiederherstellung geben. Möglicherweise sind stark zentralisierte Wiederherstellungsoptionen erforderlich, diese können jedoch auf Wallet-Ebene und nicht innerhalb der Börse selbst durchgeführt werden. Ein Beispiel für diesen Ansatz ist die Art und Weise, wie magic.link mit Plattformen wie Polymarket interagiert. In Bezug auf Fiat kann der Fluss zwischen dem traditionellen Bankensystem und dem Krypto-Ökosystem durch lokale Prozesse des Geldzuflusses/-abflusses für Asset-Backed-Stablecoins wie USDC erleichtert werden. Es wird jedoch einige Zeit dauern, dieses Ziel vollständig zu erreichen.

Besonderer Dank geht an Balaji Srinivasan sowie die Mitarbeiter von Coinbase, Kraken und Binance für ihre Diskussionen.

Haftungsausschluss:

  1. Dieser Artikel ist ein Nachdruck von [Chaincatcher]. Alle Urheberrechte liegen beim ursprünglichen Autor [Vitalik]. Wenn Sie Einwände gegen diesen Nachdruck haben, wenden Sie sich bitte an das Gate Learn-Team, das sich umgehend darum kümmern wird.
  2. Haftungsausschluss: Die in diesem Artikel geäußerten Ansichten und Meinungen sind ausschließlich die des Autors und stellen keine Anlageberatung dar.
  3. Übersetzungen des Artikels in andere Sprachen werden vom Gate Learn-Team durchgeführt. Sofern nicht anders angegeben, ist das Kopieren, Verbreiten oder Plagiieren der übersetzten Artikel verboten.
Comece agora
Inscreva-se e ganhe um cupom de
$100
!
Criar conta