Cointime

Download App
iOS & Android

What Is a Stealth Address? Vitalik’s Solution for Privacy on Ethereum

Vitalik Buterin, the co-founder of Ethereum, recently published an article discussing the addition of privacy to the Ethereum network through what is referred to as a Stealth Address. In his article, Buterin explains how a stealth address works and its potential to increase privacy for users on the Ethereum network. In this article, I explain how Stealth Addresses work in a basic manner using an example: Alice wants to send Bob 1.2 ETH.  

Why Are Stealth Addresses Needed?

The idea that public blockchains such as Ethereum and Bitcoin are private is a common misunderstanding; to be clear, public blockchains are not private. Public blockchains offer some form of privacy through pseudonymity in the form of wallet addresses. But you can think of the wallet address as a username; once someone pinpoints your username, they can see everything you’ve ever done with it.

Every interaction that a wallet address makes on-chain, including transactions, interactions with decentralized applications, purchases of NFTs, etc. are recorded and stored in a public manner that anyone with an Internet connection can view. Websites like Etherscan make viewing this information convenient. Applications like Dune Analytics make analyzing that information easy.

Without privacy protection, this information can quickly and easily be exploited without consent. An analogy would be your bank account. With existing online banking, your activity isn’t seen by anyone, even if they know the username you used to log in. With public blockchains, once someone knew your username (in this case, wallet address), they could see all of the subscriptions you have; they could see every time you make a purchase, where you made the purchase, and use that information to locate you, blackmail you, or exploit you in other ways. On-chain privacy solutions are quickly becoming a solution to protect web3 users worldwide. Recently, Vitalik Buterin has given this topic deeper thought and proposed his solution for the Ethereum ecosystem through what he refers to as Stealth Addresses.

Generating Keys to Create the Stealth Address

A Stealth Address must be generated by two participants: the person attempting to receive cryptocurrency privately (we’ll refer to this person as Bob) and the person attempting to send cryptocurrency privately (we’ll refer to this person as Alice). Bob generates

  1. a Spending Key, which is then used to generate
  2. a Stealth Meta-Address, a public address that anyone can see, but it is a master address that can be used to derive unlimited Stealth Addresses with partners like Alice.

To derive a Stealth Meta-Address unique to Bob and Alice, Alice will also need to generate some keys on her side. Alice generates two keys:

  1. an Ephemeral Private Key (a secret key only she knows) and
  2. a corresponding Ephemeral Public Key, which is similar to the Stealth Meta-Address in that anyone can see it.

The Ephemeral Public Key is generated from the Ephemeral Private Key, and it is like an Ethereum address being created through secret seed phrases. The Ephemeral Public Key is published to a public ledger that anyone can view. Ephemeral Keypairs (the private and public ephemeral key combinations) are only used once, so Alice would need to generate a new Ephemeral keypair if she wanted to transact with someone else like Charlie privately.

To summarize up to this point:

  1. Bob has generated a Spending Key (private), which he then uses to generate a Stealth Meta-Address (public).
  2. Alice has generated an Ephemeral Private Key (private), which she then uses to generate an Ephemeral Public Key (public).

So both Bob and Alice have their unique private key and public key. As a next step to generate the final Stealth Address, Bob and Alice share their public keys. Bob gives Alice his Stealth Meta-Address (public), which anyone can see. Alice combines Bob’s Stealth Meta-Address with the Ephemeral Private Key she created. That combination creates the Stealth Address. Alice can send 1.2 ETH to the new Stealth Address.

Accessing the Stealth Address

On Bob’s side, he must locate the Stealth Address that Alice generated and sent 1.2 ETH to. To do this, he must somehow recreate what Alice did (remember, Alice combined Bob’s Stealth Meta-Address with her Ephemeral Private Key). But there’s a problem: Bob doesn’t know Alice’s Ephemeral Private Key.

Using the cryptographic concept of Shared Secrets, Bob has another option: he can create the same Stealth Address (and control the cryptocurrency inside the stealth address with his Spending Key) using a different private/public key combination. Alice used Bob’s public address (the Stealth Meta-Address, which they both can see) with her private address (the Ephemeral Private Key, which only she can see). Bob can use his private address (the Spending Key, which only he can see) with Alice’s public address (the Ephemeral Public Key, which they both can see).

To find Alice’s Ephemeral Public Key, Bob goes through a list of all the existing Ephemeral Public Keys. For each Ephemeral Public Key he sees, he combines it with his Spending Key, and a resulting Stealth Address is created. Bob then checks the Stealth Address’s contents (the cryptocurrency that is available in the Stealth Address). In most cases, the Stealth Address generated with random Ephemeral Public Keys and Bob’s Spending Key should contain 0 ETH. But once Bob tries to combine his spending key with Alice’s Ephemeral Public Key, he should see that the resulting Stealth Address contains 1.2 ETH.

In practice, Bob doesn’t manually go through all existing Ephemeral Public Keys to find the right one. It’s done automatically by a computer, which takes much less time than a human to sort through and try all the combinations.

In conclusion, the proposal Vitalik Buterin published is a practical solution that can work on the Ethereum network to increase privacy for its users. Other projects like Manta Network use a zkAddress system + UTXOs to enable on-chain privacy. The stealth address system proposed by Buterin is a unique and promising solution for privacy on the Ethereum network. More importantly, it is a step in the right direction that leaders like Vitalik Buterin are thinking about innovation around on-chain privacy.

P.S. — the image of Bob and Alice are non-existent people, generated by This Person Does Not Exist.

https://kennymuli.medium.com/what-is-a-stealth-address-53eeb71b4295

Comments

All Comments

Recommended for you

  • Cointime's Evening Highlights for May 24th

    1. CryptoPunks Launches “Super Punk World” Digital Avatar Series

  • An address mistakenly transferred about $7,000 in BTC to Satoshi Nakamoto’s wallet

    According to Arkham monitoring, someone accidentally sent 90% of their BTC assets to Satoshi Nakamoto's wallet address last night. They were trying to swap Ordinal for PupsToken, but ended up sending almost their entire wallet balance - about $7,000 worth of BTC.

  • USDC circulation increased by 200 million in the past 7 days

    According to official data, within the 7 days ending on May 16th, Circle issued 1.8 billion USDC, redeemed 1.6 billion USDC, and the circulation increased by 200 million. The total circulation of USDC is 33.2 billion US dollars, and the reserve is 33.4 billion US dollars, of which 3.8 billion US dollars are in cash, and Circle Reserve Fund holds 29.6 billion US dollars.

  • Bitcoin mining company Phoenix Group released its Q1 financial report: net profit of US$66.2 million, a year-on-year increase of 166%

    Phoenix Group, a listed mining company and blockchain technology provider for Bitcoin, released its Q1 financial report, with the following main points:

  • Pudgy Penguins and Lotte strategically cooperate to expand into the Korean market, and the floor price rose by 3.1% on the 7th

    The NFT series "Pudgy Penguins" has recently announced a strategic partnership with South Korean retail and entertainment giant Lotte Group on the X platform to expand its market in South Korea and surrounding areas. More information will be announced in the future. According to CoinGecko data, the floor price of Pudgy Penguins is currently 11.8 ETH, with a 7-day increase of 3.1%.

  • CryptoPunks Launches “Super Punk World” Digital Avatar Series

    Blue-chip NFT project CryptoPunks announced the launch of "Super Punk World" on X platform, which is the project's first release of 500 digital avatars inspired by the iconic CryptoPunks features and combined with Super Cool World attributes. It is reported that the series may launch auctions in the future, and more details about the collection and auction of this series will be announced soon.

  • Core Foundation launches $5 million innovation fund

    CoreDAO announced in a post on X platform that the Core Foundation has launched a $5 million innovation fund. The fund is currently mainly targeting the Indian market and has established strategic partnerships with the Indian Institute of Technology Bombay and some top venture capital companies to support the development of innovative blockchain projects in the country. At present, the fund has opened project funding applications.

  • Drift Foundation: The governance mechanism is gradually being improved, and DRIFT is one of the components

    The Drift Foundation stated on the X platform that the DRIFT token is a component of governance and a key element in empowering the community to shape the future. The governance mechanism is gradually improving, and more information will be announced soon.

  • U.S. Department of Justice: Two Chinese nationals arrested for allegedly defrauding at least $73 million through cryptocurrency investments

    According to the official website of the United States Department of Justice, a complaint from the central region of California was made public yesterday, accusing two Chinese nationals of playing a major role in a money laundering scheme involving cryptocurrency investment fraud.Daren Li, 41 years old, is a dual citizen of China and St. Kitts and Nevis, and is also a resident of China, Cambodia, and the United Arab Emirates. He was arrested on April 12th at Hartsfield-Jackson Atlanta International Airport and later transferred to the central region of California. Yicheng Zhang, 38 years old, is a Chinese national currently residing in Temple City, California. He was arrested yesterday in Los Angeles. Today, they are accused of leading a money laundering scheme related to an international cryptocurrency investment scam, involving at least $73 million. These arrests were made possible thanks to the assistance of our international and US partners, demonstrating the Department of Justice's commitment to continuing to combat the entire cybercrime ecosystem and prevent fraud in various financial markets.

  • The 133rd Ethereum ACDC meeting: The goal is to complete the devnet within 7-10 days

    The Ethereum developers held their 133rd ACDC conference call. First, they outlined the latest research on Ethereum protocol confirmation rules. Then, they discussed Pectra updates related to EIP-7547 and CFI states, and decided to put them on hold temporarily. They also updated the v1.5.0-alpha.1 specification. Regarding the implementation updates for devnet-0, most teams are making progress, but there are also some unexpected complexities. The goal is to complete devnet within 7-10 days.