Können Blockchain-Miner vertrauliche Transaktionsinformationen einsehen? Da sie den öffentlichen Schlüssel haben, entschlüsseln sie die Transaktion zum Zweck der Verifizierung. Wenn ich also in Ethereum schürfe, kann ich den Node-Code optimieren, um die Transaktionsdetails auf meiner Festplatte zu protokollieren. Ist Blockchain nicht geeignet, wo Vertraulichkeit wichtig ist?
Ethereum-Transaktionen werden nicht verschlüsselt, daher ist keine Entschlüsselung erforderlich. Das Protokollieren aller Transaktionen auf der Festplatte gehört dazu, ein Knoten (Miner oder ein beliebiger vollständiger Knoten) zu sein, sodass keine Optimierungen erforderlich sind. Auf Seiten wie Etherscan können Sie jede historische Transaktion im Klartext sehen .
So wie es aussieht, gibt es in der öffentlichen Ethereum-Blockchain keine Transaktionsvertraulichkeit.
Dies kann sich in Zukunft ändern, wenn/wenn die ZK Snark -Technologie implementiert wird. Es gibt Varianten von Ethereum (wie Quorum) mit Mechanismen für private Transaktionen, aber diese übertragen sich nicht auf die öffentliche Ethereum-Blockchain.
Alles, was in das Netzwerk gesendet wird, einschließlich aller Transaktionen, ist für alle Knoten öffentlich . Die einzige Frage ist, ob diese Informationen im Klartext vorliegen oder nicht. Sie haben "vertrauliche Transaktionsinformationen" nicht definiert. Wenn Sie meinen, dass überhaupt eine Transaktion stattgefunden hat (was manche Leute als vertraulich betrachten könnten), dann nein. Wenn Sie Dinge wie den Empfänger oder den Betrag meinen, ist die Einführung von zkSNARKs in Metropolis der Anfang, Datenschutz für diese hinzuzufügen. Wenn Sie ein benutzerdefiniertes Token verwenden (kein derzeit ERC-kompatibles), sollte zkSNARKs ermöglichen, dass diese Art von Datenschutz zum Token hinzugefügt wird.
Wenn Sie andere Daten meinen, die Sie in Ihrer Transaktion haben möchten, die spezifisch für einen Vertrag sind, den Sie schreiben, können Sie Standard-Verschlüsselungstechniken (mit genügend Gas) oder bei Bedarf sogar homomorphe Verschlüsselung verwenden . Dies ist derzeit möglich.
Verschleierungstechniken wie das Taumeln können auch Ihre Bedürfnisse befriedigen.
Genau wie die anderen in diesem Thread erklärten, gibt es keine Möglichkeit, Transaktionen auf Ethereum mit den primitiven verfügbaren Tools zu verbergen.
Zwei Jahre nachdem diese Frage gestellt wurde, wurde jedoch das AZTEC- Protokoll gestartet und ich veröffentlichte How to Code Your Own Confidential Token on Ethereum – einen Artikel, der beschreibt, wie man einen normalen ERC20-Token mit einer vertraulichen Version verknüpft.
Haftungsausschluss: Ich arbeite bei AZTEC als Vollzeit-Blockchain-Ingenieur.
Fragesteller