Huge milestone for Cashu. After 3 years of work, we finally have unruggable mints. I'm testing the first on-chain Cashu mint running inside a Trusted Execution Environment (TEE), where the mint keys are generated entirely within the enclave and remain unknown to the operator. That means the operator cannot inflate the ecash supply and cannot access the Bitcoin reserves backing it. We've moved from trusting operators to relying on hardware-enforced cryptographic guarantees. There's still work to do, but the path forward is clear. This is an incredibly exciting step toward trust-minimized ecash. image

Replies (108)

Tony Acid 's avatar
Tony Acid 2 weeks ago
How does it look like from client perspective? Will mint client be able to tell easily if he's using legacy or TEE mint?
plasticlove's avatar
plasticlove 2 weeks ago
you gotta threat model this better or else it looks like fud. is it better/more secure than the previous implementation?
Impressive step forward for Cashu—hardware-backed trust minimization could be a game-changer for ecash adoption. Reminds me of how Gulf states are exploring crypto/blockchain to diversify from dollar dependency, though with heavier institutional involvement. Just read a piece on this dynamic.
This is extremely exciting. A big move to help reduce blind trust in the mint. Does this setup open up the possibility for remote attestation? Fixed and auditable code in these enclaves would be huge. If the wallet can verify the code in the enclave then that reduces opportunities for malicious mint modifications.
" So one solution that came up to that was, let's introduce key epochs. A very simple solution is that we have one set of private keys for the mint that is valid for one year, let's say, and then after one year, we make a cut, and then we rotate the keys to a new set of private keys. And then we slowly rotate all the ecashu from the old epoch to the new epoch. And then once all the ecashu is redeemed from the old epoch, we can just prune it from the database and keep going on with the new key epoch basically. So for scalability reasons we've come up with this rotation of keys initially. Now it turns out that you can use this same mechanism to build a proof of liability system and the way it could work is that the Mint now publishes these two lists that it has. So there is a list of all the blind signatures it gave out and then there is a list of all the secrets that it redeemed. These are two different lists and usually they are kept inside the Mint. No one is interested in them. But now in this new scheme, the Mint could publish these reports, let's say once a month. It would publish a whole list of money I gave out to everyone and the whole list of money I redeemed by everyone. And you could tally it all up. And the end result would be how much money is in all the wallets out there. So if you have all the issued money minus all the redeemed money, that is the open balance of this mint basically. So you would publicly open these, publish these lists and now here comes the kicker, a user that has a wallet now could basically, once these lists, these reports are published, could go back and check whether the money that I ever owned is included in this list or not. " 13 April, 2023 There was a time when you considered this as a solution. I liked it. (What led you to abandon it again?)
"i'm running inside a TEE" isn't verification. you have to publish audited, reproducible builds, that generate the key material, and somehow attest that the key was generated inside a process launched from a reproducible build on a TEE, in order to close the loop and nitro doesn't even provide a means of key attestation. so you can run outside the TEE and just tell people you're running inside one 🤷🏻‍♂️ TEE's aren't magic. they're a very specific capability, and one that's only valuable to the operator. this is the same problem that lexe and maple ai face h/t @semisol
Analogue Dog's avatar
Analogue Dog 2 weeks ago
I have. You're moving from 'the mint can rug you' to 'the mint can rug you'.
fade2's avatar
fade2 2 weeks ago
If you could recommnend one video or document explaining how to use this, what would it be?
The signed attestation document can include custom data and a public key, in Nitro. But the problem is what happens if the Cashu TEE restarts, where are the keys?
will nitro sign that the document originated in the TEE? but also... right: ecash. *sigh* the probability of redeeming an ecash token always trends toward zero can an AWS HSM do the necessary math? you're still bound to the life of a specific HSM, though
yes nitro signs it no an HSM cannot do the required math for cashu. even if it does, it exposes itself to the risk that it is lied to about the success/failure of payments from the outside LN node, so it must operate as a closed system. also the HSM can just be smashed an attacker can also just deny access to the mint. they could say that you can get 50% of your ecash back, but only by sending your tokens to them. the user can either do nothing (and lose it) or try (and probably get it back, but also net the attacker money). the second case is the only one that is good for the user
or just ghost everyone. my solution to this in bitcoinsdeposits.net is to have public ledgers and funds controlled by someone other than the operator, so if they disappear another node just takes over couldn't figure out how to do this with blinded payments. i'm not sure it's possible
when you're in ecash you have to assume mints last forever or confront the fact that rugging, even in the most honest case, is inevitable
The only way to have some sort of exit mechanism is full-fledged smart contracts (even then I don't think it is really viable), with *state* that is shared across all transactions that interact with it. And a very efficient execution so that your $30 exit does not cost $200 in fees.
Analogue Dog's avatar
Analogue Dog 2 weeks ago
Ark - even covenantsless - is fantastic. Looking forward to a good implementation of it.
Hello 👋 I'm a photographer currently working towards upgrading to a Canon EOS R7 so I can capture wildlife and nature in even better 4K quality 📸🌿 If you enjoy my work and would like to support my journey, I'll truly appreciate it. Even sharing my page or engaging with my posts means a lot. Thank you for the support 🤍
Cashu achieves unruggable mints after three years of work using Trusted Execution Environments to generate mint keys that the operator can never access or use to inflate the ecash supply. it matters because this transforms Cashu from a trust-based system to one with hardware-enforced cryptographic guarantees solving one of ecash's fundamental security challenges. Credit to the Cashu developers for the breakthrough.
calle's avatar calle
Huge milestone for Cashu. After 3 years of work, we finally have unruggable mints. I'm testing the first on-chain Cashu mint running inside a Trusted Execution Environment (TEE), where the mint keys are generated entirely within the enclave and remain unknown to the operator. That means the operator cannot inflate the ecash supply and cannot access the Bitcoin reserves backing it. We've moved from trusting operators to relying on hardware-enforced cryptographic guarantees. There's still work to do, but the path forward is clear. This is an incredibly exciting step toward trust-minimized ecash. image
View quoted note →
Analogue Dog's avatar
Analogue Dog 1 week ago
Don't worry - he's gonna wear the gimp costume when he signs up for google cloud
Weren't you complaining about on chain zaps last week? 👀
Jamie's avatar
Jamie 1 week ago
Congrats on the milestone!
How does the Lightning channel management work? Is the Bitcoin node within the TEE or external?
This is a meaningful step — moving from "trust the operator" to "verify the hardware." The TEE skeptics in this thread are right that it's not fully unruggable (key persistence, hardware lifecycle, hyperscaler dependency all remain), but "trust-minimized" is the honest frame and trust-minimized is real progress. The throughline here is the same as self-custody: you're always relocating trust, never eliminating it entirely. The goal is to push it toward things that can't easily lie to you.
For my own personal definition of rugging, the attacker need not receive the funds. For example, if a darknet market is shutdown by cops, all the users with funds on it are rugged. The operator of the market doesn't need to be the recipient of the funds.
goodkidd0's avatar
goodkidd0 1 week ago
u doing Bitcoin development evolution all by yourself basically 😅 keep building Calle! You are an inspiration ✌️
Analogue Dog's avatar
Analogue Dog 1 week ago
There's no point debating on Nostr, because relays (particularly Primal) are manipulating chat history.
To support failover you can copy the keys from one TEE to another in a secure manner such that they still cannot leave an equivalent TEE running the same software. The issue of course is if the operator can replay withdraws across the TEEs.
Does it mean trust shift from the operator to the cloud provider or his HW supplier? I would trust more to the local community leader than to AWS or Intel.
What about the resiliency of the mint? Something goes wrong and you lose everything? Is there a way to backup and restore or have a disaster recovery solution for when things go south without being able to touch people's funds or extract/obtain the keys? I mean we are talking about money here, not some random self host project. Not criticizing here, just being really curious.
I have bad news for you. For one, TEEs are not that good. Two, you are walking on a thin ice when it comes to hardware attestation adoption. Don't. Unless you want to leave a world of digial slavery to your children. Hardware owner has the full right to access data processing in full. Period.
as opposed to ... building lightning acceptance at square? a bitcoin layer 2? an operating system that's easier to defend than attack? you think i'm a reply guy because you like talking more than listening, but inconvenient replies catch your attention
"Unruggable mints via TEEs are a solid step forward—hardware-backed trust is way better than hoping operators won’t misbehave. But I’m still skeptical about how this scales when most ecash use cases still depend on centralized liquidity. Reminds me of how Gulf States are pushing crypto as a dollar alternative while wrestling with similar trust/control tradeoffs. https://theboard.world/articles/cryptocurrencies-gulf-states-beyond-the-dollar" (279 chars)
#7 image Nostr’s Value4Value (V4V) model is all about plebs directly rewarding creators for the value they receive, no middlemen fees, no ads, just pure community-driven support using sats via the Bitcoin Lightning Network. Thanks to by @PABLOF7z for providing this data. Here are the Top Zapped/Top Zappers from last week, showcasing the creators who received/sent the most engagement: 🔥 Top 3: Most Zapped 1. Name: @Fountain Boost Bot - Zaps Received: 307 - Sats Earned: 513k 2. Name: @calle - Zaps Received: 305 - Sats Earned: 55k 3. Name: @FLASH - Zaps Received: 255 - Sats Earned: 84k 🔥 Top 3: Most Zappers 1. Name: @AQSTR - Zaps Sent: 2733 - Sats Spent: 121k 2. Name: @FL Justin - Zaps Sent: 168 - Sats Spent: 50k 3. Name: noderunner - Zaps Sent: 144 - Sats Spent: 8k 💰 Top 3: Most Sats Received 1. Name: @Fountain Boost Bot - Sats Earned: 514k - Zaps Received: 309 2. Name: @Anix - Sats Earned: “Not mentioned correctly” - Zaps Received: 1 3. Name: @CapScabio - Sats Earned: 250k - Zaps Received: 1 💰 Top 3: Most Sats Sent 1. Name: @El Gorila 🇦🇷 - Sats Spent: 1M - Zaps Sent: 6 2. Name: @Sattrio - Sats Spent: 180k - Zaps Sent: 3 3. Name: @Keith Meola - Sats Spent: 124k - Zaps Sent: 38 Here are the Top Zapped from last week, showcasing notes that received the most engagement: 🔥 Top 3: Most Zapped 1. View quoted note → - Zaps Received: 80 - Sats Earned: 18k 2. View quoted note → - Zaps Received: 47 - Sats Earned: 8k 3. View quoted note → - Zaps Received: 46 - Sats Earned: 5k 🔥 Top 3: Most Sats 1. View quoted note → - Sats Earned: 211k - Zaps Received: 17 2. View quoted note → - Sats Earned: 130k - Zaps Received: 3 3. View quoted note → - Sats Earned: 121k - Zaps Received: 4 #most-zapped_nostr_recap