主页 > 如何从imtoken转出以太坊 > 比特币系统的密码学和量子计算的影响 火星科技邮报

比特币系统的密码学和量子计算的影响 火星科技邮报

如何从imtoken转出以太坊 2023-02-06 06:29:12

2008年,化名中本聪发表了一篇名为《比特币:一种点对点电子现金系统》的杰作,创造了一种名为比特币的虚拟数字货币,其底层技术就是我们今天经常使用的。说到区块链。

一、比特币系统密码学1.比特币系统的图像表示

比特币系统的密码技术和量子计算的冲击 | 火星技术帖

比特币系统的图像表示

如上图所示,比特币系统中的每个节点都是一台独立的计算机,每个区块是对应计算机上的一个存储空间,每个区块记录一段时间内的比特币交易记录。区块之间的时间戳和称为“哈希函数”的单向函数确保了存储在相关节点上的记录数据不被篡改。比特币系统通过点对点网络,即P2P点对点网络,在全网所有节点上分发和存储交易记录数据。通过这些数据的高冗余,从另一个层面保证了整个网络数据的一致性。

比特币系统是分布式系统,可以解决传统中心化信息系统可能存在的中心节点故障、记录数据被篡改、中心节点内其他节点不信任等问题. 比特币系统可以看成一个分布式的链接账本,每个区块就是一个账本。该系统基于分布式共识算法来决定谁将保留帐户。比特币系统中的共识算法是POW,即工作量证明,获得记账权的节点会收到系统给予的一定数量的比特币。账本按照共识算法确定的规则进行链接,当前账本包含前一个账本的哈希值。所有交易都可以在此分类帐中追踪。

2. 区块链和密码学

密码学是比特币系统的核心技术,是区块链系统安全运行的基石。一旦相关密码算法被破解,区块链的系统安全性将不复存在,其数据的不变性也将消失。

在比特币系统的很多方面都用到了密码算法,包括各种常用的编码算法、哈希算法、签名算法等。这些算法在构建比特币系统和确保比特币系统正常运行方面发挥着重要作用。用于构建比特币系统的两种最重要的加密算法类型包括哈希 (HASH) 函数和非对称加密算法。

3. 比特币系统使用的密码学

比特币系统或区块链技术不是单一的技术。即使在密码学层面,也包括非对称密码算法、哈希函数、安全多方计算等技术。

(1)非对称密码算法

比特币系统的密码技术和量子计算的冲击 | 火星技术帖

非对称密码加密过程示意图

在传统的对称密码算法中,双方在传输秘密信息时需要共享相同的会话密钥。秘密信息的发送者使用会话密钥对信息进行加密,然后进行传输。秘密信息的接收者也需要使用会话密钥对收到的秘密信息进行解密并恢复明文。这个会话密钥还需要提前通过秘密通道安全传输,这在很多情况下是困难的,甚至是不可能的。

非对称密码学也称为公钥密码学,是指存在一对数学上相关的密钥,其中一个用于加密数据,只有另一个密钥可以用于解密数据。在这对密钥中,公钥称为公钥,未公开的密钥称为私钥。公钥就像银行账户,私钥就像账户的密码或账户所有者的签名。

A 和 B 使用非对称加密算法进行信息传输。如果信息是秘密的,A 可以用 B 的公钥加密信息并发送出去。任何人都可以收到加密的信息,但只有 B 可以用他的私钥解密信息并恢复明文。

如果 A 向 B 发送消息,在发送之前,该消息用 A 的私钥加密,任何人都可以用 A 的公钥解密。这种行为证明消息是由 A 发送的,而不是其他人发送的。此操作在密码学上称为数字签名。

电脑挖矿机原理图_比特币挖矿机原理_挖矿机电脑配置

区块链上的有效交易数据包含交易发起人私钥的签名,交易的签名可以通过交易发起人的公钥进行验证。公钥可以从私钥通过算法计算出来,但私钥不能从公钥推导出来。

(2)哈希函数

比特币系统的密码技术和量子计算的冲击 | 火星技术帖

哈希函数图

哈希函数是一种单向函数,通过算法将任意长度的输入数据转换为一组固定长度的输出数据。这样的功能很容易验证电脑挖矿机原理图,但很难破解。一般情况下,给定任意x作为输入,很容易计算出输出的hash值y,但是逆向从y计算出x就很困难了。此外,只要 x 发生很小的变化,y 的变化就会非常明显。

除了原始数据或交易记录外,比特币系统中每个区块上的数据还包括前一个区块上所有数据的哈希函数值。比特币系统使用双重SHA-256哈希函数,即前一个区块上的所有数据用SHA-256哈希函数计算两次,然后将256位二进制数的输出长度存储在下一个区域。在区块链的区块头中。

(3)安全多方计算

安全多方计算用于解决一组不信任方的协调问题,同时保护他们的隐私。安全多方计算应保证每个参与者输入的独立性和计算的正确性,同时不向参与计算的其他成员泄露输入值。通俗地讲,安全多方计算是指在分布式网络中,多个用户各自持有一些数据输入,他们希望共同完成这些数据的计算,并且要求每个用户不能知道除了自己的其他用户之外的其他用户。计算结果。任何输入信息。

基于以太坊的智能合约已经能够实现链上计算。但是,以太坊链上的数据是公开透明的,任何人都可以获得这些数据电脑挖矿机原理图,这也是以太坊进入企业级和个人金融应用领域迟缓的原因。其本质是以太坊缺乏对多方安全计算的支持,无法在多方数据计算过程中保护隐私。

4.比特币系统挖矿原理

为了维持比特币系统的运行,记账员将获得一定数量的比特币作为奖励。为了获得比特币奖励,很多人会参与记账权的活动。因此,需要竞争谁来保留这些书籍。参加比特币记账竞赛的人被称为矿工。

比特币系统的挖矿,简单来说就是所有矿工对当前区块进行相同的哈希运算。一旦计算出满足特定要求的哈希值,就可以向全网广播。其他人验证此人操作无误后,确定此人已获得当前区块的记账权。

比特币系统中每个区块的区块头数据结构如下。

比特币系统的密码技术和量子计算的冲击 | 火星技术帖

块头结构和大小

区块头中的大部分信息在挖掘之前都是固定的或可计算的。

挖矿机电脑配置_比特币挖矿机原理_电脑挖矿机原理图

• 版本号。取决于比特币客户端,暂时不会改变。

• 前一个区块的哈希。是上一个块的计算结果。

• Merkle_root 默克尔根。以二叉树方式对当前区块中的所有交易进行逐步哈希运算得到的哈希值。

• 时间块生成时间。这也是当前的包装时间。具体数字是指从格林威治标准时间1970年1月1日0:0:00到现在的时间,不需要很精确。

• 目标位难度目标。参考最近两周出块的平均出块时间,由系统调整,一般在10分钟左右。

• nonce 随机数。一个可以根据挖矿需要调整的数字,一个32位的二进制数。

• 附带信息。指区块中每笔交易后的后记,可以使默克尔根也发生变化,从而更有可能找到符合要求的结果。

比特币挖矿的算法可以表示为:

比特币系统的密码技术和量子计算的冲击 | 火星技术帖

比特币挖矿算法

在该算法中,前半部分定义了区块链的数据结构,后半部分遍历随机数,直到找到一个合格的哈希值。

区块链实际上是通过区块头链接在一起的。下面的比特币区块头示意图解释了区块链和区块的组成。

比特币系统的密码技术和量子计算的冲击 | 火星技术帖

比特币区块链与区块头关系示意图

比特币挖矿过程可以概括为:

矿工首先验证交易,拒绝有问题的交易,然后使用一组自定义标准来选择要包含在区块中的交易。例如,如果交易费用与交易占用的字节大小的比值超过某个阈值作为判断标准,则只有符合条件的交易才被认为是有利可图的。当然,矿工也可以故意选择加入某个交易,或者故意忽略某些交易。

比特币挖矿机原理_电脑挖矿机原理图_挖矿机电脑配置

如果通过矿池进行挖矿,矿池的服务器将对交易进行筛选,并为每个参与的矿工分配一个独立的任务。该任务的难度小于总挖矿难度,完成小难度的计算,即确认自己参与的工作量。每个不同矿工的计算问题不再赘述。当其中一名矿工成功挖矿后,其他矿工将根据工作量分配总收益。

一旦交易数据经过筛选、时间排序、成对哈希、逐层缩减,就可以通过这些交易计算出一棵默克尔树,并确定一个唯一的哈希值,即默克尔树的根。Merkle 树中任何节点的更改都会导致 Merkle 根发生更改。通过这个值,可以用来验证区块中的交易数据是否发生了变化。

比特币系统的密码技术和量子计算的冲击 | 火星技术帖

默克尔树图

二、量子计算和量子算法1. 量子计算和量子算法

量子计算是一种基于量子力学原理进行高效计算的新型计算模式。它可以利用量子叠加、纠缠和相干实现量子并行计算。

1982年,美国物理学家费曼提出了量子计算的概念。但由于量子态的不确定性原理和量子系统对噪声的敏感性,量子运算容易出错。1994年,美国计算机专家肖尔证明,量子计算机可以快速分解大因子,实现了第一套量子算法编码,量子计算和量子计算机研究进入了实验时代。美国国家标准与技术研究院于 2009 年开发了世界上第一台通用编程的量子计算机。

经典比特有两种状态,0 和 1。量子比特和经典比特的区别在于,量子比特除了像经典比特一样处于 0 和 1 状态之外,既不能是 0 也不能是 1。这种中间状态称为叠加状态。量子叠加态是决定量子计算区别于经典计算的关键特性之一,也是量子并行计算的理论基础。在寄存器数量相同的情况下,量子计算机可以记录的信息量比传统计算机高出指数级。在计算速度和信息处理能力方面,是传统计算机无法比拟的。量子并行计算体现了量子计算最重要的优势。

量子算法是量子计算科学的重要组成部分。1989年,Deutsch首先提出了Deutsch量子算法,首次展示了量子计算机的并行特性;1994年,Shor提出了大数素数分解量子算法,并实现了算法的量子编码;之后,Grover 数据库搜索算法、量子智能算法相继提出。基于 Grover 的量子搜索算法和基于 Shor 的量子傅里叶变换算法是目前比较成熟的量子算法。

2. 量子密码学的安全性

量子密码学的理论基础是量子力学,它利用物理学原理对信息进行加密和保护,创造安全的通信通道。

与传统的基于数学的密码学相比,量子密码学具有无条件的安全性和对窃听者的可检测性,具有很大的发展前景。

量子密码学的安全性基于以下三个量子力学基本定律。

一是海森堡的测不准原理。由于量子的波动性,微观粒子的位置和动量不能以相同的精度同时确定到某个值,而只能确定两者之一。

第二个是量子不可克隆定理。一个量子系统的任何未知量子态都不能在不被破坏的情况下克隆到另一个量子系统中。即测量必须改变量子态,这样双方才能检测到通信是否被窃听。

第三是不确定性原理或测量是坍缩原理。如果粒子的量子态是叠加态,那么粒子量子态的测量会影响到量子态本身,导致它坍缩到它的本征态之一,粒子的叠加态就无法测量了,所以测量会留下痕迹。

挖矿机电脑配置_电脑挖矿机原理图_比特币挖矿机原理

量子保密通信的安全性不取决于数学计算的难易程度,而是取决于物理定律,取决于量子力学的不确定和不可克隆的基本原理,因此理论上是不可能破解的,更可靠。

量子密码学与传统密码学有很大不同。首先,传统的密码算法基于一个棘手的数学问题,并且受到当前计算能力的限制。量子密码学基于量子力学,通过物理原理而不是数学问题更安全。随着量子计算的飞速发展,量子计算能力有了质的飞跃。传统密码被破解只是时间问题,其安全性将受到极大威胁。其次,传统密码系统难以证明密钥在传输和分发过程中没有被窃听者窃取。量子密码学可以在分发过程中有效识别攻击者的存在,

3. 量子计算对当前通用加密算法的影响

虽然主流密码系统仍然可以安全运行,但在量子计算技术的潜在冲击下,几乎所有的加密算法都需要改进甚至重构。2016 年 4 月,美国国家标准与技术局做出预测,目前主要的密码技术将受到量子计算能力的影响,如下表所示。

预测主要密码技术将如何受到量子计算能力的影响(2016 年)

比特币系统的密码技术和量子计算的冲击 | 火星技术帖

4. 量子计算最新进展

在过去的 30 年里,物理学家在构建实用的量子计算机方面取得了长足的进步。

2019 年 10 月 23 日,谷歌在《自然》杂志上发表了“使用可编程超导处理器实现量子霸权”实验的结果。谷歌人工智能量子团队开发了一种名为“Sycamore”的新型54位处理器,可以在200秒内完成一个目标计算。世界上最快的超级计算机需要 10,000 年才能完成相同的目标计算。

竞争对手 IBM 率先回应了谷歌的“索赔”。IBM 在一篇博文中表示,谷歌高估了计算项目的难度,谷歌声称在经典计算机上需要 10,000 年才能完成的工作实际上可以在 2.5 天内完成。但即便如此,2.5 天也不是 200 秒的数量级。

区块链的安全性建立在密码算法的安全性之上,如哈希函数的安全性、椭圆曲线密码算法的安全性等。量子计算机的出现将在底层密码算法层面对区块链的安全构成严重威胁,比特币、以太坊等诸多区块链系统将受到影响。

三、量子计算对区块链的影响

以比特币为代表的区块链安全协议涉及两类加密技术。一种是比特币“挖矿”过程中使用的哈希函数,另一种是在区块链上提供数字签名的非对称密码。使用的算法是 SHA-256 哈希算法和椭圆曲线数字签名算法 (ECDSA)。SHA-256 主要用于在挖矿过程中从公钥和工作证明(PoW)生成钱包地址。ECDSA主要用于私钥和公钥的生成、签名和验证等。

1. 量子计算对挖矿的威胁

在比特币系统中,新的比特币是通过“挖矿”产生的,而挖矿的过程就是矿工在比特币网络中使用计算机计算数学问题的过程。第一个解决该问题的矿工发布其答案,该答案记入账本,同时记入比特币网络中的所有节点。如果挖矿成功,系统将奖励矿工一定数量的比特币。

比特币挖矿中使用的哈希函数是 SHA-256。使用 SHA-256 为每个块计算一个随机数,虽然结果很容易验证,但搜索过程非常困难。通常的方法是使用蛮力搜索,这意味着尝试不同的输入,直到找到满意的答案。

比特币挖矿机原理_电脑挖矿机原理图_挖矿机电脑配置

量子力学中的格罗弗搜索理论上可以解决这个问题。Grover 算法在解决从无序数据库中搜索特定数据的问题上具有独特的优势。Grover 的算法使得找到哈希函数的碰撞相对容易,这意味着它会降低破解密码哈希函数的安全性。等级。

那么反过来,量子算法可以用于挖矿吗?如果使用量子算法进行勘探,需要相对快的量子哈希运算速度和更强的量子加速,但目前的技术水平还难以达到。Divesh Aggarwal 和新加坡国立大学(NUS)的研究人员对量子计算机对挖矿的威胁进行了深入研究,并于 2017 年 10 月发表了一篇论文。他们认为,至少在未来 10 年,ASIC 挖矿将成为比量子计算机更快,但 10 年后,量子计算机的挖矿速度会更快。

2. 量子计算对非对称密码算法的威胁

非对称密码学用于授权比特币系统中的交易。非对称密码学为系统中的所有用户分配一个公钥和一个私钥,公钥可以被广泛共享,私钥只有密钥拥有者知道。从给定的私钥中,很容易推导出对应的公钥,但反过来从公钥中推导出私钥是非常困难的。

比特币使用的非对称加密算法是椭圆曲线数字签名算法(ECDSA),它使用 secp256k1 来生成密钥。该算法保证比特币只能由合法所有者使用。

椭圆曲线密码学在量子计算中很脆弱。Shor 的算法在理论上可以很容易地修改以解密具有椭圆曲线的消息。目前,国际上已经有多个研究案例在理论上和实践中使用 Shor 算法攻击 ECC。有专家预测,2027年量子计算机将能够破解密钥,量子计算机破解加密签名所需时间估计为10分钟。但目前,要实现量子计算对ECDSA的攻击,需要一定数量的量子比特,有外媒报道称是4000,而目前的量子计算机还远没有达到这样的水平。

3.谷歌量子计算机对密码算法的影响 目前谷歌量子计算机的水平基本上可以从以下几个方面来判断。

(1)谷歌的量子计算机还不是真正的量子计算机,不能实现所有的量子变换。只有在破解密码算法时实现这些变换,才能对密码算法产生影响。

(2)谷歌的量子计算机只有很少的量子比特。它完成的任务可以在大型传统计算机上完成。

(3)只有在量子计算机实际应用后,才能威胁到基于离散对数和大合数分解设计的公钥算法。

(4)量子计算机对对称密码算法没有致命威胁。在时间复杂度上,只要密钥长度翻倍,对称密码算法对抗量子计算机的时间复杂度与电子计算机相同.

从长远来看,运行 Shor 算法的实用量子计算机将能够破解 RSA 和 ECC 等非对称密码算法。谷歌的 53-qubit 量子计算机,针对一个没有应用价值的问题,已经验证了量子计算机比现有的经典计算机更强大。但目前,谷歌的量子计算机并未对经典密码学(包括非对称密码学)的安全性构成威胁。为了破译目前的 RSA 算法,目前估计需要稳定地操纵数千个逻辑量子位,并相应地操纵数百万个物理量子位。要实现这个目标,还有很长的路要走。

4. 后量子密码学在区块链系统中的应用

虽然目前在区块链应用中使用的本地加密算法是安全的,但这并不意味着区块链从业者可以高枕无忧。在量子计算机出现后,研究对区块链系统保持安全的密码算法非常重要。后量子密码学作为一种密码技术,将在未来5-10年内逐步取代现有的RSA、Diffie-Hellman、椭圆曲线等公钥密码算法,正被越来越多的人所重视。

后量子密码学也称为抗量子密码学,是一种被认为可以抵抗量子计算机攻击的密码算法。这类加密技术的开发采用传统的方法,即基于特定数学领域的难点问题,通过研究开发应用于网络通信的算法,从而达到保护数据安全的目的。 .

后量子密码学的应用不依赖于任何量子理论现象,但其计算安全性被认为可以抵抗目前已知的任何形式的量子攻击。在区块链系统中应用后量子密码学,以确保区块链在量子计算机出现后保持安全。

非对称密码学是后量子密码学发展的关键领域。例如,随着 Shor 算法的提出,包括 RSA、ECC、DH 密钥交换技术在内的非对称密码算法已经在理论上被证明完全失去了安全性。与同样可以升级以应对量子威胁的对称密码系统相比,非对称密码系统必须通过新的方法重构,这已成为后量子密码学发展的重点。

目前国际上后量子密码学研究主要集中在基于格的​​密码学、基于代码的密码系统、多元密码学和基于哈希的签名。和其他加密算法。在所有被认为有可能抵御量子威胁的计算问题中,基于格的密码系统在过去十年中受到了最广泛的关注。