CEOInterviews.AI
Start App
Vitalik Buterin
Cofounder, Ethereum

"Kohaku: Wallet privacy on Ethereum" by Vitalik Buterin, Consigny & Kassandra // ECC#2 - BA 2025

📅 Dec 12, 2025 Web3Privacy Now 21 MIN 514 VIEWS 6 SEGMENTS · 3 SPEAKERS
Ethereum's Vitalik Buterin together with Kassandra and Nick Consigny presents new set of primitives called Kohaku. Vitalik also shares more about what will Ethereum implement for improving their privacy and Kassandra and Nick Consigny goes more into Kohaku. Ethereum Cypherpunk Congress by Web3Privacy Now is the world's largest cypherpunk and human rights event. 4500 people gathering in Buenos Aires to celebrate privacy with internet freedom leaders like Richard Stallman, Vitalik Buterin, Roger Dingledine, and Eva Galperin. Join us in building a free internet for all. Website: https://web3p...
Vitalik Buterin 0:10 ↗
Okay. Well, thank you so much for the kind introduction, Cassandra. So I will start off with some of the background, basically why Kohaku, why we're doing Kohaku, and why it makes sense to really start something like Kohaku now. So Ethereum, I think first we need to appreciate it has led the way on privacy research and development over the past 10 years in all kinds of ways, right? So Ethereum added the elliptic curve precompiles, ECDH, EC pairing back in 2018. Tornado Cash, Railgun, all the privacy protocols are based on that. We have funded a lot of academic research on all these topics. The PSE did a lot of really important work on ZK-SNARK protocols, developer tooling, even a lot of pioneering application layer stuff and Ethereum L2s including Aztec, including INMAX on the enterprise side, also Nightfall. And likewise on security, right? I think the DAO hack in 2016, who remembers the DAO hack? Who lost money in the DAO hack? So it really catalyzed the ecosystem and we've got a much stronger smart contract auditing ecosystem. You know, we got Seal, you know, a group that's been doing all kinds of work around security this past decade. A lot of improvements to languages, both Solidity and Vyper, to make them more and more secure over time. Also, multi-sig wallets that were sort of mostly a dream back in 2015 and then now very mainstream today. Who here uses a multi-sig wallet on Ethereum? Amazing. So, but on real world privacy and security delivered to users, we're still behind where we could be and that is the thing that could change and that is the thing that this year can change. So, using privacy protocols in 2025. The good part is the base layer technology. It's all great. You can sign a proof, generate a proof within like less than one second on a laptop, two seconds on a phone. It's easy to develop. It's very well understood. There's a lot of well-tested circuits. But from a UI side, right, using a privacy protocol requires a separate seed phrase. There's no multisig option. So if you have your coins in a private pool, your coins have to be controlled by one single key. It requires opening a separate privacy wallet. It takes like five clicks to do private send and withdraw. The public broadcaster mechanisms are brittle. Last week I had to, you know, fight against public broadcasters and it took about 10 tries until eventually I figured out that it works after you turn on a VPN. So we're in this like very last mile stage, right? And it's exactly at that last mile stage where we need to put a lot of really concerted effort into doing better. Same on the security side. A lot of layer one security work much better. Safe wallet much better. But this year Safe UI not yet much better, right? Also usability of security. So there's this article here basically asking why, you know, in the era of everyone knowing about Mt. Gox and FTX, do people use centralized exchanges? And one big part of the answer is basically convenience, right? And a lot of people don't understand how to work with things like private keys. On all of these fronts we can do better. Privacy is important. So this is an excerpt from an article I wrote in April, 'Why I Support Privacy.' Privacy is freedom. Privacy gives us space to live our lives in the ways that meet our needs without us having to constantly worry about how our actions will be perceived by all kinds of centralized and decentralized, coercive and otherwise political and social games. Privacy is order. A lot of the most basic mechanisms in our society depend on the assumption that not everyone can constantly see what everyone else is doing. And privacy is progress. There's a lot of value that we can unlock by using data for things like medicine and science that could become a dystopian nightmare if it is done in a way that is not designed to be privacy first. And with newer cryptography, it can be designed to be privacy first. Privacy is not an abstraction. It is a concrete benefit to users. We can show that we have now. Security is important. So here I think I'll let the meme speak for me, right? But basically, you know, you could do a lot of things with your assets. If you put them into DeFi, you get some APY. If you do nothing, you get 0% APY. Can anyone shout out what your APY is if you lose your private keys? Minus 100. What your APY is if Lazarus discovers your private keys? Minus 100. And what your APY is if the wrong people discover how much money you have, who you donate to, and where you live? Dead. So now, privacy is a lot of things, right? I think historically we have at least within the Ethereum world thought about privacy as basically just being what can you ZK prove on chain, but privacy is much more than what happens on chain. It's also UX work. It's making it easier for people to have different wallets for different applications and not accidentally screw up and link their identities to each other when they do that. Privacy is privacy of reads, being able to read data from the chain without compromising everything about yourself. This can be done either with techniques that take RPCs and make them better. So things like either TEE plus OPRF or the really cryptographically pure approach PIR, or by making it easier to have full nodes, which block level access lists and ZK-EVMs will do. Also making sure you don't reveal everything about yourself at the network level. So looking at mixnets, also looking at operations other than finance. All of these things are important. Security is more than any one thing. So risk-based access control, you should have to press more buttons and get more authorization to move $100,000 than to move $10. This is something that traditional security has recognized for over a decade and something that our space needs to work around as well. Recovery, better options for people to recover their accounts if they lose a device, if they lose a key. Security at the user interface level, on-chain version control, both of software dependencies and of UIs. We should have a world where UIs live on-chain and the DAO itself sends an on-chain transaction to update the UI. So you can't hack into a server and make people... dependency minimization and security of the dependencies. So, Ethereum in 2025, it has strong security and privacy research. It has strong security on the L1. There is constantly improving privacy tooling that has improved by miles since Zcash, the very first version of Zcash launched and it took two minutes to sign a transaction. So, so much improvement has happened, but we still need to level up the last mile. We need to level up the application and wallet layer, the parts of this whole problem that are closest to the user. And that is exactly what Nico will talk to us about.
Nico 7:59 ↗
Thank you, Vitalik.
Cassandra 8:03 ↗
It's me again, Cassandra, and I want to show you the demo of our Kohaku wallet we've been working on. So, this I've been working on this in collaboration with the EF, a bunch of EF grantees. Shout out especially to the Wonderland team who's been doing a lot of work on this alongside me. So let's check it out. So here we are in my browser and we are going to try and open the Kohaku wallet. So it's a pretty traditional browser extension wallet. This is a fork of the Rabby wallet where we just have tried to embed these privacy features directly in a classical browser wallet user experience. So yeah, everything looks pretty traditional so far, right? We've got this account. We've got ETH and USDC on Sepolia in our public account here. We've got a number of different accounts we can derive from our seed phrase. But maybe the first big difference is we have this thing called the private account. So let's check that out. And as you can see, this already has some ETH in it. But this is ETH we've already deposited into privacy pools, into a privacy protocol which helps anonymize our funds. So the private account is actually aggregating balances across both privacy pools and Railgun. So any tokens or ETH that we've deposited into either of those protocols would show up in our private account. Okay, cool. So what can we do with the Kohaku wallet? Well, we have all these funds in our public address here. So one thing we can do is we can take public funds we have and we can shield them. We can deposit them into these privacy protocols on Ethereum. So let's start with privacy pools and let's deposit some ETH into privacy pools. Why not, right? So, we click privacy pools and let's do 0.2 ETH and we pay a small fee. This is part of the privacy pools protocol. Click deposit and sign, send this transaction off. Wait for it to be included. Okay, cool. We have deposited some ETH into privacy pools and we can see now we see this pending message since in privacy pools you actually have a delay on deposits. They have to be checked for the ability to be whitelisted to make sure it's not bad actors trying to use the protocol. So that's why we already had some privacy pools ETH pre-deposited so we can use it later and we don't have to wait this pending period. But we can also use the Railgun protocol as another privacy protocol. So our Kohaku SDK is agnostic to the different privacy solutions on Ethereum. We want to support all of them. And one cool thing about Railgun is it supports all ERC20s out of the box. Unlike some other privacy protocols that maybe have to bootstrap each asset individually, Railgun supports all the ERC20s. So let's maybe deposit this ERC20. We have some USDC on Sepolia into Railgun. So we just change the privacy provider to Railgun. Okay, cool. And we switch the token to USDC. And let's deposit, I don't know, 500 USDC into Railgun. So just click deposit here and sign and send the transaction. One interesting thing that's happening here is under the hood with the Kohaku wallet is we didn't have to first do an approval and then do the deposit even though we're utilizing the ERC20. That's because we're using 7702 under the hood so that we can bundle these together into one action. So, it's one click to do this deposit. Awesome. So, as you can see, our USDC balance went down. And if we check out our private account, we can see we have a bunch of USDC deposited into Railgun. We can see it in our private balances here. So, great. So, that's what deposits look like when you want to take public funds and anonymize them directly inside the Kohaku wallet. But, what else can we do? Another feature I want to show you is using a DApp, right? So people want to also interact on the chain, use the DApps they like. So here I have as an example Uniswap open and we can connect our Kohaku wallet here. It's a fork of Rabby, but one new user experience is instead of connecting the currently active account in the wallet, we promote privacy hygiene by nudging the user to actually create a new account whenever they connect to a DApp. So this way we can try to always use fresh accounts and have much better privacy hygiene. So okay, let's connect our fresh account here. Copy it. Cool. And then I'm also going to make sure we're on the testnet. Great. Awesome. Cool. So we connected our fresh account. This is great because Uniswap doesn't learn anything about our identity or any links of our accounts. The only thing that Uniswap learns is we've connected this absolutely unlinkable account, but it doesn't have any funds in it, right? So, what do we do? Well, we can just open our wallet, navigate to the private account, and from here when things load, cool. What we can do is let's withdraw some of the privacy pools ETH directly into our fresh account so we can swap on Uniswap but anonymously. So, we just click send from the private account, pick privacy pools. We'll input our fresh address that we want to receive the funds. And I don't know, let's withdraw 0.4 ETH. Why not? Okay. So now we're going to click send. And we do some client-side proving here interestingly so that we can create the zero-knowledge proof to withdraw the funds from privacy pools. And this is broadcasted by a relayer so that whoever is paying the transaction fees for this does not in no way link to our identity. So the relayer is going to broadcast this transaction. The funds are going to leave privacy pools and hit our completely unlinkable account connected to Uniswap. And when that transaction is included we can move on. Cool. So, looks like we've been included. And if we check out the Uniswap application, there we are. We can see we've got some ETH. So, why don't we try to buy some token on Sepolia? I don't know. Cool. So, we can spend a little bit of ETH. And the Kohaku wallet functions like any other browser wallet. We can interact with all the DApps the same way we always could. It's not noticing my balance just yet. See? Great. So, we're swapping some ETH for UNI, but we're doing this much more privately thanks to the Kohaku wallet. Just wait one more time for this transaction to be included. Okay, it's been included. Great. So, what have we done? We have deposited funds into a privacy protocol. We've withdrawn from a privacy protocol into a fresh account to use a DApp in a more anonymous way. And the last feature I want to show you guys is one thing we can do with Railgun which is if we have funds inside of Railgun like we do here, we have almost 500 USDC, we can do a private internal transfer. That means if someone else has a zero-knowledge Railgun address, instead of withdrawing from Railgun we can without ever leaving the Railgun shielded pool just send them some funds completely anonymously. So we get privacy for both sender and receiver. So, yeah, I'm going to try to send my friend Nico some USDC. So, here I go. And I want to give my ZK address to Cass. So, I'm going to simply open my Kohaku wallet and go to my private account. And here you go. I don't have a balance yet, but that's absolutely normal. And then I copy my zero-knowledge address. And I will give it to Cass right now.

3 more exchanges in this transcript

Sign in free to read the rest of this interview. No card required.

Sign in to read the full transcript

Cite this transcript

APA, MLA, BibTeX
APA

Buterin, V. (2025, December 12). "Kohaku: Wallet privacy on Ethereum" by Vitalik Buterin, Consigny & Kassandra // ECC#2 - BA 2025 [Interview transcript]. Web3Privacy Now. CEOInterviews.AI. https://ceointerviews.ai/interview/766387/

MLA

Vitalik Buterin. ""Kohaku: Wallet privacy on Ethereum" by Vitalik Buterin, Consigny & Kassandra // ECC#2 - BA 2025." Web3Privacy Now, 12 Dec. 2025. Transcript, CEOInterviews.AI, https://ceointerviews.ai/interview/766387/.

BibTeX
@misc{buterin2025_766387,
  author       = {Vitalik Buterin},
  title        = {"Kohaku: Wallet privacy on Ethereum" by Vitalik Buterin, Consigny \& Kassandra // ECC#2 - BA 2025},
  howpublished = {Interview transcript, Web3Privacy Now. CEOInterviews.AI},
  year         = {2025},
  month        = {dec},
  url          = {https://ceointerviews.ai/interview/766387/},
  note         = {Speaker-attributed transcript with timestamps}
}