Newsticker

Vitalik Buterin über Sinn und Unsinn von Stealth Adressen

Ein Chamäleon tarnt sich. Bild von wishwasdeep srivastav via flickr.com. Lizenz: Creative Commons

Ethereum-Mitgründer Vitalik Buterin erklärt, wie Stealth-Adresses eines der Probleme von Ethereum mit der Privatsphäre entschärfen können. Das Konzept ist interessant – doch selbst Vitalik Buterin räumt ein, dass eine Praxis, die bei Bitcoin längst üblich ist, ähnliche Vorteile einfacher erreicht.

Über Probleme redet es sich am besten, wenn man eine Lösung im Ärmel hat. So benennt Vitalik Buterin die Privacy-Schwächen von Ethereum selten so unverblümt, wie in einem Post, in dem er Stealth Addresses vorstellt.

Die Privatsphäre der User sei eine der größten verbleibenden Herausforderung von Ethereum. Alles auf einer Blockchain öffentlich, was bei Ethereum nicht allein Geld und Finanzen meint, sondern auch ENS-Namen, NFTs, Soulbound-Token und mehr. Das gesamte Spektrum von Ethereum-Anwendungen zu nutzen bedeute in der Praxis, „signifikante Teile deines Lebens öffentlich zu machen.“ Es sei daher weithin anerkannt, dass dies ein Problem sei.

Ein Teil der Lösung können Stealth Addresses sein – ein Konzept, das bereits 2014 von Peter Todd für Bitcoin formuliert wurde, bislang aber lediglich bei Monero umgesetzt wurde. Stealth Addresses verschleiern nicht, dass es eine Transaktion gab – dies ist unmöglich – und sie trennen auch nicht den Link zwischen Sender und Empfänger. Stealth Addresses verbergen jedoch, wer der Empfänger ist. Bei Bitcoin geschieht dies bereits zum Teil durch die Praxis, für jede Transaktion eine neue Adresse zu verwenden, so dass die Zuordnung an eine Identität zumindest etwas schwieriger ist. Bei Ethereum dagegen verwendet Wallets den „Account“ – das ist die Adresse – immer wieder: Für Ether, für Token, für NFTs, fürs Login bei dApps und so weiter. Ethereum verschiebt damit das fragile Gleichgewicht zwischen Transparenz und Privatsphäre auf eine für User ungünstige Weise.

Eine Stealth Address könnte helfen. Das ist ein Konzept, das es erlaubt, eine Adresse zu teilen, aus der jemand anderes neue Adressen ableiten kann. Sie hat einen ähnlichen Effekt wie das Wechseln der Adressen, aber den Vorteil, dass man diese nicht kommunizieren muss. Eine Steal Address, erkärt Vitalik technisch treffend, „ist eine Adresse, die sowohl von Alice als auch Bob“ – die beiden Parteien einer Transaktion – „generiert werden kann, aber nur von Bob kontrolliert wird.“

Technisch und kryptographisch ist das Verfahren recht anspruchsvoll, aber schlüssig. Bob, der Empfänger, besitzt einen geheimen „spending key“, was dem privaten Schlüssel entspricht, und generiert mit diesem eine „Stealth Meta-Addresse“. Diese gibt er an Alice, der Senderin, oder veröffentlicht sie mit seiner ENS-Adresse. Es ist kein Problem, wenn die ganze Welt sie sieht. Alice kann dann auf Basis der Meta-Adresse eine Stealth-Address generieren, die Bob gehört, und Assets an diese senden. Zugleich muss sie einige kryptographische Daten generieren – den ephemeren (flüchtigen) öffentlichen Schlüssel – und onchain ablegen, damit Bob die Adresse findet, die etwas empfangen hat. Dank kryptographischer Tricks können nur Alice und Bob aus dem ephemeren Schlüssel die Adresse ableiten.

Die Kryptographie von Stealth Addresses, erklärt Vitalik, ist solide, und die Umsetzung nicht übermäßig schwierig. Daher gibt es auch bereits ein Ethereum Improvement Proposal (EIP), das die Einführung von Stealth Addresses skizziert. Eigentlich stünde der Einführung nichts mehr im Wege, oder?

Es gibt jedoch, schreibt Vitalik, „einige ziemlich große Details der Implementierung, durch die man zuerst gehen muss.“ Eines ist sehr spezifisch für Ethereum: Wenn man beispielsweise ein NFT per Stealth Address empfängt und die Wallet die Adresse auch erkennt, besitzt man das NFT zwar. Doch um es zu überweisen, muss man Gebühren bezahlen, und da die Adresse kein Guthaben in Ether hat, kann sie das nicht. Man könnte natürlich Ether an sie senden, doch damit würde man die Adresse mit einer anderen verbinden, und der Sinn der Übung ist ja eben, dies zu vermeiden. Es gibt einen Vorschlag, Gebühren mit Token zu bezahlen (ERC-4337), doch dies gilt nur für fungible ERC20-Token, nicht für NFTs.

Vitalik hat jedoch einen Vorschlag, um das Problem zu lösen. Man kann „spezialisierte Transaktions-Aggregatoren“ beauftragen. Diese würden „einem User erlauben, eine Serie von ‚tickets‘ zu kaufen, die man benutzen kann, um onchain-Gebühren für Transaktionen zu bezahlen.“ Diese Tickets würden blinde Signaturen nach David Chaum verwenden, um die Adresse, die die Tickets bezahlt hat, nicht mit der zu verbinden, die sie in Anspruch nimmt. Unabhängig von Stealth Addresses hätte ein solcher Mechanismus viele Vorteile.

Bei Bitcoin, wo es solche Komplikationen nicht gibt, wurden Stealth-Adressen niemals wirklich eingeführt. Es gab ein BIP, und es gab diverse Versuche, sie etwas mit der Darkwallet zu etablieren, doch das Thema schlief relativ bald wieder ein. Ein Grund könnte sein, dass die Entdeckung der Adressen, die aus der Stealth Address abgeleitet werden, nicht ganz trivial ist, und nicht nur den Wallet-Entwicklern viel Arbeit aufbürden, sondern womöglich auch mehr Zeit brauchen würde, als sich mit einer sinnvollen Nutzererfahrung verträgt. Ein anderer könnte sein, dass sich bei Bitcoin der Fokus auf Offchain-Lösungen wie Lighning verschoben hat, weshalb das Interesse schlicht nicht mehr da war.

Ohnehin verwenden die meisten Bitcoin-Wallets Adressen nur einmal. Stealth Addresses bringen daher nur wenig Vorteile für die Privatsphäre, sondern erkaufen vor allem umständlich errungene Vorteile für die Nutzererfahrung. Daher sind Stealth-Adressen mehr für die Privacy-Maximalisten von Monero interessant, für die jedes Jot mehr Privatsphäre ein Gewinn ist.

Für Ethereum wäre es ein wesentlich weniger umständlicher, schnellerer und weniger komplexerer erster Schritt, ebenfalls die Praxis einzuführen, für jede Transaktion neue Adressen zu verwenden. Bisher erschweren Ethereum-Wallets dies erheblich, wobei auch das Account- anstelle des UTXO-Systems eine Rolle spielt. Daher meint auch Vitalik Buterin, „Wallets sollte anfangen, sich hin zu einem nativen Multi-Adress-Modell zu bewegen“, etwa indem sie für jede Anwendung, mit der sie interagieren, neue Adressen generieren. Es wäre ein erster und wichtiger Schritt, mit dem schon sehr viel gewonnen wäre.


Entdecke mehr von BitcoinBlog.de - das Blog für Bitcoin und andere virtuelle Währungen

Melde dich für ein Abonnement an, um die neuesten Beiträge per E-Mail zu erhalten.

Über Christoph Bergmann (2818 Artikel)
Das Bitcoinblog wird von Bitcoin.de gesponsort, ist inhaltlich aber unabhängig und gibt die Meinung des Redakteurs Christoph Bergmann wieder ---

1 Kommentar zu Vitalik Buterin über Sinn und Unsinn von Stealth Adressen

  1. Erstmal finde ich es löblich, dass Vitalik Privacy als Issue entdeckt hat!

    Ohnehin verwenden die meisten Bitcoin-Wallets Adressen nur einmal. Stealth Addresses bringen daher nur wenig Vorteile für die Privatsphäre, sondern erkaufen vor allem umständlich errungene Vorteile für die Nutzererfahrung. Daher sind Stealth-Adressen mehr für die Privacy-Maximalisten von Monero interessant, für die jedes Jot mehr Privatsphäre ein Gewinn ist.

    Maximalist hier 😉
    Die meisten Bitcoin Wallets sind zwar „HD-Wallets“, aber egal ob es eine (zentralisierte) Börse, der Arbeitgeber, der Geschäftspartner oder eine Spendenadresse ist, sie wird in der Regel nicht verändert und wäre viel zu umständlich im Handling… Man überlege sich nur, jeden Monat dem Arbeitgeber eine neue Adresse mitteilen zu müssen, alleine weil nicht in allen Betrieben eine Transparenz zwischen Mitarbeitern und deren Gehältern oder Boni herrscht.

    Konkretes Beispiel? Deine früher hier veröffentlichte Spendenadresse:
    https://blockchair.com/bitcoin/address/1BergmanNpFqZwALMRe8GHJqGhtEFD3xMw
    Jeder kann sehen, wann, wie oft und wie viel Dir jemand gespendet hat und wann, wie oft und wie viele dieser Coins Du wohin geschickt hast. Stealth Adressen hätten dieses Problem gelöst…

    Bezüglich Ethereum verstehe ich das Problem mit den Fees nicht ganz, ich kenne das Protokoll kaum. Aber wie bei Bitcoin kann eine Transaktion mehrere Inputs haben und dann könnte eben ein Input das NFT sein und ein anderer für die Fees sorgen, aber das scheitert wahrscheinlich am Account Modell in Ethereum, kann ich nur vermuten.

Kommentar verfassen

Entdecke mehr von BitcoinBlog.de - das Blog für Bitcoin und andere virtuelle Währungen

Jetzt abonnieren, um weiterzulesen und auf das gesamte Archiv zuzugreifen.

Weiterlesen