Es gibt zwei verschiedene Dinge, die Menschen mit „privat" meinen, und die meisten Tools können nur das einfache. Sie können verbergen, wie viel Sie gesendet haben, oder Sie können verbergen, an wen Sie es gesendet haben. Das sind nicht dasselbe Problem, und das Erste zu lösen bringt für das Zweite fast nichts. Eine wachsende Klasse von Confidential-Transfer-Verfahren verschlüsselt den Betrag eines Transfers – die Zahl ist verborgen, die Salden sind verschlüsselt – und präsentiert dies als Privatsphäre. Es ist ein echtes und nützliches Feature. Es ist auch die Hälfte des Problems, die am wenigsten Information leakt.
In diesem Beitrag geht es um die andere Hälfte: die Verbindung zwischen Sender und Empfänger, die die Betragsverschlüsselung vollständig intakt lässt.
Was ein verschlüsselter Betrag tatsächlich verbirgt
Stellen Sie sich einen normalen Solana-Transfer vor, bei dem der Betrag geschwärzt ist. Ein Beobachter sieht trotzdem: Wallet A hat etwas an Wallet B gesendet, zu diesem Zeitpunkt, in diesem Token. Die Graphkante ist da. Die beiden Adressen sind da. Das Timing ist da. Das Einzige, was fehlt, ist die Zahl im Betragsfeld.
Für einen Großteil der realen Deanonymisierung ist die Zahl das am wenigsten wertvolle Teil. Wenn ein Ermittler, eine Gegenpartei oder ein neugieriger Fremder bereits sehen kann, dass Ihre Wallet alle zwei Wochen einen bestimmten Empfänger bezahlt, haben sie Ihre Beziehung, Ihre Taktung und – durch Querverweise auf andere öffentliche Transfers – meist ohnehin eine gute Schätzung des Betrags. Die Zahl zu verschlüsseln erhöht den Aufwand geringfügig. Es durchtrennt nicht die Verbindung.
Und auf einem transparenten Hauptbuch ist die Verbindung der sensible Teil. Ihre Gegenparteien, Ihre Gehaltsabrechnung, Ihre Handelsbeziehungen, die Tatsache, dass Wallet A und Wallet B dieselbe Person sind – das sind Grapheigenschaften, keine Betragseigenschaften. Sie überstehen die Betragsverschlüsselung unberührt.
Das, was tatsächlich verschwinden muss: die Kante
Privatsphäre auf einer öffentlichen Chain dreht sich fundamental um den Graphen, nicht um die Beschriftungen an den Kanten. Um echte Unverknüpfbarkeit zu erreichen, müssen Sie die Kante selbst entfernen – es so einrichten, dass kein Beobachter eine Linie von dort, wo Mittel hineingingen, zu dort, wo sie herauskamen, ziehen kann.
Das erfordert einen abgeschirmten Pool. Viele Menschen zahlen hinter kryptografischen Commitments ein; jeder hebt später mithilfe eines Zero-Knowledge-Beweises ab, der behauptet „Ich besitze eine der nicht ausgegebenen Einzahlungen in diesem Pool", ohne zu verraten, welche (/learn/how-zk-proofs-work). Die Einzahlung und die Auszahlung sind zwei separate Transaktionen ohne Kante zwischen ihnen. Der Beobachter sieht eine Einzahlung von Wallet A und eine unabhängige Auszahlung an Wallet B und kann wirklich nicht sagen, ob es dieselbe Person ist – weil die Mathematik, die es ihm sagen würde, nie veröffentlicht wurde.
Beachten Sie, was sich geändert hat. Es ist nicht, dass der Betrag verschlüsselt ist. Es ist, dass die Verbindung weg ist. Das ist strukturell schwerer zu bauen – es braucht einen Merkle-Baum aus Commitments, ein Nullifier-Verfahren zur Verhinderung von Double-Spends und ein echtes Beweissystem (/glossary/shielded-pool, /glossary/nullifier) – was genau der Grund ist, warum Betragsverschlüsselung das verbreitetere Angebot ist. Es ist das einfachere Engineering-Problem.
„Aber alle verwenden dieselben Beträge" – warum der Pool trotzdem Sorgfalt braucht
Die Kante zu durchtrennen ist notwendig, aber nicht automatisch hinreichend, und hier kommen Beträge wieder ins Spiel – aus einer völlig anderen Richtung. Innerhalb eines abgeschirmten Pools besteht die Gefahr nicht darin, dass Ihr Betrag sichtbar ist; sie besteht darin, dass Ihr Betrag markant ist. Wenn jede Einzahlung im Pool ungefähr 0,5 SOL beträgt und Sie 47 einzahlen, dann zeigt die Mathematik auf Sie, sobald 47 wieder herauskommt – egal wie gut der Beweis war. Der Beweis verbirgt, welche Note Sie ausgegeben haben; ein ausreißender Betrag engt die Verdächtigenliste ohnehin auf eine Person ein.
In einem abgeschirmten Pool ist das Ziel also das Gegenteil von Verschlüsselung: Sie wollen, dass Ihr Betrag wie der aller anderen aussieht. Zahlen Sie in Beträgen ein und aus, die zur Menge passen, in runden Zahlen, und Sie verschmelzen mit der größtmöglichen Menge. /blog/anonymity-sets-on-solana arbeitet genau durch, wie Betragsbänder prägen, unter wem Sie sich verbergen. Das ist eine ehrlichere Behandlung von Beträgen, als Verschlüsselung sie Ihnen gibt: Nicht die Zahl ist das Geheimnis, die Ähnlichkeit zu anderen ist der Schutz.
Ein schneller Weg zu erkennen, welche Art von „privat" ein Tool bietet
Stellen Sie eine Frage: Kann ein Beobachter, nachdem ich es benutzt habe, immer noch sehen, dass meine Wallet mit dem Empfänger verbunden ist?
- Wenn die Antwort „ja, aber sie können nicht sehen, wie viel" lautet – ist es Betrags-Privatsphäre. Nützlich, um Salden und Zahlungsgrößen zu verbergen; nutzlos, um Beziehungen zu verbergen.
- Wenn die Antwort „nein, die Verbindung selbst ist weg" lautet – ist es Verbindungs-Privatsphäre, und das ist, was ein abgeschirmter Pool bietet.
Das meiste, was als Confidential Transfers verkauft wird, ist die erste Art. Für die Bedrohungsmodelle, die Menschen tatsächlich interessieren – nicht zu wollen, dass eine Gegenpartei Ihre Treasury kartiert, nicht zu wollen, dass ein Empfänger Ihr gesamtes Nettovermögen sieht, nicht zu wollen, dass Ihr Gehaltsgraph öffentlich ist – brauchen Sie die zweite.
Wohin als Nächstes
Wenn Sie Verbindungs-Privatsphäre in der Praxis sehen möchten, ist /blog/sending-sol-without-revealing-your-main-wallet die Schritt-für-Schritt-Anleitung. Wenn Sie die ehrlichen Grenzen wollen – was selbst Verbindungs-Privatsphäre nicht behebt – ist /learn/what-solmask-cannot-protect-you-from die schonungslose Liste. Und /compare legt dar, wie sich verschiedene Designs in diesem Bereich tatsächlich unterscheiden.
FAQ
F. Ist das Verschlüsseln des Betrags nicht trotzdem besser als nichts? A. Ja, für das enge Ziel, Salden und Zahlungsgrößen zu verbergen. Verwechseln Sie es nur nicht mit Unverknüpfbarkeit – es lässt Sender, Empfänger und Timing vollständig öffentlich, was üblicherweise die Information ist, die Menschen eigentlich schützen wollten.
F. Wenn ein abgeschirmter Pool die Verbindung durchtrennt, warum kümmert er sich dann überhaupt um Beträge? A. Weil ein ungewöhnlicher Betrag Sie durch Ausschluss re-identifiziert, selbst wenn der Beweis perfekt ist. Innerhalb eines Pools möchten Sie, dass Ihr Betrag der Menge ähnelt, nicht dass er verborgen ist. Es ist die Umkehrung der Betragsverschlüsselung.
F. Verschlüsselt SolMask auch Beträge? A. SolMask verbirgt die Verbindung, was die schwierigere und wertvollere Eigenschaft ist. Einzahlungs- und Auszahlungsbeträge sind Teil davon, wie Sie sich einfügen, daher lautet die Empfehlung, sich der Menge anzupassen, statt herauszustechen. Siehe /blog/anonymity-sets-on-solana.
F. Kann ich beides bekommen – verborgene Beträge und eine durchtrennte Verbindung? A. Verbindungs-Privatsphäre ist die Eigenschaft, die Graphanalyse schlägt, und sie ist das, was zu priorisieren ist. Kombinieren Sie sie mit guter Betragshygiene (runde Zahlen, an Peers anpassen) und einer frischen Empfängeradresse, und Sie haben abgedeckt, was Betragsverschlüsselung allein nicht berühren kann.