3

(newby-question)

If I plan to use a cold wallet for longterm storage without following the news around bitcoin and my cold wallets application does not get maintained anymore in the meantime, can it be that I cannot access my funds in that wallet anymore or is this totally impossible?

Regarding that question is there a difference between a client that creates a seed of words and a client that creates a private key?

2

Background

In order to answer the question let's first identify the key components inside a Bitcoin wallet:

Bitcoin public keys are derived by applying Elliptic Curve maths to a large random number (the private key).

A Bitcoin address is, in turn, derived by applying a series of transformations to a public key.

One private key is associated with one public key, and each public key creates one Bitcoin address. The Bitcoin wiki provides details and examples.

A standard wallet typically contains and manages several private keys and their associated public keys and addresses.

BIP32 specifies a schema for creating a Hierarchical Deterministic (HD) wallet that uses a seed phrase to reliably and repeatably generate a single master private key and set of addresses.

When we speak of "cold storage", it can mean that we either store bitcoin in

  • a single standard address with a single private key, or
  • an HD wallet - a set of addresses with a common master private key - all of which can be recreated from the seed phrase, or the xprv format private key

The client mechanism for creating a standard address is different from the mechanism for creating an HD extended private key and its associated set of addresses. However, the mechanism for creating each is standardized. Wallet clients, like Electrum, can generally create addresses by either mechanism but implement their own schema for generating the HD seed phrase. Variations and changes are evident between different clients and even between different versions of the same client, e.g. the length of Electrum's seed phrase was changed some years ago.

The Bitcoin protocol accepts addresses produced by either method - the network simply sees valid Bitcoin address referenced in a transaction.

Conclusion

So, coming to your concern about HD client maintenance and its implications for cold storage, yes, there are risks. Who knows what the future holds, right?

Storing bitcoin, long-term, in a standard address means that you only have to back-up and secure the underlying private key. The bitcoin can be accessed easily and reliably, in future, by simply importing the private key into any standard wallet client or address tool script.

Using an HD wallet application for long-term storage could have the outcome that, after years or decades, the application has fallen out of maintenance or has changed its HD implementation. A solution would be to keep a backup of the application version that you had originally used to create the HD wallet. Also, exporting and securing the HD master private key in xprv format could be a mitigation. However, I have witnessed instances where xprv exports from one client fail to import to other HD clients, for whatever reason.

HD is useful and convenient for everyday use - provided it is frequently updated to new client versions. Otherwise, the HD client software will become outdated and may cease to function. Even when storing the original version, after years and decades, its dependencies on outdated software libraries and CPU/hardware architecture may render it inoperable.

For long-term cold storage a good rule of thumb is: simple and standard is safest.

  • "A solution would be to keep a backup of the application version that you had originally used to create the HD wallet. " Can it be that in the future the old HD-client that I save now cannot send transactions anymore? – Ini Jun 23 '17 at 1:41
  • It could, plausibly, happen that transaction format changes in future. While I'm sure the developers would ensure backwards compatibility, it may - for some reason or another - turn out your client version (from 50 years ago!) does not construct valid transactions. However, if you can access your private key(s) via the old version, then you will be able to import them to a modern client at that time in order to spend your bitcoin. – venzen Jun 23 '17 at 1:49
  • 1
    Provided the ancient client software, with its outdated libraries, is able to run in your future operating system! Hmmm... another reason for favoring standard address cold storage. – venzen Jun 23 '17 at 1:53
  • You would just run the old operating system? – Ini Jun 23 '17 at 1:56
  • That would work, but only if its CPU architecture still exists at that time! :) – venzen Jun 23 '17 at 2:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.