home / blog
Evil Cake
Now.. this is a monerokon discussion channel, not a “cake wallet is evil” one. So please use it like such. Thanks
After being censored in the matrix group, I decided that it was time to talk about Cake.
Until yesterday, I rarely discussed Cake in public, but I used it for a few years on a dedicated device and met with former devs. I also occasionally recommend Cake to "normal" friends, who need an easy onboarding with good UX at the expense of privacy.
Background
Since many of our users are not from traditional Monero circles, let's start with some background. Cake launched as a Monero mobile wallet in 2018, and then expanded to other cryptos. There were other somewhat popular mobile wallets like Monerujo, but, man, it required an online connection to a remote node to simply access your receiving address.
Cake provided much better UX, but it had a major entropy fuck up in 2020, which generated vulnerable Bitcoin seeds, but the impact was limited due to low adoption among bitcoiners at that time. Anyway, the long story short, Cake quickly became a dominant player and a major sponsor of popular websites, podcasts, and conferences in the space.
Now, it's fair to mentioned that the Monero ecosystem has different faces the same as Bitcoin and Ethereum. We did a 3-hour long episode last year explaining in details that Ethereum is full of compliance, KYC, slave tech, and VC-backed parasites leeching on the ecosystem, but the truth is, we can also do a similar episode on Monero because the situation is not much better.
So, Monero has a corporate face that includes compliant businesses, legal entities, event organizers, and doxxed privacy gatekeepers, who mostly rely on Twitter, Reddit, Youtube, Telegram, and Signal. And there is an anon side, which mainly resides on Tor, Session, SimpleX, Spasm, Nostr, and usually comprises of p2p marketplaces, non-compliant swaps, DNMs, all sorts of crazy onion people, and fellow Korean pentesters. Although, Koreans usually prefer Ethereum due to larger bounties. The division is not always that strict, though, and there is a grey area that includes various Matrix/Mastodon folks, but you got the gist.
Generally, the corpo side tends to be in a "Cake is good" camp, while the anon side leans towards a "Cake is evil" camp. I don't really belong to either camp, so I often get punches from both.
Cake issues
The Matrix beef started with one of the admins mentioning @Kruw and his strong opinions about Cake. That made me curious, so I checked his Nostr feed and found related threads. Here is a list of Cake issues and I'd also add "Cake lobbying" to it.
- KYC confiscations
- VPN blocking
- Chainalysis node
- ToS bs
- Metadata
- Cake lobbying
Since an attempt to discuss that on Matrix didn't go well, let's do it here and feel free to engage in our Session/SimpleX groups and on our Spasm forum if you'll want to add your two cents.
KYC confiscations
Cake is a self-custodial wallet, so the company cannot seize your funds, unless you use custodial features like swaps or Cake Pay. Then, of course, your funds can be seized, but that's true for most custodial crypto services regardless of their ToS.
I don't really see anything evil here, but Cake can definitely improve by integrating more non-custodial DEX services for swaps, especially for cryptos with strong DeFi ecosystems.
And if you use LN, then.. well... god bless your soul.
Chainalysis
Another issue is that Cake mistakenly included an RPC node run by Chainalysis in its list of default community nodes, but that's a silly accusation because any Monero node can be run by adversaries. You should always treat any remote node as a potentially malicious one and minimize your metadata leakage.
Besides, Cake is a compliant company with a legal entity and a doxxed team, so they can obviously be coerced to cooperate with various adversaries regardless of Cake's corporate structure and jurisdiction. Additionally, their servers can be infected with Trojans, and their ISPs and data centers can run analytics on them.
VPN blocking
This claim about VPN blocking refers to Cake's swap service partner ChangeNow, but you should never use ChangeNow anyways, unless you wanna lose your money.
In general, using Cake's built-in "exchange" feature is bad for privacy and exposes you to seizure risks, but that's also the best way to support the company, especially since you use its software and infrastructure. So there is no good solution.
Terms of service
That's another silly argument because privacy comes from an architecture, not ToS.
Cake is a compliant company that has to follow all the illegitimate nation state laws, so it obviously has tons of bs in ToS. But that's true for most projects with legal entities and doxxed teams, including browsers, wallets and messengers like Session or SimpleX, which doesn't stop us from using them. Not because of ToS, but because of robust architectures.
ToS is a simple self-defence tool against state violence, especially in western police states, where people frequently indulge in lawfare.
The whole idea of crypto is to create decentralized permissionless systems that don't require any legal mumbo jumbo to stay private and censorship-resistant.
Metadata
Now, this is an actual serious issue worth talking about.
Unlike the official Monero wallet from getmonero, Cake selects its own remote node by default, meaning that a company can collect sensitive metadata (block height, IP address, ping, download speed, timestamps) to spy on its users. And the problem is even worse for transparent cryptos.
Advanced users can, of course, change default nodes, but Cake is not a niche wallet anymore. It already has over a million users and it tries to be a simple wallet for "totally non-techy" people to use, according to its CEO. Well, the problems is, these "non-techy" people don't understand the privacy implications of rolling with a default setup, especially when they see headlines like "the open source wallet that collects zero data".
Zero data? Really? Reminds me of Signal and SimpleX marketing bs.
By default, Cake can log tons of metadata, but we have to trust that the company doesn't collect any data simply because it says so. Doesn't that go against the core principle of "don't trust, verify", Vik?
And there are different ways to solve this issue, but it really surprised me that Cake CEO tried to downplay the problem by calling it "stupid fud".
So what are the possible solutions?
Onboarding choice
Firstly, don't be evil. Instead, be honest with your users and give them an option to decide which nodes to use during wallet creation. For example, push notifications are a serious privacy issue in the messenger space. Thus, Session gives you an option to choose either "fast" or "slow" mode for receiving notifications during an onboarding process. The first option relies on Google, while the second one runs an app in a background and occasionally checks for new messages.
A similar onboarding process can be implemented in Cake or in any other Monero mobile wallet that prioritizes privacy. And there is no need to add a lot of text and explain everything in details. For example, adding simple words like "fast syncing" and "better privacy" will clearly communicate the difference between two choices, and it can always be expanded with "learn more".
Here is my fancy ChatGPT mockup.
┌───────────────────────┐
│ 13:37 │
│ │
│ Which node would │
│ you like to use? │
│ (learn more) │
│ │
│ ┌───────────────────┐ │
│ │ CAKE NODE │ │
│ │ fast syncing │ │
│ └───────────────────┘ │
│ │
│ ┌───────────────────┐ │
│ │ COMMUNITY NODE │ │
│ │ better privacy │ │
│ └───────────────────┘ │
│ │
└───────────────────────┘
- The "community node" button can either randomly pick a node from a list, or give a user that choice.
- You can also add more community nodes, monitor their uptime and share that data with users.
- A list of community nodes can be hardcoded in each release and be updated with a fetch request upon connection or manually with a button.
Node incentives
There are different ways to incentivize community nodes to provide better service.
- Direct financial rewards for good uptime.
- Display a node name or URL at the main screen near the syncing status, don't hide it in settings.
Block heigh randomization
Another trick is to obfuscate sensitive metadata like block height for privacy coins. For example, if Alice's block height is 420, let an app send a request to a remote node for a few more blocks than needed, and choose that number randomly. For example, an app can request blocks starting from 369. That will provide extra defence against metadata analysis at the expense of a bit more bandwidth.
Cake lobbying
This is another serious issue that is often overlooked. Monero ecosystem is relatively small comparative to Bitcoin/Ethereum and it doesn't have institutional money, so it's very easy to buy influence, which Cake did. And to be honest, I don't blame them since they run a for-profit business and use money to expand their empire. I also don't blame people who take Cake money.
So, Cake sponsors major directories, podcasts, conferences, and employs privacy gatekeepers. The company also has leverage over its swap partners and developers of supported cryptos.
As a result, you rarely see Monero businesses talk shit about Cake. Although, there are some exceptions. For example, an OpenMonero admin publicly denounces Cake as spyware in a Session group, but he's already canceled by most Monero gatekeepers, so he has nothing to lose.
OK, then what's the solution to this problem?
Well, monopolies exist in all industries, so it's natural to see successful businesses grow and become dominant players.
Unfortunately, most people are brainwashed to think that the government should step in and protect its citizens from evil monopolies, failing to realize that the state itself is the largest monopoly.
Instead, building better products is a much better approach. For example, a lot of services start small with unique freedom features and then become big and compliant as they conquer the market. We've seen that many times. At the start, Binance had no KYC and FixedFloat had no shotgun.
Anyway, this process creates a room for new startups to fill the void and keep the cycle going. Eventually, the time of the Cake gang will come to its end, but there will be another king in town.
And if you take money from Cake, keep in mind that even though they have leverage over you, it goes both ways, so you can also influence them and demand better privacy features.
Finally, try different Monero wallets and ask them to implement cool privacy stuff.
So, is Cake Evil yet?
Well, it depends...
But I'll definitely update this post over time as the story develops, so let's see which path Cake takes.