区块链:为什么哈希公钥不能抵御量子计算威胁?

编译:哈希派-Adeline

来源:哈希派

比特币系统中的私钥由随机生成器生成,再通过椭圆曲线算法(椭圆曲线的离散对数问题)、哈希函数等等单向、不可逆算法推导出公钥以及地址。所以从理论上来说,哈希公钥是可以抵御量子算力威胁的,就算将地址和公钥公开在网络上,也无法借其推导出私钥,拥有私钥就等于拥有比特币的所有权。

公钥、私钥与地址的关系

但实际上,加密资产只在未交易前受到哈希函数的保护,因为在使用P2PKH或P2WPKH交易标准进行交易输出加密货币时,公钥会因此而暴露。

直击乌镇 | 中钞区块链张一锋:下一代的数字身份是分布式的:金色财经现场报道,在11月8日举行的第二届世界区块链大会·乌镇现场,中钞区块链技术研究院院长张一锋做出题为“分布式数字身份 构建区块链的基础设施”的演讲。他指出虽然新的应用不断被发掘并落地,但现在的联盟链存在问题,包括:技术门槛高、浪费资源、不利于创新,而公有链因为监管缺失和非法应用的泛滥,流离于现实应用之外。张一锋还介绍了数字身份的演进,应用账户、联盟身份、数字证书,他认为下一代的数字身份是分布式的,且分布式数字身份是弹性的、扁平化的公布式认证方式,这更符合数字世界发展的需要。同时,张一锋还简要说明了分布式数字身份模型,及分布式数字身份的相关标准与密码技术。[2019/11/8]

而在后量子时代,我们广泛使用的基于离散对数的公钥密码系统被认为是会被破解的。量子装置能够一次处理一个数据集的所有可能的2^n变种的函数,基于此,以量子计算为基础的Shor算法可以很容易地在多项式时间内分解大整数因子。

直击乌镇 | TOP Network CEO:区块链应用落地第一大监管障碍不是政府,而是应用商店:金色财经现场报道,11月8日,TOP Network CEO Steve Wei在TOP主网发布会现场发表演讲时指出监管环境是公链落地的一个巨大问题,但是大家可能没有意识到,区块链应用落地第一大监管障碍不是政府,而是应用商店。基本上App Store不允许任何以Crypto支付的应用存在。[2019/11/8]

也就是说,当你把一笔交易广播到网络上,并且它还没有被区块链所接受,那么这些交易就很容易受到攻击。这个攻击的窗口机会是有限的,但理论上还是可能的,如果QC的处理能力已经足够强大,那么使用QC的黑客就可以根据暴露的公钥,在交易被合法执行之前暴力破解出私钥,然后用其签名创建一个冲突的交易,将这笔交易中的加密货币发送到他们自己的地址。

直击乌镇 | 百度区块链肖伟:百度智能司法解决方案有法院、公证处、司法鉴定中心等为节点构建完整的区块链法院联盟系统:金色财经现场报道,在今日举行的第二届世界区块链大会·乌镇现场,百度区块链实验室负责人肖伟以《基于可信价值传递网络的智慧城市建设》为题进行了演讲。他表示,百度智能司法解决方案做到了一键立案,有法院、公证处、司法鉴定中心等为节点构建完整的区块链法院联盟系统,实现了证据从生成、存储、传输到最终提交的整个环节真是可信,并具有法律效率。北京互联网法院“天平链”、广州互联网法院“网通法链”、青岛仲裁委员会证据平台均有百度的支持。[2019/11/8]

更可怕的是,如果这个黑客本身就是矿工,那么除了根据公钥计算私钥以盗取加密货币外,他们同时可以拒绝确认那些不将加密货币发送给他们的交易。

直击乌镇 | PlatON创始人孙立林:区块链作为金融基础设施必须收取合理费用,并且是递次趋向于零:金色财经现场报道,在今日举行的第二届世界区块链大会·乌镇现场,PlatON创始人孙立林以《同意的计算:隐私计算时代区块链治理的思考》为主题进行了演讲。他表示区块链应用落地远未达到预期,原因在于基础设施的建设远远不够。直到今天全球都没有出现一个完备的区块链能够承担现阶段的支付清算。他还指出区块链作为金融基础设施必须收取合理费用,并且是递次趋向于零。[2019/11/8]

这无疑是令人担忧的情况,但人们同时又自我安慰地认为:公钥只有参与了交易之后,才会被暴露给账本,这种情况只发生在极少数账户。

而事实上这个数字不容小觑:有超过550万个的比特币在公钥暴露的情况下正在进行交易输出。这些公钥中,有的是因为使用了P2PK地址进行交易输出,有的是因为用户重复使用一个地址,公钥在之前的交易被签名时公开。

在这个数字基础上,我们可以想象一下:如果量子计算机强大的计算能力突破了互联网的安全防护,能够在交易被确认前利用已暴露的公钥计算出私钥,那么黑客就能盗取这些数量惊人的比特币,甚至于摧毁比特币经济,让它变得一文不值。

不仅仅是区块链,加密货币工具和钱包同样存在公钥暴露的问题。在目前的加密货币工具和钱包中,没有哪个软件将公钥视为私密信息,大多数人并没有意识到量子计算将给比特币造成怎样的影响。

许多钱包的做法是将父扩展公钥发送到服务器,以便服务器监控交易,并能够将数据发送回客户端。所有使用这些钱包的人,钱包也会向服务器发送他们的父密钥。服务提供商就有可能根据这些公钥来计算私钥,衍生出其他所有的子私钥。私钥的泄露让使用过这些钱包的人的加密货币资产变得不再安全,随时有被窃取的风险。

比特币的扩展公钥

公钥的复杂脚本和合约也存在问题。使用脚本实现可编程交易的一个典型例子就是多重签名技术Multisigs,这些脚本是不对公钥进行哈希加密的。而合约中,不是所有的合约参与方都必须相互信任,这意味着其中一个参与方可以是恶意的。一旦有恶意参与者出现,他可以获取合约中所有涉及到的公钥(通过脚本),从而窃取与这些公钥有关的加密货币。现有的公钥哈希并不能对此进行保护。

总而言之,除了交易之外,仍有非常多种方式让公钥暴露,我们可能只是因为使用了钱包,就造成了公钥的暴露。

量子计算机对椭圆曲线离散对数问题的威胁,可能会促使加密社区向后量子密码学过渡,我们目前所有运用公钥加密的系统需要改成能够应对量子攻击的密码系统。

如果量子计算发展缓慢,加密系统有时间转换到更强的函数上,并对所有的资产重新签名。但如果椭圆密码曲线突然被破解,系统无法及时检测,那么可以将所有依赖ECDLP签名算法(ECDSA和Schnorr)的签名进行软分割,从而锁定所有加密货币。用户可以根据公钥,通过提供非暴露或具有量子阻抗的零知识证明来声明私钥的所有权。

比方说,用户可以通过他们拥有的BIP32种子来证明自己的所有权。

通过BIP0032标准定义的HD钱包

BIP32种子是分层确定性钱包所遵循的标准,它是从单一种子产生一树状结构储存多组keypairs的系统,我们只需要保存一个种子就可以推导出其他所有的子密钥。由于零知识证明的特性,种子本身不会暴露(种子不是公钥、私钥中的一部分,它们不存在共享的公共组件)。目前来说,这种方式是相对安全的。

因此,尽管哈希算法的单向秘密机制使加密过程不可逆,但由于公钥的暴露,当量子计算能力足够强时,数百万比特币将被盗取,哈希只能提供一种虚假的安全感,现有的解决方案无法应对即将到来的威胁。

当然,这一切都建立在我们假设“量子计算机的算力足够强大,能够通过公钥计算出私钥,而我们并没有意识到这项技术的强大,没能及时升级对应系统”的前提下。

而实际上,量子计算机的每一步进展都在“众目睽睽之下”,在量子计算机强大到足以打破椭圆曲线上的离散对数问题ECDLP之前,比特币有足够的时间进行抗量子的签名算法软分叉,最终,依赖ECDLP的签名将被取代。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:15ms0-2:682ms