真的假的?Bitcoin Core不支持导入私钥了?

7/15/2024, 3:13:37 PM
本文介绍BTC市场动态及“逢跌加仓”策略的挑战,并回应读者关于Bitcoin Core客户端不再支持私钥导入的疑问。总结指出Bitcoin Core仍支持私钥导入,只是需掌握新方法。

周末BTC在击穿64k、局部触底后,开始缓慢修复至64k上方。逢跌加仓这种事,说起来简单,真能做到的,也许还是少数。毕竟,抄底被埋这种事太多了,“逢跌加仓”在很多人口中与猛兽无异。

前些天写了两篇介绍手搓BTC冷钱包的文章,一篇是2024.6.12《哪里能买到冷钱包?答案你肯定想不到!》,另一篇是2024.6.14《自己手搓一个比特币私钥地址生成器,不到百行代码,不依赖第三方库!》。

文章得到了比较热烈的反响。其中有读者询问说,最新版本的Bitcoin Core(比特币核心)客户端已经不支持导入私钥了,那么这个手搓的私钥,是不是就没有办法导入到Bitcoin Core使用了呢?

今天,教链就简单解答一下这个问题。

众所周知,Bitcoin Core(比特币核心)是传承自中本聪的一个客户端软件,它主要的功能是作为比特币的节点。它也自带一个钱包的功能。当然,你可以认为这是一个软件钱包。只不过,这个钱包比较“独立自主”,依托于自身的节点下载整个区块链数据来工作,不依赖其他第三方的数据服务。

有一些硬核的玩家会使用这个钱包软件。优点自然是独立验证一切。缺点也很明显,初始化需要一两个星期(取决于你的网络速度)和大几百GB的磁盘,才能把从2009年到现在的全账本数据都下载下来,验证一遍,然后才能正常工作。

一般用户就是为了导入私钥,然后把BTC全部转入交易所去卖掉这个“小小需求”的话,估计恐怕是等不了这么长时间。

教链之所以把“囤BTC”这件事拆分成两步:一、囤币;二、动币。就是为了在第一步实现完全手搓,私钥不依赖也不接触任何软件硬件互联网。至于囤了20年、30年之后才需要动币的时候,再用20年、30年之后的最新、最好的软件导入私钥来操作就可以了。想必20年、30年之后的软件钱包、硬件钱包,可能会比今天的大有进步、大有不同了吧?

拆分之后还有一个好处,那就是动币的环节,其实并不要求必须使用那么硬核的全节点钱包!为什么?因为从导入私钥,到清空地址,转入交易平台,可能只需要十几分钟到半个小时。这是这个私钥触网的最长时间。最长也不超过半个小时。

黑客在清空地址之前,不到半小时内,能够发现并实施盗窃的可能性比较小。时间窗口期很短,他不一定来得及动手。(当然你也可以用冷热钱包分离、两台机器配合操作的办法,进一步杜绝黑客提前在你联网电脑上种植木马监视的可能性。)

为了这个半个小时不到的动币环节,等待一两个星期去同步整条区块链,恐怕也不会是很多人想做的事。

这就是教链在2020.10.20《如何使用私钥保管比特币》中使用轻量级钱包软件electrum来操作“动币”的原因。

至于Bitcoin Core这个“正统”的客户端软件,目前还没有完全实现中本聪在白皮书里说过的所谓SPV(简化支付验证)钱包功能。它再做一些努力的话,实现起来应该不是很困难。实现了SPV功能,那么就可以允许普通用户不必下载、验证和存储全部区块链数据,而只需要下载区块头数据就可以了,这会极大减小用户钱包的数据量,并极大缩短初始同步的时间(几十分钟到几个小时?)。

教链的个人观点是,在Bitcoin Core正式实现SPV功能之前,普通用户“动币”没有必要使用它。

说完这些,我们就可以来看一下,所谓的“Bitcoin Core不能导入私钥了”究竟是个什么问题呢?

从0.17版本开始,Bitcoin Core开始支持一种叫做“输出描述符”(Output Descriptor)的新技术。用这个也是为了更方便地指示,用户在钱包里究竟还要用哪种地址。毕竟,教链说过,私钥就是一个数字,同一个私钥其实可以对应出不同格式的地址,每个地址彼此并不相通。

比如说吧,在2024.6.14《自己手搓一个比特币私钥地址生成器,不到百行代码,不依赖第三方库!》中手搓出来的这个私钥:

5KQ2upQdz2wPfYCT2MfXdgmqZKZtFPDmzm8ubXimR76pYMANUdM

它可以转码成压缩格式私钥:L4CfS8FLEjZ536hXrzD4CvYuKex9CV5Pbwou9QbM3PvgqKzLhMBb

它对应的普通地址是:13cuZK94jvtCBPDoXd86MiiFTyMnQWkCS6 (又叫非压缩格式地址)

它还可以对应一个压缩格式地址是:1D9UhcTvw9vsJ9SjHoAHT1kGcvojWVnfVp

它还可以对应一个隔离见证地址(p2sh格式)是:3EdGz1omVRGPoZqXsiWSg6pGqpQdz1c2Gb

它还可以对应一个隔离见证bech32地址(p2wpkh格式)是:bc1qs5alt3n7jyarufd4j2d0gsd6pa4mgqt6g43lcr

它还可以对应一个taproot地址(bech32m, p2tr格式)是:bc1ptc0q350pdglal7t2zwcefed6yx9tj7jqz8wfsfxmuukyms4lj0cqht8kuk

不知道你是不是已经看晕了。是的,就是这么眼花缭乱。这还只是冰山一角,仅仅是一个私钥,还没有用上助记词等等等呢。

新技术层出不穷。不要盲目追新。完成目标、适合使用的就是最好的。所以,这也是教链仍在使用普通地址的原因之一。

要知道,直到今天,还有大把的钱包软件,还不能很好地兼容bech32地址,更别提taproot地址。

更别提太宽松的助记词标准,不同钱包软件、硬件,都搞了一些“定制”,主打的就是一个不兼容。你抄记了这家的助记词,几年之后软件没了或者升级了,你把助记词导入到新软件或者别家的软件里,发现恢复出来的完全是另外一套地址了!你存放在原来地址里的BTC都找不到了!

教链身边就有朋友遇到过这样的惨痛教训。

其实所有这些高级的新技术,都是在最朴素的私钥-地址基础上套壳。一层、两层、三层…… 套得越多,将来遇到恢复困难的可能性就越大。因为那套的一层层壳,对你这个用户来说,太难悉数掌握,于是就几乎相当于于一个黑盒子。即便开源,又岂是每一个普通小白用户能完全看懂的?

你不是技术专家。回归朴实无华的本质,也许才是永葆快乐的最好办法吧!

说回来,Bitcoin Core客户端软件钱包默认创建描述符钱包而不是原来的旧格式钱包之后,新格式的钱包就不再支持旧的导入私钥指令比如importprivkey之类,而是转而需要通过描述符来进行导入。

首先,通过getdescriptoinfo指令获得描述符的checksum信息:

$ bitcoin-cli getdescriptorinfo “pkh(5KQ2upQdz2wPfYCT2MfXdgmqZKZtFPDmzm8ubXimR76pYMANUdM)”

{

“descriptor”: “pkh(04e510bfa12225bbc2044a1847eda44a26e8a842cbf45c11d74ade893e506fc9e209c7c0044c5321ea22edf9dc1d8e45bed3663ed7c637eb564a7dd0a23ca8e45c)#afvrzgrk”,

“checksum”: “8rrz94h2”,

“isrange”: false,

“issolvable”: true,

“hasprivatekeys”: true

}

然后使用importdescriptors指令导入私钥:

  1. $ bitcoin-cli importdescriptors ‘[{“desc”:”pkh(5KQ2upQdz2wPfYCT2MfXdgmqZKZtFPDmzm8ubXimR76pYMANUdM)#8rrz94h2”,”timestamp”:”now”}]’

[

{

“success”: true

}

]

我们用listreceivedbyaddress指令就可以看到刚刚导入的地址:

  1. $ bitcoin-cli listreceivedbyaddress 1 true

{

“address”: “13cuZK94jvtCBPDoXd86MiiFTyMnQWkCS6”,

“amount”: 0.00000000,

“confirmations”: 0,

“label”: “”,

“txids”: [

]

},

那么,如果我们把同一个私钥,换个描述符来导入,就会得到bech32格式的隔离见证地址:

$ bitcoin-cli getdescriptorinfo “wpkh(L4CfS8FLEjZ536hXrzD4CvYuKex9CV5Pbwou9QbM3PvgqKzLhMBb)”

{

“descriptor”: “wpkh(02e510bfa12225bbc2044a1847eda44a26e8a842cbf45c11d74ade893e506fc9e2)#78mhkxqv”,

“checksum”: “8ryfeuc2”,

“isrange”: false,

“issolvable”: true,

“hasprivatekeys”: true

}

$ bitcoin-cli importdescriptors ‘[{“desc”:”wpkh(L4CfS8FLEjZ536hXrzD4CvYuKex9CV5Pbwou9QbM3PvgqKzLhMBb)#8ryfeuc2”,”timestamp”:”now”}]’

[

{

“success”: true

}

]

$ bitcoin-cli listreceivedbyaddress 1 true

{

“address”: “bc1qs5alt3n7jyarufd4j2d0gsd6pa4mgqt6g43lcr”,

“amount”: 0.00000000,

“confirmations”: 0,

“label”: “”,

“txids”: [

]

}

好玩吧?

所以说,结论就是,并非Bitcoin Core不支持导入私钥了,而只是你还没掌握怎么玩罢了。

声明:

  1. 本文转载自[刘教链],著作权归属原作者[刘教链],如对转载有异议,请联系 Gate Learn团队,团队会根据相关流程尽速处理。

  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。

  3. 文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。

分享

目录

币圈日历

巴厘岛 Coinfest 亚洲
UPCX将参加定于8月21日至22日在巴厘岛举行的Coinfest Asia。会议预计将专注于区块链发展,并将包括针对加密货币行业专业人士的演讲和网络交流机会。
UPC
0.02%
2025-08-21
2025年巴厘岛Coinfest亚洲
Tokocrypto已确认首席执行官Calvin Kizana将在2025年Coinfest Asia上发言,该活动定于8月21日至22日在巴厘岛举行。
TKO
-1.18%
2025-08-21
贵州茅台 RWA 拍卖
Bounce将于8月8日13:00 UTC在BNB链上启动贵州茅台实物资产拍卖,起拍价为20 AUCTION代币。此次拍卖采用英式拍卖形式,出价增幅在15到30 AUCTION之间,拍卖将在8月22日之前结束,除非在六小时内没有新的出价。获胜者将获得一份可转让的NFT作为所有权证明,可在Bounce在新加坡的活动中兑换茅台套餐。该套餐包括四款限量版陈年贵州茅台收藏品,以其稀有性和持续的市场需求而闻名。
AUCTION
-2.43%
2025-08-21
巴厘岛 Coinfest 亚洲
Pudgy Penguins 将于 8 月 21 日至 22 日在巴厘岛的 Coinfest Asia 举办一次见面会。该活动将包括三个与会议程序相结合的环节。
PENGU
-4.04%
2025-08-21
首尔见面会
BSquared Network计划于8月22日09:00至13:00 UTC在首尔举行官方见面会,讨论人工智能、PayFi解决方案与比特币的交集。
B2
-6.02%
2025-08-21

相关文章

浅谈合并:什么是以太坊2.0?
中级

浅谈合并:什么是以太坊2.0?

一场可能影响整个加密生态的升级
12/14/2022, 3:56:45 AM
什么是加密货币的基本面分析?
中级

什么是加密货币的基本面分析?

作为选择加密货币的投资标的的一种基本面分析决策
8/12/2025, 10:41:41 AM
如何质押 ETH?
新手

如何质押 ETH?

随着以太坊合并正式到来,共识机制将从 PoW 的算力挖矿证明过渡到 PoS 权益证明,将采用质押 ETH 的方式来维护网路正确性,以使质押者获得奖励。而质押前需做好事前准备,包括选择各种质押方式与质押服务商。 随着以太坊合并正式到来,以太坊共识机制将从 PoW 工作量证明转换到 PoS 权益证明,采用质押 ETH 的方式来维护区块链网路,以使质押者获得奖励。而质押前需做好事前准备,包括选择各种质押方式与质押服务商。那么,什么是ETH质押,如何质押ETH?
3/14/2025, 6:55:58 AM
什么是比特币?
新手

什么是比特币?

比特币是去中心化的点对点数位支付网路,由中本聪发明,比特币让用户可以直接进行交易,而无需通过任何金融机构或第三方,是世界上第一款成功应用的加密货币。
11/21/2022, 10:38:28 AM
加密货币新手交易入门
新手

加密货币新手交易入门

为你开启加密货币交易的大门,探索未知领域,提供加密货币交易项目基础介绍与指导,并提示存在的风险。
11/9/2023, 9:41:47 AM
如何自己研究加密货币项目(DYOR)?
新手

如何自己研究加密货币项目(DYOR)?

对于任何有志于加入加密货币市场的人士而言,自行学习相关知识、进行加密货币项目研究(DYOR)都是至关重要的。
12/15/2022, 9:47:58 AM
即刻开始交易
注册并交易即可获得
$100
和价值
$5500
理财体验金奖励!