Getting your Trinity Audio player ready... |
Or “How I Learned to stop worrying and love coin backups”
Well, it has finally happened. The world of BSV is finally starting to think ‘big’ and beginning to discuss and debate the economic inevitabilities that your wallet seed phrase isn’t going to work forever. *gasps*
I first wrote about this two years ago on an article about the tragedy of the commons brain worm afflicting the Bitcoin ecosystem at large. And I even had more than a couple Twitter debates with some socialist thinking self-proclaimed blockchain experts like Derek Moore at the time, who argued that miners were already duly paid for perpetual storage for everything that anyone wanted to put onto the blockchain. Well, the time for their comeuppance has finally er… come. I told you so. Thanks to the rampant scaling on BSV seen in the last 6 months, people are finally starting to realize[1] that you can’t expect miners to store everything forever… and what that means for wallets is starting to scare some people.
Well, dear reader, you are in BSV right? You must be used to having your views of reality challenged on a constant basis. So this won’t be too uncomfortable for you. For the other readers out there, I’m sorry for the upcoming unpleasantness and my lawyer told me to state upfront that I’m not to be held responsible for any seizures, aneurisms, or myocardial infarctions that may occur. You have been warned.
As mentioned in the opening paragraph, your seed phrases, meaning those 12 secret words that your friend told you to keep in a steel case won’t work forever. This, while shocking to any BTC maximalist reading here (eh…what the heck are you doing here in the grown-up section of the internet anyway? The kids section is here, move along now, shoo!) is the cold reality, even if you don’t believe in big blocks and BSV. It simply means you have just kicked the can further down the road, like every good politician, hoping to make this unpopular truth the next guys problem instead of yours. Why? Well, Connor explained it well in his video, expecting that there will be free services which will serve anonymous wallets coin retrieval is a faulty expectation in any long-term horizon—in any capitalist world anyway.
The solution, of course, is also capitalist. Just be willing to pay for this service. So far, I have just rehashed what I have already discussed in my original Tragedy of the Commons article. Let’s dive a bit deeper in this time around.
In the original article, I discussed how there was a whole layer of service providers that should necessarily exist in the Bitcoin network, if the Bitcoin protocol were allowed to be free and openly innovative instead of protocol developers trying to fix everything at the core level and in the process stifling natural economic specialization and diversification. In BSV we don’t have this problem, because the core protocol is set in stone and any attempts to change it will render that version not BSV. This is the reason why BSV is the first public blockchain to encounter this issue in the wild.
Let’s start by separating the two often conflated tasks: private key recovery vs coin recovery.
Most people today think of them as one and the same and that is partially the fault of how presently wallets are designed. In their attempt to simplify the user experience, wallet developers have hidden the notion of keys and coins (aka UTXOs) from the users. They want the view to just look like a wallet. A virtual bag of tokens. But underneath it all, wallets handle two sets of data: keys—which are used to generate addresses, and coins—the actual bitcoins that you own and can spend. With a ‘brain wallet’ or a seed phrase, you can only regenerate the keys. It alone cannot restore a wallet and its balance.
Along with that seed phrase, in order to restore, you need to find the coins that you own again. Now normally that isn’t a hard task, because all unspent coins (everyone’s, not just yours) are necessarily stored by the miners in the blockchain network but there are no guarantees that they will serve them to you when you need them. Presently most wallets run their own backend services at no charge or use free blockchain explorer APIs. Additionally, the network nodes only have the set of unspent coins, and block explorers only the historical spends, but not any extra comments or metadata that you may have kept in your wallet about those[2] spends.
This means that although you may be able to retrieve the current balance in your wallet if you just asked a miner nicely, they won’t necessarily be able to give you the whole spending history of your wallet. For that history, you will need historical spent coin information and something that only your wallet has, metadata. As the blockchain is a database that continuously has data added to it, the cost of keeping all historical blocks in a monotonically increasing cost, and unless a service generates revenue, they will not exist. If only there was as service which would accept transactions that you send it, and keep them around perpetually…
The solution to this ‘problem[3]’ is just to let capitalism do its thing. Wallets themselves have records of all their coins that they have spent, and all the coins they currently have. This data is not large, and it can be backed up through traditional means. It can also be put into password programs, or other encrypted storage solutions, so that it can be restored later. But it does mean that your backup format may differ between wallets, and it also means that if stored in encrypted form, you may forget the password. Treat wallet backups much like sensitive data backups. Keep multiple backups.
The other issue is that backups will need to be performed often, if the wallet is active. Ideally a backup of the coin set should be written to backup after every transaction. This backup can itself be written to the blockchain as data, as the coin and history information itself is not sensitive, and the keys can themselves be separately generated using traditional seed phrases. This backup transaction can be passed to an archive service, for a one-time cost, with the expectation that if you ask for it later on, they can charge you for it. For wallets which are meant more for cold storage or secure vaults which aren’t going to see much use regularly, they can afford to backup much less often.
So archive nodes seem to finally be on the top of people’s minds. A business that runs a full copy of blockchain, and will give you access to any historical coins for a price. Thanks to BSV, paying for this service will be easier than ever. You don’t need to go to a website, download software, or import anything. In fact, given some middleware projects like Babbage perhaps you could soon just automatically pay for a backup of a wallet through the wallet itself. Imagine, you have a seed phrase to a wallet that you haven’t used in 50 years. You download the latest version of a wallet, it asks you whether you have a backup file. You don’t. (If you did, it would restore everything and you would be done), you are then given the option to pay for a restore, which charges you 3% of the value of the coins restored or 5% of you want full spend history[4]. You agree, enter your seed phrase, (which includes decryption passwords) wait the time it takes to make yourself a Tom Collins, and boom, you are done. (Minus 5% which was paid to the wallet and the archive service that it used). This will also work for any hardware wallets.
Once again capitalism to the rescue. No core devs required. No new blockchain required[5]. Just supply, driven by demand. The demand seems to be coming up fast now, and the middle layer of the mandala network which Craig has been speaking about (and first put into my mind that faithful day in July 2017) is finally being recognized, and the truly innovative among the economy will likely be the first to capitalize on it.
/Jerry Chan
The Wall Street Technologist
***
[1] Connor Murray, Seed Phrases and Mandala network – https://youtu.be/3_3jLw0kMHM
Joshua Henslee, On seed restoration and UTXO management – https://youtu.be/XMFCMcSCYJs
[2] Was that spend 5 years ago to that 1933ae5GsXB… address that payment for the ‘LN in just 18m!’ hat that I bought from Blockstream? Or was it to pay for that last twitter retweeting service? Darn, I wish I kept records!
[3] I use quotes because I do not see this as a problem, it is simply a lack of services which will eventually develop, if you believe in the free market and no interference from protocol developers and socialist nannies like Derek Moore.
[4] Some may wonder how to achieve this. One way is to put the spend comments into the transactions themselves, encrypted by the key itself. There undoubtedly many other ways.
[5] It is truly sad that I have to even say this. But it is still the case that people stand to make more money making their own blockchain and selling its token in a pre-sale then actually building something useful on the existing blockchains that we have. —Ahem, I’m looking at you Derek Moore.