I would like to thank mickyhovis of Reddit who originally asked this question. Why setup a bitcoin? To securely leave your bitcoin to someone else of course! Setting up a bitcoin inheritance isn’t too hard, but it is more difficult than leaving the name(s) of your beneficiar(ies) on your bank account. With that said, keep in mind it may or may not be a challenge for your beneficiary to claim your account – compared to importing an inherited Bitcoin address. Today we are going to discuss Four different methods for properly configuring a bitcoin inheritance. This guide is a living breathing document and may be subject to change in the future! Do be sure to check in with this page periodically to ensure you’re properly securing and storing your Bitcoin. (once every couple years ought to be fine).
1. Using OP_CHECKLOCKTIMEVERIFY
Are you a computer wizard? I’m not, Seriously, I don’t know quite for certain how to do the heading I’ve just typed above. Let’s step through this process together shall we?
According to Gmaxwell and Theymos, we can modify the raw hex output of a bitcoin transaction to add in the locktime value which is the block-height itself. This Block-height will determine whether or not the transaction will be included in the block (accepted/rejected). If the Transaction is submitted and the NLockTime Value is greater than the block height value, then it is still considered “immature” and will be rejected by the OP_CHECKLOCKTIMEVERIFY command – if the NLockTime height has passed then the transaction will be considered valid and will be relayed (transferred). Once the transaction is created, using either a website such as BlockCypher or even using Bitcoin Cli’s command createrawtransaction within the core software, we could instruct the will Executor to push the transaction(s), which would transfer the bitcoins to an address of your choosing. Though we are seeing great strides towards NLockTime being an option, especially with the latest release of core that implements BIP 65, OP_CHECKLOCKTIMEVERIFY (the feature that utilizes NLockTime) as it stands is an incomplete solution. I would personally advise against this method as there are too many pitfalls and points of failure. I don’t trust my skills at this point to modify the raw bitcoin transaction to add that NLockTime value, I wouldn’t even know where to begin, do I append the value? Do I add the option on the json looking output thing then hash that into a hex encoded value to be sent? If you have any of these answers do be sure to include them in the comments as I will give you credit and update this guide accordingly!
2. Backup “Master Seed” phrase
This method is the easiest option to go with and is fairly flexible. I would recommend this technique should you expect to pass them on in the next 20 years:
- Using an SPV wallet such as Electrum, Mycelium, or MultiBitHD – generate a new wallet from seed, and write this seed down someplace secure (I cannot stress this enough WRITE IT DOWN!!!!),
and make it password protected.
- Send small amounts to this address to confirm it works, that you can spend from it, that it is password protected, and that you can recover the seed,
and that recovering it, the coin is still password protected.
- create a different wallet/seed/and different password for each wallet you intend to bequeath. If you intend to give 3 persons bitcoin, make 3 different wallets with different recovery seeds and passkeys (to spend).
- (if desired) On your will – list the public addresses per each heir so that distribution of what going to whom is listed, for transparency.
- Use two or more locations to hold the data – One place of storage equals one centralized point of failure, even if you went the extreme route and saved the data on punched steel cards (which would work fine and be more resilient), more places of security equal more resiliency.
With regards to the crossed out lines above: Over the course of my research I have come to learn that there aren’t any mainstream bitcoin wallets that allow the creation of a master seed that also require a secondary pin to spend with – you must specify the spending pin AFTER the wallet has been imported. It turns out that TREZOR wallets allow you to specify the Pin before use – but the Seed itself can bypass this mechanism – providing little benefit if your master seed passphrase is compromised.
3. Using a Multi-Signature Wallet
Utilizing a Multi-Signature wallet allows you to share spending access between multiple devices (different persons who each own their own device, in principle at least). Why would you want to require multiple devices to sign a bitcoin transaction? One scenario that comes to mind is the legitimate concern about your potentially deteriorated mental state at or near death. Rather than risking memory or recall on dementia, wouldn’t you rather prefer that the Executor of your Will have preliminary access to help manage and move funds? With Multi-Sig, this is possible! Now multi-sig wallets come in a few different varieties but pretty much they all work the same: You can create multiple ‘shares’ of private keys and would require a ‘threshold’ or X amount of keys in order to spend and control the balance associated with these shares. Commonly known as m of n wallet or even a 2 of 3 signatures wallet, multi-sig wallets provide protection particularly for complex trusts where multiple points of control are desired (say for instance you wanted your family to work in conjunction and that you wanted your Executor to actually have checks and balances – you trust them but not enough such that they exclusively control your entire bitcoin cache of balances to be distributed – a multisig wallet would be ideal because multiple participants would be required to facilitate transactions) When setting up the Isabel Bitcoin Sign Crowdfund, Jorj and I together agreed upon and utilized Bitpay’s Multi-Sig Copay wallet. It was easy to setup, had extensive features such as seed backups, spending limits, and paper wallet sweeping capabilities; it’s even open source!
4. Using a Bip 38 Encrypted Backup
This is the final method mentioning and while it’s certainly not the newest and/or most elegant, it deserves mention for providing a means to password protect bitcoin private keys. Bip 38 Encrypted Backups are usually paper wallets. Set a decryption password and then simply ‘generate’. (the most well known one that I am aware of is bitaddress.org – I trust this site because it is fully client -side. that means you can download the website to your local computer, turn off the internet, and it still fully functions, pretty neat!). The advantage of using a BIP 38 encrypted wallet is that you have more liberties to easily distribute backups. Even if the encrypted private key is saved on the internet, it requires that separate password in order to validate and actually spend those funds. In my original advice on Reddit, I had not done prior research (simply typed from recall what I thought were the proper steps and methods) and had confused the BIP 38 functionality to be a default feature of HD (Master Seed). To create a password encrypted paper wallet:
- Go to https://bitaddress.org
- Right click > Save as
- Be sure that your save dialog options are “Web Page Complete” NOT html only
- Disconnect from the internet (turn off the Wifi or Unplug the network cable or both)
- Open the Saved webpage (its okay, it will still work!)
- Follow the directions on screen to generate a random number (which will make a private key for you at random)
- Once loaded to 100% click Paper wallet
- Now, click BIP 38 Encrypt
- Enter a STRONG UNIQUE password (this is YOUR money right? Protect it!)
- Finally, click Generate … it will take a few moments, but then it will create a password protected wallet to be printed/saved.
You Did it! Now you are now equipped with the information necessary to properly setup a Bitcoin Inheritance! If you followed the guide above then kick back and have a beer (or pinot), you deserve it. Though the bitcoin protocol is changing, these methods outlined above should remain safe to change – or they will be amended with the proper procedures, should they change. Now, I did create this guide to help users who come from all walks of life, whether you are a software developer, an equestrian, or an arborist, you should be able to use this guide to keep your money secured. Do you have any questions or was anything in this guide confusing? Did you hate the guide completely or feel that it was complete, utter garbage? Let’s discuss in the comments!