Hey everyone! Hope you’re good. There’s been some buzz lately about generating keys in the collectibles section, and I wanted to share this here too since it’s related to the original script. I’ll show you how to create secure Bitcoin minikeys, specifically 30 and 22 characters long, using base57 and base32.
Wait, wouldn't that reduce the entropy? A minikey character is 5 bits, right? So that’s way less than the standard 256 bits of security. The 30 character minikey wasn’t widely accepted for a reason. If shorter keys are what I’m after, I’d rather just use a BIP39 seed phrase. But isn’t bitaddress.org outdated now? I thought most people went for the python ecdsa library.
I skimmed through your post, but why even make Base57 when Base58 exists? What’s the use case for collectibles or physical coins that you didn’t mention?
Thanks for the reply! Yeah, entropy gets hit, I had some quotes from gpt and grok on that, just can’t recall them now. But they said breaking into a 22 character key isn’t too easy, so how about a test? Just to clarify, this is a HOW-TO, not a must-do. I wrote it to offer a solid and secure way to create minikeys since the old method used a non-crypto-safe function. Plus, we had an issue where a compromised wallet led to lost funds recently.
Got a source for why each minikey character is 5 bits or why the whole minikey is only 110 bits? Seems like the combinations could be way more than 2^110. I thought Base58 fixed the similar character issue?
It’s tough to read sarcasm in text, but yeah, a lot of folks know that base58 has a 1 in their key. But consider your kids or anyone clueless about Bitcoin using these keys. They’ll definitely mess that up! Gotta avoid confusion (like is it a 1, an I, or an l?). So yeah, reducing that risk seems smart to me. The font matters too, but less with a smaller base.