Consensus layer shielded pool: private transfers built into the protocol

Strawmap Beyond that (Long term) · CL-enshrined shielded pool

This is a concept for building directly into the consensus layer rules a private transfer space where deposits and withdrawals of ETH are public, but who sent how much to whom inside it is hidden.

Why it is needed

Ethereum transactions are visible to everyone. The sender, the recipient, and the amount remain permanently, which makes it hard to use for purposes where the details are difficult to reveal, such as payroll or corporate treasury management. Today, shielded pools built as smart contracts fill this role. But when pools are split into several, fewer people mix in each pool and the hiding effect weakens, and changing a contract requires an admin key, which creates a risk of funds being stolen. This item is a concept for solving both problems by building the shielded pool into the protocol itself. With a single pool, all participants mix as one group and the hiding effect is greatest, and changes are made only through hard forks instead of an admin key. Putting it in the consensus layer means placing this function in the consensus rules that validators uphold together, not in a smart contract. On the execution layer, an EIP-8182 proposal that implements the same idea as a system contract has been discussed separately. The Strawmap lists L1 private transfers as a long-term goal (North Star), and this item is one of several paths to get there. Which path is best is still being compared in the research community, so the content may change or be dropped.

How it works

  1. Deposit into the pool from a public wallet ETH is deposited into the pool. The depositor and the amount are public at this point, but who can spend that money inside the pool is not revealed.
  2. Send privately inside the pool Transfers inside the pool are processed with zero-knowledge proofs. The sender, recipient, and amount stay hidden, and the proof shows only that no money was created or spent twice.
  3. Withdraw to a public wallet When money is taken out of the pool, the recipient and the amount become public again. However, it is not linked to where that money came from inside the pool.

← Roadmap