Post
Topic
Board Bitcoin Discussion
Merits 1 from 1 user
Re: Safest way of long term holding
by
DannyHamilton
on 21/03/2021, 03:25:50 UTC
⭐ Merited by vapourminer (1)
I am considering holding Bitcoin for the long term. I have learned a few basics about the blockchain and BTC mechanisms, but still unable to find a complete guide on how to safely store bitcoin.

1) How to generate a private key safely? Online tools are obviously undesirable as they might keep a back door on all keys generated. Similar reason for any library or packages even they operate offline (I cannot check if these keys generated are in fact following some predetermined sequence).

I can use a random number generator on an offline PC. But I am not a real 'hacker' and have concerns on whether any programming language can produce truly random numbers that cannot be reproduced (or say predicted) on another PC. They might all rely on some external factors (such as time) which greatly reduce the possible key generated and make brutal force algorithms possible.

Currently, I can only think of throwing dice for key generating but that cannot scale.

2) I do not want to use any 3rd party software as a wallet. Suppose I just store my private key on a piece of paper and later transfer coins into it using exchanges. Would that be a valid transaction and allows me later to spend these coins? Is there anything else I need to store together with the private key (like the hashed transaction number in transaction_input in the blockchain? ScriptSig?) I really want to avoid 3rd party software because it might be obsolete in the future and data can be degraded. (Say if I use some sophisticated cold wallet, I may experience hardware degradation in  10 yrs, no one at that time used this software, programmers 10 yrs ago cannot be reached, and any trick in coding or encoding in the original version becomes obsolete. I would be a consumer rather than an investor of BTC...)
 
Any advice?

Bitcoin is an open source protocol.  ALL bitcoin software is "Third Party Software", unless you are going to do all of your computations with paper and pencil, you're going to have to use third party software of some sort.

If you are concerned that the method you use for key storage and for address generation may not be supported in the future, then along with your key information, you should store instructions for yourself on how to use that information.

Your best bet for generating trustable "random" data if you want to go to extremes is to roll dice.  You'll want a consistent method of rolling the dice, and a consistent method of determining which order to read the dice so that your human biases don't come into play.

After you've the dice enough times to collect 256 bits of entropy, you'll convert the dice into a Hierarchial Deterministic master private key. That way you can have as many addresses as you like, while only needing to go through the dice process the one time.  For the safest storage, you'll want to convert that Hierarchial Deterministic master private key into a 24 word seeded phrase.  If you are concerned that the "seed phrase" process may change (or go away) in the future, then you'll want to make sure you store with the phrase instructions on the process of converting the seed phrase back to a numeric master private key.

Once you've got your master private key encoded in a recovery seed phrase (along with instructions on how to convert back to the numerical value), the next thing you'll want to do is use the BIP-44 process to generate addresses. Again, you'll want to make sure you store enough information that you'll be able to repeat the BIP-44 process in thee future just in case it is no longer a common process and you can't find any software that will do it for you.