Remix.run Logo
▲ ArtTimeInvestor a day ago

There is no solution yet.

From a bird's-eye perspective, 3 things are needed: Create a key, derive an address from the key, store the key.

Creating a key safely is possible with dice. You would probably create a seed phrase instead of a key directly, but for this discussion it is the same.

Deriving an address from the key is hard and I have not yet seen a good protocol on how to do it. I have read through a bunch of descriptions of how people do it and they are all weak and brittle. The most popular seems to be "I order a hardware wallet and follow the instructions that come with it". But even people who put a lot of thought into it come up with weak and brittle approaches. I would think there is a way to do it safely. But I have never seen a description of one yet. It might involve multiple computers, multiple software implementations and a hell of a lot of work to create a multisig that is not prone to a single attack vector.

Storing the key is probably the hardest. The most popular way seems to be to store it in a drawer or a safe. So now those coins are just as safe as a piece of gold would be. Or they use a multisig and store the keys in multiple locations. Quite painful. As you have the ongoing problem of keeping those locations accessible and safe at the same time.

▲thinkmassive a day ago | parent | next [-]

How is multisig "quite painful" in your opinion?

▲ifwinterco 3 hours ago | parent [-]

Say you've done everything right and used 3 coldcards spread across 3 geographic locations using 2of3 multisig.

You're feeling pretty proud of yourself, your coins are super safe.

Then it turns out the RNG in the coldcard mk2 was badly/maliciously implemented and is completely insecure. You need to move your coins right now.

You can probably see the issue

▲aftbit 2 hours ago | parent [-]

You'd probably want to use diversity for this - do 2of3 multisig with a Coldcard, a Ledger, and a Trezor.

▲ifwinterco an hour ago | parent [-]

Yes, but the complexity of the setup (which is already way too much for any non-cypherpunk normies) is starting to get kind of ridiculous.

I am still pro crypto and fascinated by the technology but we have to admit the original cypherpunk vision was unfortunately never going to work, we're going to end up with something else

▲embedding-shape 13 hours ago | parent | prev [-]

> There is no solution yet.

Again, "best solution we have available" for self-custody is hardware wallets, so we're back to square one.

Imagine if I tried to discuss and argue about things like this on a TypeScript submission? "No, this won't actually solve the problems of TS" I say, "What is the solution then?" someone asks me and I reply "There is no real solutions to those problems, just use Clojure, problems avoided!", completely missing the point.