撰文:刘教链
来源:刘教链
隔夜 BTC 大幅回撤,破位 30 日均线 98.7k,暂至 96k 附近。宏观态势方面的原因,关注教链近期文章和内参的朋友应该心如明镜。一是前段时间借谷歌 Willow 量子计算机所渲染的恐慌。二是昨日凌晨美联储给出未来降息的负面预期。
关于量子计算威胁,教链在过去几年无论是文章还是 《史话》 里都反复讲过。最近谷歌 Willow 出来,教链也是第一时间就写了 2024.2.10 文章 《量子恐慌》 进行了拆解。
总而言之一句话:不必恐慌。现在量子计算机的进展距离实用还相当远,即便实用也不会首先和立即威胁到 BTC,我们会有充足的时间应对。
不过,教链上述的结论是一个科学论断,而不是一种精神信仰。因此,在拒绝盲目恐慌、杞人忧天的同时,也要拒绝盲目乐观、亡羊补牢。
就像人类应对自然灾害,比如洪水。既不能像古代人那般恐惧于洪水,做出童男童女祭祀河神那般的荒唐事,也不能心存侥幸,大搞豆腐渣工程。
量子计算之于 BTC,星际采矿之于黄金,就如洪水猛兽之于居民。不要怕,也不要躲,而是要科学面对,积极预防。
每次量子恐慌的时候就有一些人会跳出来鼓吹黄金。其实未来科技进步给黄金带来对潜在威胁,要比量子恐慌之于 BTC 大得多。毕竟,黄金是死的,而 BTC 是活的——BTC 可以升级代码。
什么技术会摧毁黄金的价值?星际采矿。就在咱们太阳系内,距离地球约 3.4-5.4 亿公里左右的位于火星和木星的小行星带中,有一颗直径约 226 公里的小行星,它的名字叫做灵神星(16 Psyche)。这个灵神星上有大量贵金属。其中仅黄金储量据保守估计就有数千亿吨。
人类过去几千年总共从地球上开采了多少黄金呢?截至 2024 年,目前全球黄金存量大概也才 20.8 万吨。
今天,我们已经可以把祝融号送上火星了。你觉得距离我们能够去火木之间的小行星上开采黄金还需要多少年?
想象一下,数千亿吨的黄金被源源不断地运回地球,对现在少的可怜的 20 多万吨存量的稀缺性,是不是毁灭性的打击?
科技进步是非线性的。它会加速前进。
虽然我们估计,即便量子计算的水平能够以指数级进步,可能也需要 10-20 年才能具有实用性,从而对现存加密算法产生实质性威胁,但是,我们也不可以装作它不存在,晒太阳睡大觉白白浪费 20 年。
生于忧患,死于安乐。
听说 Bitcoin core 的一些开发者们已经在讨论量子威胁的现实性,以及可能的演进路线和技术应对了。
那么今天教链就抽点时间,和大家谈谈,作为个人 BTC 持有者,可以做那些具体的事情,来提前防范未来可能到来的量子计算威胁。以下内容可能有一点点技术,如果有看不懂的名词术语啥的,请自行上网搜索、学习。可以通过阅读教链的 《比特币史话》 或者参加教链的「 超级小白课 」来更多或更深入地了解有关 BTC 的技术知识。
防量子要点一:囤 BTC 只用 P2PKH 地址或 P2WPKH 地址,不用 P2PK 地址或 P2TR 地址。
形式上,P2PKH 地址是 1 开头的 BTC 地址,P2WPKH 地址是 bc1q 开头的 BTC 地址。而 P2PK 地址是 04 开头的地址,P2TR 地址是 bc1p 开头的地址。
概念上,P2PKH 地址是正宗中本聪命名的标准地址,P2WPKH 地址是原生隔离见证地址(native segwit 地址)。而 P2PK 是支付到公钥,P2TR 则是 taproot 地址。
时间上,p2pk 地址在 2009 年中本聪刚刚启动 BTC 网络的时候用过一段时间。后来大概到了 2009 年下半年,中本聪写好了 p2pkh 的代码,才全面切换到标准地址上去。而 p2wpkh 则是 2017 年 8 月 24 号 BTC 网络完成 segwit 即隔离见证升级后上线的。p2tr 地址则在 2021 年 11 月份 taproot 升级之后引入。
技术上,p2pkh 地址是 ECDSA 公钥外面套两层哈希,一层 SHA256,一层 ripemd160;p2wpkH 地址是 ECDSA 公钥套 SHA256 套 ripemd160 后封装为隔离见证脚本然后用 bech32 编码生成。而 p2pk 地址是裸 ECDSA 公钥,p2tr 地址则是 Schnorr 公钥的衍生公钥封装为 taproot 脚本然后用 bech32m 编码生成。
原理上,教链讲过,当未来量子计算实用后,有两个办法去攻击 BTC 持有人的所有权:第一个办法是攻击电子签名算法,如 ECDSA 公钥或 Schnorr 公钥,反推出你的私钥,从而偷走你的 BTC;第二个办法是攻击哈希算法,如 SHA256 或 ripemd160,反推出原像,从而偷走你的 BTC。
攻击电子签名的量子算法叫做 Shor 算法。而攻击哈希的量子算法叫做 Grover 算法。
如果 Shor 算法达到实用水平,那么就可能秒破 ECDSA 或 Schnorr 签名。
而如果 Grover 算法达到实用水平,它却只能把原本攻击哈希的算力提升一个平方量级,也就是说,把攻击难度减少为平方根难度。比如,攻击一个足够好的 SHA256 哈希,难度是 2^256,使用 Grover 算法可以降低到 2^128,虽然小了不少,但是仍然很大。
也就是说,密码学哈希算法具有一定的量子抗性。
这就是教链防量子要点一的技术原因,确保自己只用不暴露公钥的 p2pkh 或 p2wpkh 地址,不用暴露公钥的 p2pk 或 p2tr 地址。
《比特币史话》 第四章「量子霸权」第 13 话「比特币地址」写道,「在 2010 年 7 月 25 日,有人在比特币社区论坛上讨论如果比特币所用的加密算法被攻破的问题, 中本聪回复,『 为了让比特币地址更短,它们采用公钥的哈希,而不是公钥』,这样一来,『支付到比特币地址的交易的安全性就只和哈希的安全性一样了』,『攻击者只需要攻破哈希函数,而不是椭圆曲线数字签名算法』。」
防量子要点二:避免地址重用,确保每个地址最多只使用(花费)一次。
请注意,BTC 地址和银行账户不同,和很多主流公链(包括以太坊)的账户地址不同。以账户为中心的设计是围绕一个账户(体现为银行卡号或账户地址等),记录进账和出账。而 BTC 是以「币」为中心的设计,记录的是「币」在地址之间的流转。
具体什么 UTXO 之类的概念一说开篇幅太长,就不在这里展开了。
在 BTC 的这种设计下,「收款」,也就是用自己的地址接收别人转入的 BTC,这不叫「使用」该地址。这种情况,你是被动的,什么都不用做。如果使用的是 p2pkh 或 p2wpkh 地址,那么无论你收款多少次,都是不会导致公钥暴露的。
而如果你要使用这个地址向外「付款」,也就是把地址里的 BTC 转给别人,这时候你就要拿出私钥、签署交易、广播上链,此时,你就是在「花费」该地址里的 BTC,也就是真正「使用」了该地址。此时,你要主动行为,动用私钥。
而一旦你花费过一个地址里的 BTC,公钥就对全世界暴露了,原本套在公钥外的哈希外壳的保护效果,也就失去了。
根据教链防量子要点一介绍过的知识,面对未来可能实用化的量子计算,公钥的脆弱性远大于哈希。因此,公钥一旦暴露,就意味着你在该地址里的 BTC 资产的量子风险暴露大大提高了。
这就是教链防量子要点二所要说的,一个囤饼地址,要么永远不动,要动就一次性转走所有的 BTC,彻底清空地址,永不再用。
如此便可以极大降低你的 BTC 面对未来量子计算威胁时的风险,提高生存概率。
有个幽默的话说得是,当熊追来时,你不用跑得比熊快,只要跑得比同伴快就够了。
当未来某一天,量子计算真的已经威胁到那些比较脆弱的地址时,你还有充足的时间去把你的 BTC 资产安全地迁移到量子安全的新地址里。相信到那一天,BTC 应该已经开发出新版本的抗量子地址了吧!
「为了获得更好的隐私性,一个比特币地址最好只用一次。」——中本聪,2009 年 11 月 25 日。 《比特币史话》 第十九章第 95 话。
防量子要点三:不要等到最后一天再行动。
虽然量子计算还远,但是我们可以从今天就开始行动,按照教链防量子要点一、二,检查我们的囤饼地址,如果有不安全的地址类型,或者重用问题,那么就抓紧动手,把 BTC 迁移出来,把已经有风险的地址废弃掉吧。
有人根据目前的地址规模估计,如果每个人都把自己的 BTC 迁移到安全的地址,以目前 BTC 区块吞吐量,可能至少需要 6 个月的时间什么其他交易都不干全力处理这些迁移需求,才能够处理完成。
相信你不会想等到所有人都挤破头去迁移 BTC 的那么一天才开始动手吧。
千军万马过独木桥。链上手续费一定涨上天,令你酸爽得不要不要的。
趁着链上不拥堵的时候,未雨绸缪,防患未然,才是明智之举。
防量子要点四:关注 BTC 抗量子进展,并在适当时候将资产迁移至更安全的地址。
这一点就是面向未来的行动了。
你要是不知道怎么关注 Bitcoin core,你可以关注教链。:)
讲完了。
至于别的链、别的资产,也没什么好讲的,地址重用、账户复用那都是日常基操,公钥暴露漫天飞舞,合约漏洞层出不穷,…… 还是算了。在长期价值存储(SoV)赛道,它们和 BTC 没有任何可以相提并论的地方。对于它们,与其担心 10 年、20 年后的量子威胁,还不如担心一下眼前的 rug pull 或者钓鱼之类的更为现实一些呢。