抗量子计算机破解的算法讨论

2021年6月的讨论

比特币爱好者Toby: 请问: 你知不知道,有没有哪份比特币改进计划BIP,里面提出了,任何可以用在比特币的抗量子计算机破解的算法?

比特币核心开发者Pieter: 比特币社区没有这样的BIP,比特币改进计划提出了合适的抗量子算法。最近几年,抗量子算法研究非常热门,进展很大,你看看NISTPQC项目。

比特币在抗量子方面,对算法有独特的要求,它要求验证的速度,要高于签名的速度;它要求签名长度越短越好;它要在签名算法上,还能架构其他密码学特性。

因此现有的几乎所有算法,都不符合比特币的使用场景要求。想找到一个符合比特币场景的算法,可能要至少十年。

现在,所有这些抗量子算法,要用到比特币这里,可能要付出高昂的代价。

因为所有现有的抗量子计算机破解算法,和椭圆曲线签名相比,要么公钥太大,要么,或者同时,签名也太大,所有抗量子算法都缺少和椭圆曲线签名比较的很多优点。

如果不是所有大多数人,都愿意采用一种并非全部符合椭圆曲线签名的所有优良特性的算法的话,提出或改进到使比特币抗量子计算机破解,基本没那个必要。

最好再多等几年,看看有没有更好的抗量子计算机破解算法。

比特币早在十多年前写原始代码时,是经过权衡的,是硬着头皮,咬紧牙关采用椭圆曲线签名的,为什么呢?不担心量子计算机吗?

当然担心!

但看看采用椭圆曲线签名的好处:椭圆曲线签名有最短的签名长度,有对隐私更好的激励,可以用上更多特性,更简单地采用,比如在utxo上的环签等等!

Toby: 因此比特币社区要找到一种新的抗量子计算机破解算法:签名很短,验证很快,但这种算法目前还没有!我再好好理解理解!

Pieter Wuille是比特币核心开发者。以前我们谈到过所有比特币核心开发人员,并不是严格意义上的密码学家,而是密码学算法应用工程师。

在2021年6月Pieter在回答普通读者Toby的回信中,谈到了比特币所采用的椭圆曲线签名,具有很多优秀的属性特点。

而目前几乎所有抗量子算法,除了抗量子外,都不具有和椭圆曲线签名相比的其他优良属性。

Pieter同时认为应该要十年以后才可能找到更好更合适的算法。

一方面,Pieter是比特币核心程序员里,少有的具有很深厚的比利时鲁汶大学的密码学功底。另一方面,他的确看到了多变量,符合还是不符合比特币场景需求的核心问题在于公钥太大。

但最后,他低估了世界级的数学家水平。

撸起袖子,田里插插秧,才会知道, 小麦到底能不能亩产三万斤?!

Pieter这生产队长! 水平很高!但没下地干过活!

多变量数字签名,相比椭圆曲线签名而言,正如Pieter所说: 最大的缺点是公钥太大,但最大的优点是不多的长期安全,且长期稳定的抗量子数字签名算法。

而且最主要的:在ABC中所用的公钥太大的问题,早已经实践解决。正如专利所示。

这说明:多变量签名是公认的公钥非常大,如果不解决,完全不合适长期用在数字货币场景里。比特币最核心的程序员,认为完全没有抗量子算法,可以用在比特币里。他们都会误以为公钥太大所以不能用。“公钥太大”,这种提法只能是针对多变量算法,因为多变量算法是所有算法中公钥最大的。只不过,这些全球最顶尖的程序员,不是数学家,他们并不知道,公钥太大也是可以通过敏捷方法处理解决的。

如果这不能用的话…

那么抱歉,不是Pieter说的“再过十年,比特币等到更好的抗量子计算机破解算法再来换”,而是即使也许再过五十年到一百年,最后用的,还是今天ABC上用的,彩虹签名算法!