Taproot And FROST Improve Bitcoin Privacy – Bitcoin Magazine

Taproot And FROST Improve Bitcoin Privacy – Bitcoin Magazine

Dies ist ein Meinungsleitartikel von Dan Gould und Nick Farrow. Gould ist ein Entwickler, der an TumbleBit, PayJoin und Chaincase App gearbeitet hat und von der Human Rights Foundation und Geyser Grants gesponsert wurde. Farrow ist ein australischer Bitcoin-Ingenieur, der vor allem für seinen Open-Source-Zahlungsprozessor SatSale bekannt ist.

„Hey, ich habe gerade eine Einladung zu diesem Hackathon in Malaysia bekommen“, sagte Evan Lin und unterbrach mich über meinen Laptop im Taipei Hackerspace. „Das klingt magisch“, schnappte ich zurück. „Kann ich kommen?“

Ich hatte wochenlang meinen Kopf auf den Schreibtisch geschlagen. Lin hatte meine Vorstellung davon, was Bitcoin-Privatsphäre ist, auseinandergerissen. „Es ist eine private Veranstaltung, kein typischer Hackathon. Ich kann Fragen.“

Einen Flug, zwei Wochen und sechs Minuten Sprachnachrichten-Logistik später gingen wir mit Lloyd Fournier durch die von Durian gesäumten Straßen von Kuala Lumpur, Malaysia, und grübelten über unsere gemeinsame Leidenschaft nach, Bitcoin-Privatsphäre-Stick zu machen. Jetzt waren wir ein Team. Wir machten uns daran, Fedimint mit halbwegs polierter Kryptographie und einigen hingekritzelten Notizen zu aktualisieren und es dann fünf Tage später beim allerersten malaysischen BitDevs-Treffen vorzuführen.

Fournier hatte sich in den Monaten zuvor Nick Farrow angeschlossen, um FROST zu entwickeln, eine neue Schwellenkryptografie, die Taproot nutzt. Als Quelle von Bitcoin-Personal hat Fournier auch eng mit Lin zusammengearbeitet, der ein Mitwirkender des Bitcoin Dev Kit (BDK) ist. Er und ich hatten die letzten Wochen damit verbracht, die Privatsphäre von PayJoin unter Neonlicht in den frühen Morgenstunden in Taipeh, Taiwan, zu verbessern, also hatten wir Vertrauen aufgebaut, um gemeinsam bei einem Projekt ins kalte Wasser zu springen. Fourniers Einladung war ein Schritt zum Abgrund. Um der Welt die hochmoderne Kryptographie zu demonstrieren, mussten wir FROST in eine App integrieren. Fedimint hatte alle Blicke auf sein neues Schwellensorgemodell. Es war für die Suche geeignet.

Selbstverwahrung ist für die meisten Menschen ein neuartiges, beängstigendes Konzept. So viele Menschen lagern Bitcoin in der Verwahrung Dritter an Börsen, wodurch sie Zensur und unanständiger Überwachung ausgesetzt sind. Federated Mints bieten einen dritten Weg: Ein Verband bekannter Wächter schützt Gemeinschaftsgelder. Wie funktioniert es?

Jeder kann Bitcoin im Austausch gegen E-Cash-Token an eine Fedimint senden. Die Wächter teilen sich die Verwahrung der Bitcoins der Gemeinschaft in einem Multisignatur-Wallet. Die E-Cash-Token sind nur einige Daten: Blindsignaturen, die später gegen eine bestimmte Menge Bitcoin eingelöst werden können. Sie sind Banknoten mit Superkräften. Reichen Sie eine Lightning-Rechnung und Ihre E-Cash-Token ein, um sie abzustecken. Sie könnten E-Cash in einer SMS erhalten und den Verband Unterschriften neu ausstellen lassen, damit niemand sonst es nehmen kann. Die Unterschriften sind geblendet, sodass sie in völliger Anonymität eingelöst werden können. Jeder kann E-Cash an einen Fedimint senden, um Bitcoin zu erhalten.

Um das Sorgerecht zwischen Erziehungsberechtigten aufzuteilen, verwendet Fedimint alte Bitcoin-Skript-basierte Multisignatur-Adressen. Eine Mindestanzahl von Erziehungsberechtigten unterschreibt, um Geld zu überweisen. Diese Gelder sind in der Blockchain leicht zu erkennen, da Script Multisig die Anzahl der Unterzeichner und die Gesamtzahl der Wächter für jedermann sichtbar in die Blockchain schreibt. Obwohl E-Cash anonym ist, könnten Überwachungsunternehmen Peg-Ins, Peg-Outs und Cluster-Community-Fonds identifizieren. Durch die Nutzung des neuesten Upgrades von Bitcoin, Taproot, löste unser Team dieses Datenschutzproblem, indem es Script Multisig auf FROST umstellte.

Geben Sie FROST ein

FROST (Flexible Round Optimized Schnorr Threshold) ist eine leistungsstarke neue Art von Multisig, die die Schlüsselanteile der Föderationsmitglieder in einem gemeinsamen FROST-Schlüssel aggregiert. Um unter diesem Schlüssel auszugeben, muss eine bestimmte Anzahl von Mitgliedern jeweils einen Signaturanteil vorweisen. Die Anteile werden dann zu einer einzigen Signatur zusammengefasst, die unter dem gemeinsamen FROST-Schlüssel gültig ist. Mitglieder koordinieren Off-Chain. FROST-Transaktionen sind nicht von regulären Single-Party-Taproot-Ausgaben zu unterscheiden und beenden so die gruselige Überwachung. Darüber hinaus ermöglicht FROST flexible Föderationen, sodass neue Wächter beitreten können, ohne jedes Mitglied der Föderation zu koordinieren, um erneut neue Schlüssel zu generieren.

Unser erster Schritt bestand darin, zu verstehen, wie der Verband bei jeder Unterzeichnungsrunde einen Konsens erzielte. Der Konsensalgorithmus von Fedimint kann schlechtes Verhalten für bis zu einem Drittel der Föderation tolerieren und dennoch einen Konsens erzielen. Es dauerte einen Tag am Whiteboard, um den Konsensalgorithmus zu entschlüsseln, und einen weiteren, um die anfängliche FROST-Schlüsselgenerierung zu konfigurieren.

Auf dem Weg zum femininten Konsens (Bild von den Autoren bereitgestellt)

Wir haben die Schlüsselgenerierung betrogen, indem wir alles im Speicher eines einzigen vertrauenswürdigen Geräts durchgeführt haben. In bewährter Praxis bewahrt eine Zwei-Runden-Zeremonie die geheimen Anteile einer Person am gemeinsamen FROST-Schlüssel, der immer nur auf dem Gerät dieser Person vorhanden ist. Das Gesamtgeheimnis wird nie rekonstruiert.

Zum Konsens kommen (Unterschriften)

Wir haben eine Peg-in-Transaktion getestet, bevor wir den Fedimint-Brieftaschencode geändert haben, und waren ratlos. Aufgrund einer Beschränkung auf Blindsignaturen sind E-Cash-Token von Fedimint (ähnlich wie CoinJoin-Ausgaben) auf voreingestellte Stückelungen beschränkt, sodass für jede E-Cash-Token-Übertragung ein Anonymitätssatz festgelegt ist. Warten und warten und warten, Lin lachte, dass wir etwas vermasselt haben müssen.

Es stellte sich heraus, dass die Münzstätte für die von uns festgelegten Standardnotenwerte etwa 300.000 Unterschriften generieren musste, um genügend E-Cash auszugeben, um den Peg-in-Betrag zu decken. Es gibt Vorschläge, dies zu beheben, indem stattdessen anonyme Anmeldeinformationen verwendet werden. Wir haben die Münze zurückgesetzt, um viel höhere Standardstückelungen zu verwenden, da wir nur getestet haben. Hackathons sind schließlich für Hacks da.

Durch einen Glücksfall hatte sich Bitcoiner Malaysia gerade gebildet und war für ihre erste Veranstaltung gerüstet. Zwischen uns vier Hackern, einem Gastgeber des größten chinesischen Bitcoin-Podcasts und dem Gelehrten auf dem Weg, den ersten Bitcoin-Doktortitel zu verdienen. in Malaysia wollten wir Ende der Woche unseren Proof-of-Work bei BitDevs zeigen.

Unsere schwierigste Aufgabe lag noch vor uns: föderierte Signaturen. Um eine FROST-Freigabe zu erstellen, müssen Unterzeichner einer gemeinsamen Zufälligkeit zustimmen, die als Nonces bezeichnet wird. Im Fall von Fedimint verwenden die Unterzeichner einen Konsens, um sich auf eine eindeutige Nonce für jedes Föderationsmitglied zu einigen, das an einer Unterzeichnungssitzung teilnimmt. Anschließend aggregieren die signierenden Teilnehmer Anteile zu einer vollständigen Signatur.

Während wir unsere Live-Demo für das Meetup entwarfen, gelang es uns, einige halbwegs funktionierende Nonce-Sharing-Funktionen zu erhalten und auch einige Gebührenfehler zu beheben. Trotz unserer harten Arbeit rollte das Abendessen herum, bevor unser Code funktionierte. Wir überquerten die Schwelle in das tiefste Hackathon-Territorium und drängten uns um den Fernseher für dreifach gepaarte Programme in Farrows Hotelzimmer.

Eine unwirkliche Erfahrung

Mit unserem Leitungswasser bereit und dem Soundboard von Unreal Tournament aufgedreht, saß Fournier an der Tastatur, während wir Bugfixes, Variablennamen und Befehle vom Rücksitz aus schleuderten. 1:30 Uhr rollte herum und unsere Augenlider waren schwer. Ein paar Taps später funktionierte das Peg-Out wie von Zauberhand. Jeder Unterzeichner würde Signaturanteile von den anderen erhalten und das E-Cash von Anon gegen Bitcoin einlösen. „Flawless Victory“ rangierte aus dem Resonanzboden. Wir jubelten ungläubig.

Außer es hat nicht funktioniert. Am nächsten Tag ließen wir den Code laufen und sahen sofort Probleme. Wir hatten erst am Vorabend Glück. Es hat nur einmal von drei oder vier Versuchen funktioniert. Wir haben stundenlang Code in Hackathon-Qualität durchkämmt. Nun, nach dem Mittagessen machten wir uns immer noch Sorgen, dass wir noch eine Nacht lang büffeln müssten. Zu unserer Hilfe haben wir das Problem gefunden: ein klassischer Indizierungsfehler. Um 17:00 Uhr war FROSTimint bereit für die Präsentation.

Nachdem wir uns für BitDevs eingekreist hatten, nahmen die Einheimischen ein selbsternanntes „Selbsthilfegruppen“-Format für die Vorstellung an. Fournier hat uns mit dem Technischen in die Realität zurückgebracht. Das Eröffnungstreffen diskutierte mit Freude über die Zukunft und die Schwächen der Hüter. Wie würden wir Wächter auswählen? Können sie Teilreserven halten? Am wichtigsten ist, wie kann mein Laksa-Nudelsuppengeschäft mit Fedimint über Fiat hinausgehen?

Dies ist ein Gastbeitrag von Dan Gould und Nick Farrow. Die geäußerten Meinungen sind ausschließlich ihre eigenen und spiegeln nicht unbedingt die von BTC Inc. oder Bitcoin Magazine wider.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert