Bitcoin Recovery Account

in LeoFinance9 months ago (edited)

A necessary function of crypto.

Being a bank is a stressful job. Even the most basic of operations in crypto can lead to devastating consequences. Sent crypto to the wrong address? You lose it all. A centralized entity goes insolvent? All their IOUs are worthless. Someone gets ahold of the seed phrase? Gone. Lost your own password? Sorry, better luck next time! Boating accident? Forget about it.

One of Hive's big selling points has been a feature that is hardly ever needed but still acts as a critical pillar of infrastructure. The recovery feature, as if by magic, allows for the decentralized ability for the rightful owner of an account to "steal" it back from a thief without introducing any vulnerabilities whatsoever into the system. This is quite an impressive feat that seems to have gone unnoticed within the larger crypto ecosystem.

How does it work?

Well I've already described in detail how the recovery process works, but the brief rundown goes something as follows:

  • An account gets stolen.
  • This account loses all their liquid assets.
  • The true owner can reclaim the account and any locked assets.
  • They contact their recovery provider.
  • The recovery account broadcasts a new public owner key.
  • This new key must then be signed with an owner key that was valid within the last 30 days.
  • The account has now been reclaimed and can sign transactions with the new owner key (IE change any key that needs changing).

Even though this process very rarely needs to occur it is critical that it does exist, just like the ability to roll back bad blocks. Just because it doesn't happen very often does not imply it isn't absolutely necessary. Recovery an absolutely required feature, especially when our very online reputations are tethered to these abstracted accounts.

And it should be so on Bitcoin as well.

The more I think on it the more I realize that it is actually quite foolish that Bitcoin doesn't have something like this. Bitcoiners go through so much trouble trying to ramp up their security and make sure they never get hacked. Some of them go so overboard that they outsmart themselves with their own custom encryption algorithms and lose their coins from simple user error. At a certain point the risk of our own incompetence becomes higher than the risk of outside threats. It is known. How many stories have we heard of billions of dollars worth of Bitcoin just sitting in a landfill somewhere?

So what does this look like on BTC?

Well the crux of the entire recovery system is that the user is alerted to the theft before a person can unlock and steal their entire stash. Therefore the most critical piece of any recovery system is going to be timelocks, which Bitcoin already has.

The part that I'm not so sure about is the ability to employ complex multisig within a very particular smart contract. It's obvious that Ethereum (or any smart-contract chain) would be able to do something like this, but Bitcoin might be a little trickier (or not I really have no idea from a technical aspect).

What Bitcoin needs is a wallet that allows users to timelock their BTC. Again, this would be easy to achieve (I think). The Bitcoin has to stay locked forever until such times that the main private key tells the contract it needs to be unlocked. Once this message is sent it would need to be in some kind of powerdown phase (say 3-7 days) before truly unlocking and being moved.

The frontend company that provides this service should send text messages and/or emails to the user telling them their coins are unlocking and which address they'll be sent to when the timelock expires. Of course such things should be open source so hardcore users that want to be in control of everything can set it up on top of their own Bitcoin node without the need to trust such centralized agents for an alert. Plug & Play; Modular.

So what happens if the main key is stolen?

If a timelock begins countdown without the rightful owner's approval they can reset the withdrawal using their own key and sending it to the correct wallet. This alone theoretically could be enough to stop the hack because each one of these resets would cost an on-chain operation. The hacker might just give up after a single try knowing they are simply wasting money and the true owner would never allow them to steal the funds.

However the recovery account in this case would be a 2:2 multisig operation that allows the rightful owner to bypass the timelock entirely and immediately transfer the funds to a safe wallet. With this feature in place the hacker would need to know both keys at once to be successful. This would be just as good if not better than the traditional multisig being employed today.

What's the current alternative to this?

Without a timelock, Bitcoiners are resorting to things like 2:3 multisig. Meaning if I had a cold storage wallet maybe I give my two best friends 1 part of the key so if one of us loses it (or dies) the money can still be accessed. The problem with 2:3 is that my two best friends could certainly betray me, and the financial incentive of that event taking place just keeps going up as the value of Bitcoin increases.

Other variants

The timelocks create a scenario were the true owner of the Bitcoin pretty much stays in full control all the time unless shit hits the fan. However, multisig could be used in both cases: the primary key and the recovery key. For example, the primary key could be something crazy like 3:10 multisig while the recovery account could be 2:3.

In this scenario maybe an extended family shares the primary key among 10 members. Three of them together have the power to start the countdown and shuffle money off to another wallet after 7 days. However, if any 3 family members try to go rogue and steal the family jewels, as it were, the recovery keys could stop this from happening.

Perhaps these three recovery accounts would be considered the most trustworthy, the ones who contributed the most to the wallet, or whatever criteria was agreed upon in advance. Or perhaps these 3 keys could be given to completely neutral entities like lawyers or escrow services. The sky is the limit.

Joint accounts

The ability to create shared joint accounts while keeping individual members honest could be highly useful. For starters, it is the ultimate privacy solution. How would these data companies track the Bitcoin in our wallets when the Bitcoin is constantly flying in and out of accounts that are owned and operated by groups of multiple people? Something like this also potentially cuts down on fees by allowing bigger withdrawals to be removed from the wallet and sent to an exchange to be divided up off-chain after the fact.

Conclusion

Again I'm not technically knowledgeable enough about Bitcoin in terms of multisig and timelocks to know if everything I've stated here could be created in the exact way I've described, but I do have a quite reasonable expectation that any smart-contract network could do it without breaking a sweat. I assume that Bitcoin can do it as well but that has yet to be confirmed.

Timelocks are the key to long-term account security. Networks like Bitcoin assume their users should never make a mistake, and if they do they've just lost everything and there is no recourse. This is not a viable option as crypto goes mainstream. Multisig, timelocks, and account recovery will play a pivotal role in not only securing one's assets, but also for creating trustless joint accounts and making sure inheritance is received rather than being lost forever.

Sort:  

👍 !PGM

Sent 0.1 PGM - 0.1 LVL- 1 STARBITS - 0.05 DEC - 1 SBT - 0.1 THG - 0.000001 SQM - 0.1 BUDS - 0.01 WOO - 0.005 SCRAP - 0.001 INK tokens

remaining commands 4

BUY AND STAKE THE PGM TO SEND A LOT OF TOKENS!

The tokens that the command sends are: 0.1 PGM-0.1 LVL-0.1 THGAMING-0.05 DEC-15 SBT-1 STARBITS-[0.00000001 BTC (SWAP.BTC) only if you have 2500 PGM in stake or more ]

5000 PGM IN STAKE = 2x rewards!

image.png
Discord image.png

Support the curation account @ pgm-curator with a delegation 10 HP - 50 HP - 100 HP - 500 HP - 1000 HP

Get potential votes from @ pgm-curator by paying in PGM, here is a guide

I'm a bot, if you want a hand ask @ zottone444


It's interesting to be able to have this security, as you wrote, the impossibility of recovering the money once sent to the wrong address is a reason that turns people away from the crypto world

This was an unexpected treat. I am not sophistaicated about multi-sigs and enjoyed learning some new information.
Thank you

How many stories have we heard of billions of dollars worth of Bitcoin just sitting in a landfill somewhere?

Is that one guy still digging around for his in that landfill? I thought he had it narrowed down to a specific quadrant at one point.

There is a lot of stress in the job, if the person is earning money by himself through blockchain technology, then the person does not get mental tension in it.

very good work

What Bitcoin needs is a wallet that allows users to timelock their BTC.

There's already a timelock feature in Bitcoin, and from research it's been a feature since 2009 where you could specify at which block height it'd release, and approximate a time and date. I can't for the life of me find him, but there is a person who timelocked a massive amount of bitcoin to be unlocked when the last halving takes place in 2140. That's not the crazy part, though.

The crazy part is that he made the private key of the wallet public. Yep. Made a goddamn statue out of that key as well IRL.

I'm not entirely sure how this works on the Bitcoin network, though. Is it like a transaction that's broadcast onto the mempool, but the miners are forbidden from including it in a block until a certain block height is reached?

This is a fantastic analysis of the importance of account recovery! The idea of a "decentralized steal back" is ingenious, and your breakdown of how it works on Hive is clear. It's a real shame Bitcoin doesn't have a similar system. Your proposed timelock solution sounds promising, especially with the multisig integration. The potential for secure joint accounts and inheritance management is exciting. I'd love to see further discussion on the technical feasibility of implementing this on Bitcoin.

How do we verify who the real account owner is here on hive? Cant whoever stole your keys pretend to do this themselves?

Everyone check Your Hive-Engine Balance for VKBT
https://hive-engine.com/trade/VKBT