Monero meldet weitere Fortschritte beim geplanten Datenschutz-Upgrade FCMP++. Eine benötigte Kryptografie-Bibliothek wurde in den Entwicklungszweig aufgenommen, während die Einbindung des neuen Transaktionsverfahrens und weitere Sicherheitsprüfungen noch laufen.

Was FCMP++ an Monero-Zahlungen verändern soll

Wer XMR erhält, bekommt technisch einen sogenannten Transaktionsausgang, auch Output genannt. Dieser repräsentiert einen empfangenen Betrag, den die Wallet später wieder ausgeben kann. Bei einer neuen Zahlung muss das Netzwerk prüfen können, ob die Ausgabe berechtigt ist, ohne öffentlich zu verraten, welcher frühere Output dafür verwendet wird.

Bislang nutzt Monero dafür Ringsignaturen. Für jeden ausgegebenen Output wird eine Gruppe aus 16 möglichen Ursprüngen gebildet: dem tatsächlich verwendeten Ausgang und 15 weiteren Ausgängen als Tarnung. Diese Tarnkandidaten werden als Decoys bezeichnet. Die Signatur bestätigt die Berechtigung zur Ausgabe, ohne offenzulegen, welcher Kandidat der echte ist.

FCMP++ soll diese Begrenzung auf einen kleinen Ring aufheben. Full-Chain Membership Proofs sind kryptografische Nachweise dafür, dass ein ausgegebener Output zur Menge der erfassten Ausgänge auf der Blockchain gehört. Welcher Ausgang verwendet wird, bleibt dabei verborgen. Die möglichen Ursprünge werden dadurch über die gesamte Kette verteilt.

Tipp der Redaktion: Monero vor großem Privacy-Upgrade: FCMP++ erreicht wichtigen Meilenstein

Der Monero-Account auf X griff dazu eine Projekterklärung vom April 2024 auf:

„Full-Chain Membership Proofs belegen, dass der ausgegebene Transaktionsausgang einer der Ausgänge auf der Blockchain ist, wodurch all diese Risiken praktisch beseitigt werden. Damit steigt die unmittelbare Anonymitätsmenge jedes Transaktionseingangs von 16 auf 100.000.000.“

Mit den Risiken sind Schwächen des bisherigen Ringverfahrens gemeint, darunter statistische Rückschlüsse auf den tatsächlichen Ursprung. Die 100 Millionen stammen aus der damaligen Erklärung und sind keine aktuelle Zählung. Die Zahl bezeichnet mögliche Outputs, zwischen denen sich eine Ausgabe verbirgt. Wie groß diese Menge tatsächlich ist, hängt vom jeweiligen Stand der für den Nachweis erfassten Blockchain-Ausgänge ab.

Die beiden Pluszeichen stehen für zusätzliche Funktionen: „Spend Authorization“ stellt sicher, dass nur Berechtigte einen Output ausgeben können. „Linkability“ ermöglicht es, eine erneute Ausgabe desselben Outputs zu erkennen und zurückzuweisen, ohne seinen Ursprung öffentlich offenzulegen.

Damit Wallets das neue Verfahren nutzen können, wird parallel an Carrot gearbeitet. Dieses Adressierungsprotokoll legt fest, wie Zahlungen an Monero-Adressen erzeugt werden und wie die Empfänger-Wallet ihre Zahlungen erkennt. FCMP++ liefert die Regeln und Nachweise für gültige Transaktionen, Carrot beschreibt darauf aufbauend den Umgang mit Adressen und Wallet-Schlüsseln. Bestehende Monero-Adressen sollen dabei weiter verwendbar bleiben.

Für diese Aufgaben benötigt Carrot kryptografische Rechenfunktionen. Die Softwarebibliothek mx25519 stellt solche Funktionen für den Schlüsselaustausch auf Basis von Curve25519 bereit. Vereinfacht dienen sie dazu, gemeinsame geheime Werte zu berechnen, mit denen Zahlungsinformationen geschützt und vom vorgesehenen Empfänger wieder erkannt werden können.

Den Entwicklungsstand fasste der ausdrücklich als inoffiziell gekennzeichnete X-Account Monero Research Lab am 22. Oktober zusammen. Grundlage war die Forschungssitzung vom 21. Oktober:

„mx25519 wurde integriert. Die Änderungsvorschläge zur Einbindung in die Konsensregeln des Hauptprojekts stehen zur Prüfung bereit, die Kommentare der KI-Sprachmodelle wurden bearbeitet. Die Angebotsanfrage für die Integrationsaudits der Phasen 2 und 3 ist verschickt, Angebote werden eingeholt.“

Der zugehörige Änderungsvorschlag für mx25519 wurde bereits am 18. Oktober in den Hauptentwicklungszweig übernommen. Das schafft eine Voraussetzung für Carrot. Die Aufnahme von Programmcode in diesen Zweig bedeutet jedoch noch keine Aktivierung des gesamten Upgrades im laufenden Netzwerk.

Die ebenfalls genannten Änderungsvorschläge, sogenannte Pull Requests, betreffen die Einbindung von FCMP++ in die Konsensregeln. Diese Regeln bestimmen, welche Transaktionen das Netzwerk akzeptiert. Andere Entwickler müssen die vorgeschlagenen Änderungen noch prüfen. Die erwähnten LLM-Kommentare sind Anmerkungen aus KI-gestützten Codeprüfungen.

Was die Sicherheitsprüfungen untersuchen

Bei den Integrationsaudits geht es darum, ob das neue Verfahren korrekt in die Monero-Software eingebaut wurde. Laut Audit-Übersicht betrifft Phase 2 den Aufbau der sogenannten Curve Trees. Diese mathematischen Baumstrukturen fassen die erfassten Outputs so zusammen, dass sich ihre Zugehörigkeit mit einem kompakten kryptografischen Nachweis bestätigen lässt.

Phase 3 untersucht die Einbindung in die Konsensregeln, einschließlich der Prüfung der neuen Nachweise. Damit soll sichergestellt werden, dass das Netzwerk gültige Transaktionen akzeptiert und ungültige zurückweist. Für beide Phasen werden derzeit Audit-Angebote eingeholt.

Parallel läuft eine Prüfung durch die Sicherheitsfirma Least Authority. Sie betrifft den kryptografischen „Circuit“ und seine „Gadgets“. Ein Circuit ist hier ein System mathematischer Prüfbedingungen, die ein Nachweis erfüllen muss. Gadgets sind die einzelnen Bausteine innerhalb dieses Systems. Untersucht wird damit die Umsetzung der Nachweislogik selbst, ergänzend zu ihrer Einbindung in die Netzwerksoftware.

Die Änderungen müssen außerdem mit Wallet-Funktionen zusammenarbeiten. Dazu zählt Multisig: Hier benötigt eine Zahlung die Freigabe einer festgelegten Mindestzahl beteiligter Schlüsselinhaber. Diese gemeinsame Kontrolle über Guthaben muss auch mit dem neuen Transaktionsverfahren funktionieren.

Ein weiterer Arbeitsbereich sind Zahlungsnachweise für Carrot. Weil Monero Zahlungsdetails verbirgt, reicht ein öffentlicher Blick auf die Blockchain nicht aus, um eine bestimmte Zahlung an einen bestimmten Empfänger zu bestätigen. Mit einem kryptografischen Zahlungsnachweis kann ein Nutzer diese Information gezielt gegenüber Dritten belegen.

Lesetipp: Monero vor großem Privacy-Upgrade: FCMP++ soll Anonymität deutlich erhöhen

Der offene Streitpunkt bei Selbstüberweisungen

Bei diesen Nachweisen besteht noch Klärungsbedarf. Hintergrund ist ein dokumentiertes Datenschutzproblem, das auch den Carrot-Entwurf betrifft: Bei einer Transaktion mit zwei Ausgängen könnte ein Empfänger unter den beschriebenen Bedingungen das Wechselgeld dem Absender zuordnen, wenn dessen Hauptadresse bereits bekannt ist. Wechselgeld bezeichnet den Teil eines verwendeten Outputs, den die Zahlung an die eigene Wallet zurückführt.

Eine vorgeschlagene Korrektur verändert wiederum die Möglichkeiten, bestimmte Zahlungen an die eigene Wallet nachzuweisen. Deshalb diskutieren die Entwickler sogenannte Self-Send Receipts, also Belege für solche Selbstzahlungen.

Ein mithilfe des KI-Sprachmodells Astra vorgeschlagener Ansatz stieß dabei auf Einwände. Er könnte nach Einschätzung aus der Sitzung den privaten Schlüssel k_v offenlegen. Dabei handelt es sich um einen View Key, mit dem eingehende Zahlungen erkannt und entschlüsselt werden können. Er ist vom Schlüssel zur Ausgabe des Guthabens zu unterscheiden.

Die Sorge betrifft außerdem eine spätere Umstellung auf Post-Quanten-Kryptografie, also Verfahren, die Angriffen leistungsfähiger Quantencomputer standhalten sollen. Heute offengelegte Schlüssel könnten die Datenschutzgarantien einer solchen Umstellung beeinträchtigen. Selsta will den Ansatz unter Berücksichtigung dieser Einwände verfeinern. Es handelt sich um eine offene Entwurfsfrage.

Parallel zu Codeprüfungen und Audits läuft ein Beta-Stressnet. In diesem separaten Testnetz wird die neue Software unter Last erprobt, um Fehler und Leistungsprobleme vor einem Einsatz im Hauptnetz zu finden.

Das Update nennt keinen verbindlichen Aktivierungstermin. Die größere Anonymitätsmenge setzt voraus, dass die neue Nachweistechnik, ihre Einbindung in die Netzwerkregeln und die dazugehörigen Wallet-Funktionen zuverlässig zusammenarbeiten. Genau an diesen Übergängen liegen die noch laufenden Arbeiten.