Skip to content

Commit a135119

Browse files
euler0x0xtiti
andauthored
feat: chapter 2 about privacy pools (#108)
Co-authored-by: TiTi <0xtiti> Co-authored-by: 0xtiti <titi@wonderland.xyz>
1 parent ec1d1bd commit a135119

63 files changed

Lines changed: 1491 additions & 71 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

packages/common-config/preset/commonDocusaurusConfig.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ const commonDocusaurusConfig: Partial<Config> = {
5656
to: "https://aztec.handbook.wonderland.xyz",
5757
target: "_self",
5858
},
59+
{
60+
label: "Ethereum Foundation",
61+
to: "https://ef.handbook.wonderland.xyz",
62+
target: "_self",
63+
},
5964
],
6065
},
6166
{
Lines changed: 8 additions & 0 deletions
Loading
1.19 MB
Loading

packages/common-config/static/common/styles/global.css

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1482,6 +1482,21 @@ div[class*="buttonGroup"] button {
14821482
transition: opacity 0.3s ease;
14831483
}
14841484

1485+
/* Ethereum Foundation logo */
1486+
.dropdown__menu li:nth-child(4) .dropdown__link::before {
1487+
content: "";
1488+
width: 24px;
1489+
height: 24px;
1490+
background-image: url("/common/img/ef-logo.svg");
1491+
background-size: contain;
1492+
background-repeat: no-repeat;
1493+
background-position: center;
1494+
position: absolute;
1495+
left: 1rem;
1496+
opacity: 0.8;
1497+
transition: opacity 0.3s ease;
1498+
}
1499+
14851500
.dropdown__link:hover {
14861501
background: var(--wonderland-blue-900) !important;
14871502
color: var(--wonderland-gray-200) !important;

sites/aztec/src/pages/index.tsx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,15 @@ const aztecHandbooks: Handbook[] = [
6767
bgImage: "/common/img/background-handbook-card.jpg",
6868
},
6969
},
70+
{
71+
title: "Ethereum Foundation Handbook",
72+
image: "/common/img/ef-logo.svg",
73+
href: "https://ef.handbook.wonderland.xyz",
74+
background: {
75+
bgType: "other",
76+
bgImage: "/common/img/ef-social-card.png",
77+
},
78+
},
7079
];
7180

7281
const aztecHandbookProps: HandbookSectionProps = {
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Interoperability
2+
3+
This chapter is coming soon.
4+
5+
6+
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Account abstraction
2+
3+
4+
The Kohaku project framed Ethereum's evolution around three critical shifts. This document dives deep into the engine driving one of them the **wallet security transition**.
5+
6+
The goal of this transition is to move every user to a smart contract wallet. Why? Because Ethereum's historical division between rigid, insecure EOAs and flexible smart accounts is a source of massive user friction. **Account Abstraction** is the set of proposals designed to eliminate this division by creating a single, unified account type.
7+
8+
Here, we will explore the journey from the siloed approach of **ERC-4337** to the unifying bridge of **EIP-7702**.
9+
10+
### **The great account divide**
11+
12+
Ethereum has two account types.
13+
14+
1. **Externally Owned Accounts (EOAs)** are controlled by a single private key. They are rigid and unforgiving. Lose your key and you lose everything.
15+
2. **Smart Accounts** are controlled by code. They are flexible and can have features like social recovery or spending limits.
16+
17+
The core issue is that only EOAs can start transactions and pay for gas. A smart account can't act on its own. This forces clumsy workarounds and creates a two-tiered system for users.
18+
19+
### **ERC-4337 A separate universe**
20+
21+
**ERC-4337** was a breakthrough that simulated account abstraction without a core protocol change. It created a parallel transaction system for smart accounts.
22+
23+
The diagram below shows this flow. Instead of a normal transaction (white path), a smart account sends a `UserOperation` intent to a separate "alternative mempool" (blue path). Specialized **Bundlers** package these into a regular transaction, which hits a global **EntryPoint** contract to execute the `UserOperation`.
24+
25+
26+
![4337.png](\img\diagrams\4337.png)
27+
28+
This architecture is powerful. It enables **Paymasters** who can sponsor gas fees and allows for batching multiple actions into a single click.
29+
30+
But its main drawback is massive, **ERC-4337 is a silo.** It is not backward compatible so if you have an existing EOA, you can't use it. You must create a new smart account and migrate all your assets, history and identity. This leaves the vast majority of Ethereum users and capital on the sidelines.
31+
32+
### **EIP-7702 the unifying Bridge**
33+
34+
**EIP-7702**, part of the Pectra upgrade, solves this silo problem with an elegant fix. It allows an EOA to **temporarily act like a smart contract for one transaction.** By doing this, it makes account abstraction features **native to the protocol** for the first time.
35+
36+
The diagram shows how. An EOA uses a new `type 4` transaction to grant itself temporary `code`. This transforms the signature from a static authorization into programmable logic. The transaction includes an **authorization list**, which defines what the temporary contract is allowed to do.
37+
38+
![7702.png](\img\diagrams\7702.png)
39+
40+
This is crucial for wallet developers, a wallet can now define on the fly rules for a single transaction, such as:
41+
42+
- On-demand multisig checks.
43+
- dApp-specific spending limits or permissions.
44+
- Gas sponsorship policies without external relayers.
45+
46+
After the transaction, the EOA reverts to its normal state. It gets all the power of a smart account with none of the permanent overhead. This brings account abstraction to everyone instantly, with no need to migrate assets.
47+
48+
### **Completing the circuit 7702 + 4337**
49+
50+
Thinking of these EIPs as competitors is wrong. The real unlock is how they work together. **EIP-7702 is the native onramp to the ERC-4337 ecosystem.**
51+
52+
An EOA user can now sign a single 7702 transaction. This transaction's temporary `code` can be built to do one thing perfectly, create and authorize an ERC-4337 `UserOperation`.
53+
54+
This means any EOA can now leverage the entire infrastructure built for 4337.
55+
56+
- A dApp's **Paymaster** can sponsor gas for an EOA user.
57+
- An EOA user can **batch** an approve and a swap into one atomic action.
58+
59+
EIP-7702 provides the native protocol hook and ERC-4337 provides the rich application layer services. Together, they unify Ethereum's accounts. The ultimate goal is an experience where the user doesn't know or care about account types. There is just *their account,* a secure and programmable entry point to the decentralized web.
60+
61+
For more details on ERC-4337, see the [official documentation](https://docs.erc4337.io/).

sites/ef/docs/kohaku/overview.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# Kohaku: The Privacy Layer Ethereum Deserves
2+
3+
Wallets are the window between users and the Ethereum world. They are the most critical, and often most underappreciated, layer of the infrastructure stack. A user only benefits from Ethereum's decentralization, censorship resistance, and security to the extent that their wallet also has these properties. And right now, wallets are failing on privacy.
4+
5+
Without privacy, Ethereum cannot fulfill its promise as a global financial system. Every transaction you make, every protocol you interact with, every asset you hold is permanently recorded and publicly visible. While transparency has its benefits, this level of exposure creates real risks to personal security and financial autonomy that will prevent mainstream adoption.
6+
7+
The technology to fix this exists. ZK-SNARKs are mature. Privacy Pools offer regulatory-friendly solutions without backdoors. The infrastructure is stabilizing. **Now is the time to take privacy on Ethereum seriously.** But here's the problem: making a private transfer today requires downloading a specialized "privacy wallet", understanding complex protocols, and accepting terrible UX. Most users simply won't do it. And they shouldn't have to.
8+
9+
**Kohaku** is how we fix this. Not by building another niche privacy wallet, but by giving every wallet in the ecosystem the tools to offer privacy by default. This is the Ethereum Foundation's commitment to making privacy as natural as sending any other transaction.
10+
11+
## The Wallet is the Battleground
12+
13+
Ethereum's roadmap is ambitious: scale, secure users with smart contract wallets, and provide privacy by default. These aren't optional features. Without scaling, Ethereum is too expensive. Without wallet security, users lose their assets. Without privacy, mainstream adoption is impossible.
14+
15+
But here's what is often missed: **all of these transitions happen at the wallet layer**. The wallet is where users experience Ethereum. It's where privacy either works seamlessly or doesn't exist at all.
16+
17+
Right now, wallets can't offer privacy because it's extraordinarily complex to build. You need deep knowledge of zero-knowledge proofs, cryptographic primitives, and protocol specifications. Each privacy solution has different integration requirements. Protocols evolve rapidly, requiring constant maintenance. Most wallet teams simply don't have the resources.
18+
19+
The result? Users are forced to choose between the wallets they trust and the privacy they need. This is unacceptable.
20+
21+
## Kohaku: Privacy Infrastructure for the Entire Ecosystem
22+
23+
Kohaku is a **privacy toolkit** that makes it trivial for any wallet to integrate robust privacy features. It's an SDK, a set of primitives, a public good designed to enable privacy across the entire Ethereum ecosystem.
24+
25+
The vision is simple: **wallets should have a notion of a shielded balance**. When you send funds, there should be a "send from shielded balance" option, ideally turned on by default. When you receive funds, your wallet should automatically generate stealth addresses. When you interact with a dapp, your wallet should use a fresh address isolated from your other activity. All of this should feel maximally natural from a UX perspective.
26+
27+
This is what Kohaku enables.
28+
29+
### Core Features: Privacy by Default
30+
31+
The Kohaku SDK provides everything a wallet needs to offer seamless privacy:
32+
33+
| **Feature** | **Purpose** |
34+
| --- | --- |
35+
| **Private Send & Receive** | Integrated privacy pools for shielded balances |
36+
| **Stealth Addresses** | Automatic generation of unlinkable receiving addresses |
37+
| **Per-dApp Accounts** | Isolate activity between applications by default |
38+
| **Built-in Light Client** | Run Helios to eliminate RPC surveillance |
39+
| **Private State Reads** | Execute `eth_call` privately using TEE+ORAM (moving to PIR) |
40+
| **Social Recovery** | Recover accounts via ZKEmail, ZKPassport, Anon Aadhaar |
41+
| **Post-Quantum Safeguards** | Optional PQ accounts with optimized verifiers |
42+
| **ZK Hardware Signers** | Hardware wallet support for privacy protocols |
43+
| **Spending Policies** | Configurable limits and rules for different signers |
44+
| **Universal Hardware Standard** | Eliminate vendor lock-in with reference implementation |
45+
46+
### Modular by Design
47+
48+
The SDK uses a **plugin system**. Wallet teams can adopt the features they want without rebuilding their entire stack. Want private sends but not social recovery? Fine. Want to start with per-dapp accounts and add more later? Perfect. This modularity is critical for ecosystem-wide adoption.
49+
50+
## The Kohaku Reference Wallet: Proof of Concept
51+
52+
To demonstrate what's possible, the Ethereum Foundation is building the **Kohaku Wallet**, a reference browser extension that showcases these privacy features.
53+
54+
This is not a consumer product. It's an **experimental reference implementation**.
55+
56+
Built on Ambire's proven infrastructure, the reference wallet will progressively enable more private interactions within DeFi protocols, demonstrating that privacy and composability are not mutually exclusive.
57+
58+
## Success Means Ecosystem Adoption
59+
60+
Kohaku's success is not measured by downloads of the Kohaku wallet. **Success means privacy becomes default in MetaMask, Rabby, Rainbow, and every other wallet users already trust.**
61+
62+
This is a public goods project. The SDK is open source. The goal is collaboration, not competition. We're working directly with:
63+
64+
- **Wallet teams** to integrate the SDK
65+
- **Privacy protocol teams** (Railgun, Privacy Pools) to expand the toolkit
66+
- **Infrastructure providers** (Helios, Oblivious Labs, ZKnox) to strengthen the foundation
67+
- **Research teams** (PSE and others) to push the boundaries
68+
69+
The vision: when you open your wallet in 2026, any wallet, privacy should be as natural as sending ETH. Not because you downloaded a special app, but because the entire ecosystem adopted the tools to make it happen.
70+
71+
## The Cypherpunk Endgame
72+
73+
Privacy is not a feature. It's a fundamental requirement for a free and open financial system. Ethereum has the technology. We have the talent. We have the infrastructure. What we need now is coordination.
74+
75+
Kohaku is the coordination mechanism. It's the SDK that makes privacy accessible. It's the reference implementation that proves it works. It's the public good that enables every wallet to offer what every user deserves: **privacy by default**.
76+
77+
The tools are being built. The question is whether the Ethereum community will embrace them. Whether we'll choose to build a surveillance dystopia or a private, secure, and truly decentralized future.
78+
79+
The choice is ours. Let's choose wisely.
80+
81+
## References
82+
83+
- [What I would love to see in a wallet](https://vitalik.eth.limo/general/2024/12/03/wallets.html) - Vitalik Buterin
84+
- [Why I support privacy](https://vitalik.eth.limo/general/2025/04/14/privacy.html) - Vitalik Buterin
85+
- [A maximally simple L1 privacy roadmap](https://ethereum-magicians.org/t/a-maximally-simple-l1-privacy-roadmap/23459) - Ethereum Magicians
86+
- [Kohaku Roadmap](https://notes.ethereum.org/@niard/KohakuRoadmap) - Ethereum Foundation Notes
87+
- [Ethereum Privacy: The Road to Self-Sovereignty](https://ethereum-magicians.org/t/ethereum-privacy-the-road-to-self-sovereignty/25423) - pcaversaccio

0 commit comments

Comments
 (0)