【财富密码】BTC 私钥丢失后的恢复方案

哈哈,大家好!我是号称行业“区块链王一博”的拓拓哥~

最近以太坊推出了抽象账户的概念和实现,即eip4437。在你的资产存在eth 抽象账户的合约中的前提下,如果你的私钥或助记词丢失,可用4437 来恢复,这个实现类似于多签名,同一合约的签署者可以联名恢复你对合约里资产的控制权

那么对于比特币来说有没有类似的方案,比特币地址私钥忘记后,能不能恢复?其实对于比特币来说,解决方式更加彻底和简单,即使用时间锁功能即可。ETH 目前的普通交易是不能设置时间锁的,只能在智能合约里面实现

什么是BTC 交易的时间锁?

nTimeLock 时间锁是指,在一笔交易中,你可以设置交易被区块链打包确认的时间,提前于这个时间来广播交易都无得到网络确认

时间锁有什么用

设置了nTimelock,你可以提前签名好若干笔交易。并把这些交易保存起来,以后即使你的私钥丢失,也能广播这些交易把冷钱包的币发到指定的地址上

这里有两点要注意的:

加上时间锁的交易签名后,原地址上的币是不能再次发送新交易的,否则会破坏原地址的UTXO结构,使得加了时间锁的交易无效 。

恢复地址的私钥需要你保存好,恢复地址可以是交易所地址,多签地址,当然最好是自己的备用恢复地址 。

带了时间锁的交易你可以签署任意多笔,在时间锁失效后,需要哪一笔确认,广播哪一笔即可

BTC 交易如何设置时间锁

我们用electrum 为例 首先,设置好你的恢复地址,图中39NQ 开头的地址就是我们的恢复地址,点击支付:

进入高级设置,里面的 LockTime 就是我们要设置的

你可以选择日期或者区块链高度来设置,比如你可以设置在2024年1月1号以后,这笔交易才能被广播确认,或者区块高度为100万以后,此交易才能确认
注意。如果你使用区块高度来设置确认时间的话,你需要进行计算,比如一百天后的区块高度为目前的高度+144*100
因为比特币一天大概144个区块,所以需要乘以100

设置完高度以后,插入你的trezor,点击签名

签名后的内容,我们叫做raw tx,你需要把raw tx保存起来。在你签名时,trezor 或其他硬件钱包会再次确认你的时间设置
签名完成后,点击上图左下角的导出,把raw tx 文本导出来保存即可

在时间锁的日期到达后,你可以通过electurm 加载你的raw tx井广播到网络确认,如下图

把事先保存好的raw tx 拿出来,贴到输入框,点击载入交易即可

RAW TX 需要保密么?
rawtx是私钥签名后的文本文件,你可以存在哪里都可以,签名后的交易是无法泄露你的私钥的,所以,你的raw tx 甚至被别人知道也无所谓,比如我上面签名的raw tx是:
0200000000010143ec0bb3ee0a059d923005809c4a25a75589decbcaffd333e8e171328 df56e80000000017160014e6b8415c6595f55553484ec19f86727c1a883576fdffffff011a1306000000000017a914543c05063ded36f50284b4d9c42c2ac99f5fd53b8702473044022022653182e616327ffdh7a9579d11663ed6e55ef67f4d695940bcdhc7e5b33eca02203167 f2ee67d7d23a405b1319e138ba2314fa600633a6316a15382e8946f8ff012103d9298b0c0 dc364c3f2675690a8734d53d8a115483b28a9c838b7ee94669d59c85f28cf64
这个raw tx 你们可以加载到你的electrum 里面,看看能不能广播成功
试过以后你会发现,这是无法成功被确认的,因为这笔交易无法在 LockTime:1691297887 (2023-08-06 11:58:07)之前确认,就算在时间锁失效以后广播成功了,bte 也是转移到我设定好的恢复地址上,其他人无法更改恢复地址
加上了时间锁后的签名 raw tx文本是用来在你丢失私钥的情况下恢复你的资产的,你可以保存在任何地方,在你知道恢复地址私钥的前提下,保存的地方越多越好

微信1:victeam005

微信2:shijie20170405

Telegream:https://t.me/VICOINDAOCHAT

Subscribe to VICOINDAO
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.