Zcash t-addr + z-addr-Transaktionen

Ist es möglich, die Rückverfolgbarkeit der Blockchain zu "brechen", indem ZEC zwischen z-addr und t-addr gesendet wird?

@renlord Fragen zu „einer direkt von Bitcoin abgeleiteten Kryptowährung oder Technologie wie Namecoin oder Litecoin“ oder zu „verteilten Kryptowährungen, die nicht direkt von Bitcoin abgeleitet sind wie Ripple, Ethereum oder NXT“ stehen auf dieser Seite ausdrücklich ganz oben. Quelle der Zitate: bitcoin.stackexchange.com/help/on-topic
OK. Ich werde meine enge Abstimmung widerrufen.

Antworten (1)

tl; dr Sie sollten beim Aufheben der Abschirmung gerundete ZEC-Werte verwenden, und selbst dann haben Sie weniger Privatsphäre, als wenn Sie nur Z-Adressen verwenden.


Genau dieser Frage gehen wir in diesem Blogbeitrag nach (Bilder, von denen ich unten reproduziere).

Transaktionen mit den von Bitcoin geerbten T-Adressen sind offensichtlich nachvollziehbar. Die mit der Verwendung von Z-Adressen verbundene Zero-Knowledge-Eigenschaft bedeutet jedoch, dass Sie ZEC an eine Z-Adresse senden (Erstellen einer "Notiz", des privaten Äquivalents eines TXO) und diese Notiz dann in einer nachfolgenden Transaktion verwenden , sind die beiden Transaktionen nicht direkt auf der Blockchain verknüpft (d. h. die zweite Transaktion enthält kein prevoutFeld, das auf die erste verweist, wie dies bei t-Adressen der Fall wäre).

Das bedeutet, wenn Sie ZEC von einer t-Adresse an eine z-Adresse (eine „Abschirmungs“-Transaktion) und dann von der z-Adresse an eine andere t-Adresse senden, erhalten Sie die Transaktionskette (b) unten:

Abgeschirmte Adressen können transparente Adressen entkoppeln

Dies "unterbricht" die Verbindung zwischen den T-Adressen von Alice und Carol (für diese Transaktion könnten andere transparente Zahlungen diese Adressen immer noch verknüpfen, daher sollte die gleiche Sorgfalt walten wie bei Bitcoin). Allgemeiner betrachtet, können Sie sich „Inseln“ von T-Adress-Aktivität vorstellen, die durch undurchsichtige Z-Adress-Transaktions-„Meere“ voneinander getrennt sind (siehe diesen Blogbeitrag für eine verwandte Ökosystemdiskussion).

Nun zum Vorbehalt! Die Z-Adresse verbirgt alle Details (Empfänger, Werte und Memofelder) der Ausgangsnotizen in der Abschirmungstransaktion und die entsprechenden Eigenschaften der Eingangsnotizen in der Unshielding-Transaktion. Aber die ZEC-Werte sind immer noch öffentlich, weil sie in den transparenten Hälften der Transaktionen sichtbar sind! Dies bedeutet, dass Sie auf Probleme stoßen können, wenn Sie den vollständigen Saldo einer T-Adresse ohne Änderung senden :

Eine abgeschirmte Adresse schützt in manchen Fällen möglicherweise nicht vor Wertverknüpfbarkeit

Der volle Wert ist in der ersten Transaktion sichtbar, und später erscheint eine zweite Transaktion mit einem Ausgangswert, der dem ursprünglichen Eingangswert minus zwei Transaktionsgebühren entspricht. Timing-Daten sind ebenfalls verfügbar (weil die Transaktionen in der Blockchain von Natur aus geordnet und mit einem Zeitstempel versehen sind), was bedeutet, dass es möglich sein kann, die beiden Transaktionen allein auf der Grundlage dieser Werte statistisch zu verknüpfen [0].

Die Lösung hierfür ist ziemlich einfach : Verwenden Sie beim Aufheben der Abschirmung "gerundete" Beträge (wobei die Änderung auf die Z-Adresse zurückgeht). Auf diese Weise gibt es keine Wertverbindung zwischen den Shielding- und Unshielding-Transaktionen.

BEARBEITEN: Beachten Sie, dass die von Ihnen verwendete Rundungsstrategie selbst Informationen verlieren kann! Wenn Sie beispielsweise immer auf die nächste ganze ZEC abrunden und jemand anderes immer auf die nächsten 10 ZEC abrundet, werden Ihre Unshielding-Transaktionen im Laufe der Zeit deutlich anders aussehen als ihre und jemand, der nach Mustern im Block sucht Kette kann damit beginnen, Ihre Unshielding-Transaktionen vom Rest zu trennen. Im Allgemeinen gilt: Je größer und standardisierter die von Ihnen verwendeten Buckets sind, desto weniger Informationen werden durchsickern; Außerdem möchten Sie, dass alle anderen dieselben Eimer verwenden wie Sie!

Das Fazit ist, wenn Sie die Menge an Informationen, die Sie verlieren, minimieren möchten, ist der einfachste Weg, dies zu tun, die Verwendung von t-addrs zu minimieren.

[0] Es ist etwas komplexer als das hier. Der abgeschirmte Teil einer nicht abgeschirmten Transaktion hat immer noch die gleichen zwei Ausgabenotizen wie jeder andere abgeschirmte Transaktionsteil (sie enthalten nur Dummy-Notizen für eine z-> t-Transaktion), und diese Teile könnten gefüllt werden (d. h. mit einer z-Adresse an zahlen sowohl z-Adressen als auch t-Adressen). Das Abgleichen von Werten ist zwar eine starke Verbindung, aber keine definitive Verbindung und kann tatsächlich absichtlich von Wallets untergraben werden, die vpub_newWerte für ihre Unshielding-Transaktionen aus dem Satz von vpub_oldWerten auswählen, die in der Blockchain gesehen wurden. Das Runden der Werte ist effektiv ein gesellschaftlicher Konsensmechanismus, um dies zu erreichen.

Wooohoo, willkommen @str4d! :)