Gibt es ein allgemeingültiges Protokoll zur Erstellung des Bonitätsnachweises?

Nach dem MtGox-Vorfall begannen viele Bitcoin-Börsen, Audits durchzuführen und einen Solvenz- / Haftungsnachweis zu erstellen , um ihren Benutzern zu beweisen, dass sie zahlungsfähig bleiben. Während der Nachweis, dass man die erforderliche Menge an Münzen besitzt, ziemlich einfach ist, frage ich mich, ob jemand ein allgemein akzeptables Protokoll erstellt hat, um zu beweisen, wie viel eine Börse ihren Kunden schuldet, basierend auf den Kontoständen in ihrer Datenbank, ohne die privaten Informationen der Benutzer preiszugeben?

Antworten (2)

Greg Maxwell hat einen Weg beschrieben, wie dies mit einem blinden Bonitätsnachweis möglich ist, der es Benutzern ermöglicht, zu überprüfen, ob ihre Bitcoin-Beträge vom System gespeichert werden, ohne einem Außenstehenden zu offenbaren, was sie sind und wie viele Benutzer im System vorhanden sind. Kunden des Dienstes können ihre eigenen Guthaben im Baum individuell nachweisen und bei Nichtaufnahme oder falschen Angaben Alarm schlagen, wodurch der Baum zum Beweis für Betrug wird. Das System bestätigt ausdrücklich nicht, dass diese Gelder existieren und vom Dienst ausgegeben werden können.

Details über das System wurden aus IRC-Zitaten gesammelt , und auf Github existieren mindestens zwei Implementierungen von Molecular und Olalonde .

Der Nachweis, dass man die erforderliche Menge an Münzen besitzt, ist ziemlich einfach

Eine Börse, BitStamp, hat es auf sich genommen, zu versuchen, ihr eigenes System zum Nachweis der Reserven zu schaffen, indem sie regelmäßig (alle paar Monate) alle ihre Bitcoin-Bestände in einer einzigen Ausgabe ansammeln, um zu beweisen, dass sie tatsächlich alle halten Bitcoin sollten sie. Dies spiegelt etwas wider, was Mt Gox im Jahr 2011 getan hat, indem es 424242 BTC auf Anfrage von Benutzern im IRC verschoben hat. Dabei setzt sich BitStamp einem enormen Verlustrisiko aus. Bit-Flip-Fehler sind bei Computern ziemlich häufig, wenn sie beim Signieren dieser Transaktion auch nur einen einzigen haben, wird das gesamte Geld ihrer Kunden zerstört. Es reduziert die Privatsphäre ihrer Kunden, eröffnet ihnen während dieser Zeit physische Angriffe, alle Arten von Gemeinheiten. Es ist nicht wirklich ein gelöstes Problem, obwohl es anfangs einfach aussieht.

Bit-Flips können leicht vermieden werden, indem die Empfangsadressen nach dem Signieren und vor dem Senden einer Transaktion validiert werden. Wenn Sie einen Hinweis auf die Wahrscheinlichkeit haben, dass solche Ereignisse eintreten, können Sie uns vielleicht einen Hinweis geben, ob sich eine solche Implementierung für beliebte Bitcoin-Wallets lohnen würde.

Es gibt kein allgemein anerkanntes Protokoll zum Nachweis der Zahlungsfähigkeit von Bitcoin.

Das erste erfolgreiche Protokoll, das Solvenznachweise beschreibt, stammt von Greg Maxwell, der eine Merkle-Tree-basierte Lösung zum Solvenznachweis beschrieb. Die Lösung von Maxwell liefert Beweise in logarithmischer Größe in Bezug auf die Anzahl der Gläubiger. Maxwells Protokoll wird ausführlich von Zak Wilcox beschrieben . Es hat den Vorteil, dass es leicht verständlich und umsetzbar ist. Leider gibt Maxwells Protokoll die Anzahl und Größe der Gläubigerkonten sowie die Gesamtverbindlichkeiten der Börse preis.

Ein alternativer Mechanismus zur Verwendung eines vertrauenswürdigen Prüfers wurde von Mike Hearn auf Bitstamp , Stefan Thomas auf Kraken , Antonopoulos auf Coinbase und anderen angewendet. Diese Überprüfungen stützen sich auf zentralisierte vertrauenswürdige Dritte und können nicht vor Absprachen zwischen den Diensten und den Prüfern schützen, eine Eigenschaft, die in dezentralisierten Systemen wie Bitcoin im Allgemeinen unerwünscht ist.

Das obige Problem wird von Benedict Bünz etc. auf ihrem Bestimmungspapier angesprochen und eine Umsetzung bereitgestellt. Leider sind ihre Beweise etwas komplizierter und erfordern etwas fortgeschrittenere kryptografische Werkzeuge (insbesondere Zero-Knowledge-Beweise des Wissens). Sie bieten jedoch eine vertrauenswürdige Verifizierbarkeit, ohne die Privatsphäre der Gesamtgelder oder Kontogrößen zu opfern. Diese neuen Entwicklungen sind jedoch derzeit nicht auf die aktuelle Bitcoin-Blockchain anwendbar, da die Bestimmungen nur gegen Pay-to-Pubkey-UTXOs funktionieren, nicht gegen Pay-to-Pubkey-Hash-UTXOs, die jetzt Standard bei Bitcoin sind. Pay-to-Pubkey-Hash-Transaktionen können gegen Adressen verwendet werden, die wiederverwendet wurden oder deren öffentliche Schlüssel bekannt sind. Aktuelle Best Practices schreiben jedoch keine Wiederverwendung von Adressen vor, sodass diese Anforderung nicht perfekt ist.

Basierend auf dem Bestimmungspapier ist ein zk-SNARKS-Beweissystem, das p2pkh-Transaktionen bereitstellen kann, ein interessantes Forschungsproblem mit laufender Forschung. Es bleibt abzuwarten, ob es effizient so implementiert werden kann, dass Beweise prägnant und schnell sind. Auch das Problem eines von SNARKS geforderten Trusted Setup muss durch eine solche Implementierung angegangen werden.