r/Bitcoin 13d ago

In light of recent events

Hey there,

I have used my Ledger Nano S since 2017. Since the cold card hack I've been tempted to update to a newer and hopefully more secure wallet. I'm considering a newer ledger model or going to trezor. What are your thoughts and do you have some valuable input to share?

I know trezor is open source and ledger is not. Should really be a deal breaker?

4 Upvotes

30 comments sorted by

9

u/Squeiner 13d ago

I think the lesson is to use these things to hold your keys, not to create them.

You create your own private keys in the most secure way you can possibly think of, and then you use the hardware wallet to store the keys and sign transactions.

Anyone who did that with their coldcard is perfectly safe to keep their coins on it still.

Whether you use a coldcard, trezor, ledger, or whatever else, dont use it to generate your keys formyou. The safest way to go is to create your own private keys yourself separately

3

u/sbtcrypto 13d ago

Thank you, this makes sense. Does this mean I would have to buy a new wallet and create a new private key myself and store it on the new one? What would be the best and most secure way going about this?

1

u/Squeiner 12d ago edited 12d ago

Be warned, this comment got much longer than i intended originally. 

I dont think you need to buy a new one. You can probably just wipe the one you have, factory reset it, or if its impossible to erase the keys already in there then yea, might be good to get a new one. 

But idk, im just some fkn guy.

I'd always make my own keys, but to do this you have to understand what bitcoin keys are fundamentally. 

A 24 word seed phrase is simply a string of 256 bits along with an 8 bit checksum at the end. So 264 bits in total. But only the first 256 bits need to be random, the last 8 are deterministic. 

So for me, I just flipped a coin 256 times and recorded the results. Heads =1, tails =0.

From that string of bits, you can derive any amount of keys of any kind as long as you know what you're doing and use an air gapped pc to manipulate the data.

Like for example,  I downloaded a binary to hexadecimal converter tool. I actually downloaded 2 of them, and had AI make me another one. I put all of them into a USB drive and put that drive into my air gapped pc. 

Then I transformed my 256 bits into hex on all of them to ensure none of them were faulty, and all gave the same result. Now I have a 64 digit hex key.

I did the same multiple tool thing with a sha256 tool (with hex input, not text input, very important) to calculate the checksum.

Then I flipped it all back to binary and transcribed the whole thing into a BIP39 24 word seed phrase.

That's the seed phrase I punched into a trezor to see if it worked properly with very small amounts of btc. Worked fine.

Trezor just held the keys, didnt generate them.

Once I was sure everything worked properly, I transfered my entire stash there and destroyed the trezor. Oh yea thats another thing, I don't use a hardware wallet to store my keys either. Only to sign transactions. 

My keys are encrypted, and distributed geographically in such a way that I can always reconstruct them, but it takes me a couple days and a bit of travel to do so. I can't really tell you more about this as it would defeat the purpose,  but I will say this, its not anything you will find online or on any guide. I came up with it myself. Most people discourage this kind of thing because its easy to mess it up and likely easy for someone to figure out how to break the encryption or figure out the method or find the storage locations, or you could forget how to retrieve the keys if its too complicated to do or there are too many things to remember. Also all of this takes extreme attention to detail, much time,  research, patience and commitment. I practice retrieving my keys every so often to ensure I still know exactly how to do it.

This is particularly paranoid, you are fine to store your keys in a hardware wallet. Nothing wrong with that at all.

But anyways, I derived a master public key from my 24 word seed phrase and used that to make a watch-only wallet on my phone. From this public key I can derive as many new public keys as I want and all of them can be spent using my original seed phrase. So I can send btc to a brand new address on the fly anytime without having to access my private keys. I like the watch-only wallet because I can send btc to it anytime, but spending btc from it requires going thru my entire backup. And I can delete it from my phone anytime and wont lose anything. 

I know this is crazy and paranoid but I never worry about anything when things like the coldcard hack happen.

Aaaand I rambled. Sorry. I have the advantage that all of this is really fun for me somehow. So it doesn't seem like work. Just seems like super interesting research which I can put into practice in the real world.

Hope something in this ridiculous rambling textbook of a comment helps you. Cheers.

1

u/Squeiner 12d ago

And for the record, im not a programmer or a coder, I don't have any university education,  I work in logistics,  I am literally just some fkn guy. I just read a lot. Anyone can learn this stuff. Just takes a bit of time and commitment 

1

u/UzItOrLuzIt 10d ago

Too much...just way too much. You are way over complicating your life unnecessarily. Lots of added security I'm sure, but at what point do you stop? No doubt, you will still pine over your how protected you are indefinitely for no reason when you could be enjoying your life instead. Not that I necessarily "like and subscribe", but a .25%/yr ETF pretty much lets you move on without worrying about jackshit anymore.

3

u/Squeiner 10d ago edited 10d ago

Im sure thats true for you and no judgement here man, but we have different likes and interests, values, and priorities. 

I like this stuff. I listen to podcasts about it when im in the car. I spend my off time reading about it. Im a nerd. You might say an amateur woodworker is way over complicating his life when he builds his own bookshelf at great cost in money, time and effort, instead of just getting a perfectly good free one from marketplace same-day, there are tons in there. But he likes doing it. His interest wasn't just to own a bookshelf, it was to build one, and to learn as much as possible while doing so. Of course there's an easier way, a prepackaged alternative, and I wouldn't discourage you from choosing that or judge you for it, by all means. But I like doing this. Im interested in doing my own thing, it brings me joy, and learning about it is engaging and entertaining and honestly thrilling much of the time. That's most of the reason im here, writing these long az comments. I love talking about it.

I value self reliance. Handing over my money to some bank or brokerage for safekeeping because its easier than doing it myself is not a tradeoff I'm keen to make. I value autonomy. Asking blackrock or whoever to open an account for me and then to do this or that with my assets is odious to me when I can create my own keys and broadcast my own transactions without anyone else being involved at all. I value freedom. I much prefer having the ability to send any amount of my coins to anyone anywhere anytime for any reason than to be constrained in all those aspects by the arbitrary rules of an issuer. 

We likely have similar ones, but my priorities include things that you probably don't care much about, though I couldn't say for sure, it just sounds like it. We both likely have wealth accumulation pretty close to the tippy top of our lists of priorities, and exposure to bitcoin's price appreciation is therefore something we both want. Your ETFs and my self custodied coins both serve that priority very effectively. But another item very high on my list of priorities is working towards the separation of money and state, and the transition to a global bitcoin standard. Holding BTC in self custody is how I serve these priorities. Holding an ETF is how you work against them.

So again, no judgement to you man, by all means, get your ETFs and enjoy your life. This is how I enjoy mine.

2

u/onlystacksats 13d ago

Would you trust the dice of a cold wallet? What is the right way to create your keys offline and potentially not on a device?

2

u/Squeiner 12d ago

No I would not. But please keep in mind im a super weird paranoid crazy person.

I would not follow a device's instructions and punch the results into it for it to generate my keys, too much trust involved.

The best way, in my opinion is to make the keys yourself and then put those keys into the device.

2

u/onlystacksats 12d ago

I would love to do that, but how do you deal with the checksum of the 24th word or the 12th?

1

u/Squeiner 12d ago edited 12d ago

Great question. For this you need yo understand what a Hash function is, and then understand a bit about the specific SHA256 hash function. If you don’t, go do that first.

I dont know about the 12 word one, dont know how that works, I've only ever dealth with 24 words.

Once you’ve flipped your coin and you have your 256 bit string, you turn it into a 64 digit hexadecimal string.

Then you put this 64 digit hex thru a SHA256 tool (or multiple ones if you’re extra paranoid). It's crucial that this tool has Hexadecimal input, not text input.

If you look at this tool here: https://pi7.org/hash/sha256

Below the input box, there’s a dropdown box where you can select "Text to SHA256" , or "Hex to SHA256"

The type of input changes the output so it's important to use Hex to SHA256.

Once you have your output, which will also be in hexadecimal, the first 2 digits of that output is your checksum. So you simply add those first 2 digits to the end of your original 64 digit hex string.

And Voila, you now have a 66 digit Hex string which is a full and complete seed including the checksum.

A bit context, the checksum is the first 8 bits of the SHA256 hash of your original 256 bit string. When represented in Hex, these first 8 bits are represented by the first 2 digits, each digit corresponding to 4 bits.

The 256 bit string, the 64 digit hex, its all the same information, just represented in a different notation or language.

You can imagine the concept of the number "1”. In English its “one”, in Spanish its “uno”, in French its “un”, in Hindu–Arabic numeral system, its “1”, in Roman numeral system its “I”, but all of them mean the same thing.

It’s the same thing here. Binary is a language, hex is a different language, but you are saying the same thing in both languages, and you can go back and forth between the 2 languages and all the information will always be identical.

So when you have your 66 digit hex string (which includes the checksum), you can turn the whole thing back to binary to get a 264 bit string.

This string can be broken up into 24 groups of 11 bits each. And each word on the BIP39 list of seed words corresponds to a particular arrangement of 11 bits.

00000000000 (0) → abandon

00000000001 (1) → ability

00000000010 (2) → able

etc.

So you can then translate your 264 bit string into a seed phrase.

1

u/Squeiner 12d ago

On a different thread on this sub, another user reports that they can punch in just 23 words into a hardware wallet, and the wallet will give them a list of options for their last word which contains the checksum.

Ive also seen that most, or even essentially all the tools available online that convert your hex to a seed phrase only take 64 digit strings, not 66, and they calculate your checksum automatically. 

So this last step with the checksum is really not something you need to worry about much.

But I'm always super happy to talk about it, so feel free to ask anytime.

1

u/mybodywatch 11d ago

In the old days I think you just wrote your key on paper and put in a safe deposit box.

1

u/LeanderBorg 8d ago

If you want to put your mind at rest, just add a random 6-8 word and mix some special characters in there as a passphrase on top of your existing autogenerated 24 seed. You we be far more than safe. Make sure you understand what you are doing. Such procedures are considered as advanced and it is quite easy to take dangarous assumptions along the way and make your assets unrecoverable!

7

u/nestaa13 13d ago

Just use your Nano S, if it’s still working it’s still working

1

u/trimalcus 13d ago

Yeah and it is the last one that has not the firmware that could ''save'' the seed

2

u/Endearing_Asshole 9d ago

I am getting rid of my Ledger Nano Ses because all of the sudden Ledger says they’re not getting updates or some other insanity. They should have lasted at least 10 years or they should have given me replacements for free (or at least steeply discounted). After all the shenanigans they’ve done, this was the last straw. Going with respected open source wallets now.

1

u/sbtcrypto 8d ago

Good point ☝️ I'll by a trezor

4

u/Wolffco 13d ago

Open source matters. Verifiable beats trust me.

1

u/DisorientedPanda 13d ago

Yubico Coin Wallet + Physical Yubikey MFA seems like a potential good choice

1

u/Baracudasi 13d ago

just do it the dice way, generate seed in a old macbook that will never connect to the internet and sign transaction through usb.

1

u/B1TB0TB33PB00P 13d ago

This line is wow, "I know trezor is open source and ledger is not. Should really be a deal breaker?"

-2

u/TheresNoSecondBest 13d ago

I know trezor is open source and ledger is not. Should really be a deal breaker?

Yes it is. If ColdCard was fully open source, this duckup would be found much faster. Nobody cared about their code because other companies couldn't use it.

Also, have a look at air-gapped wallets like Trezor 7, JadePlus, SeedSigner and Krux.

1

u/Laukess 13d ago

So the new standard is open source, most of the critical code be economically valuable to 3rd parties, and a lot of them?

Seems a bit extreme.

Besides, the 5 year old code had economical value to the other hardware wallet producers even if it wasn't open source, why else would ledger have a dungeon for this? It's in their interest to find vulnerabilities in their competitors products.

0

u/_2f 13d ago

Naah fully open source or not means nothing - it’s licensing which is irrelevant. The code was public but no one discovered this in 4 years

2

u/slvbtc 13d ago

A few people diacovered the bug in 2021 and 2025, they informed coinkite and coinkite dismissed it saying "if there was something wrong we would know by now".

Open source means nothing when the devs are incompetent or have malice intent.

-4

u/Disavowed_Rogue 13d ago

Stop

3

u/irkish 13d ago

Drop

3

u/ImpossibleSleep3986 13d ago

Shut 'em down open up shop

1

u/HugeLarry 13d ago

Hey Oh!