带你揭开区块链中密码学的神秘面纱


       咱们IT圈里的人,不论跟朋友吃饭也罢,喝咖啡也罢,你会发现大家都在谈论区块链,如果自己不发表一番看法,就会深感已经OUT了。可是区块链到底是什么技术?区块链就是比特币吗?区块链是泡沫吗?区块链的不可篡改真的就无懈可击吗?我看过很多国内的区块链分析文章,也看了很多专业咨询机构和科技公司的白皮书,感悟较深的是大家似乎都在探讨All in Blockchain,以及怎么来实现互联网+ 的Blockchain,作为一个物理学背景出生的我,更看重其中的密码学技术。今天我就带着大家一起来揭开神秘的区块链背后的密码学技术的面纱。

一、什么是区块链技术?

       关于区块链的定义,广义来讲:区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点公式算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。我们对此做一个总结,可以发现区块链中有四项不可缺的核心技术,分别是分布式存储、共识机制、密码学原理和智能合约。而我将主要从密码学的角度来解析区块链技术。

带你揭开区块链中密码学的神秘面纱

 图片来源(中国工控网)

二、区块链中的密码学

       对区块链中的密码学最好的理解方式,我认为就是中本聪(Satoshi Nakamoto)大神的创世之作《比特币:一种点对点的电子现金系统》(Bitcoin: A Peer-to-PeerElectronic Cash System)中提到的交易过程:一枚电子货币是这样的一串数字签名,每一位所有者通过对前一次交易和下一位拥有者的公钥签署一个随机散列的数字签名,并将这个签名附加在这枚电子货币的末尾,电子货币就发送给了下一位所有者。而收款人通过对签名进行校验,就能够验证该链条的所有者。这里就涉及了非对称加密算法以及数字签名技术。

 

非对称密码学

       非对称密码学由一对不同的公钥和私钥对组成,如果用公钥对数据进行加密则只能用对应的私钥才能进行解密,反之如果用私钥进行加密,那么只有用对应的公钥去进行解密。由于可以对**进行公开,因此也叫公开**加密算法。目前常见的非对称密码算法有RSA算法、ECC(椭圆曲线加密算法)、Diffie-Hellman算法、Elgamal算法等。大多数区块链平台采用ECC算法和RSA算法来进行数字签名,而这一类算法的安全性都是基于对固定数学问题的计算复杂性的猜想上。

数字签名技术

       数字签名是密码学理论的一个重要分支,其实现过程一般是由信息的发送者通过一个散列函数对要传送的信息进行散列之后产生其他人无法伪造的一段数字,同时接收者用发送者的公钥对所接收到的用私钥加密的消息进行解密后,从而来保证消息的完整性和真实性的一种算法。

带你揭开区块链中密码学的神秘面纱

数字签名

       自此,区块链的安全性完全依赖于数字签名技术的安全性,即ECC算法和RSA算法等基于三类数学问题的难解性:大整数分解问题、离散对数问题以及椭圆曲线问题。限于当今计算机能力的限制,目前还没有能完全攻克他们的算法,所以当前来说是较为安全的。

三、量子计算

       5月3日(2018年),中国科学院在上海举行的新闻发布会上,对外发布称:世界上第一台超越早期经典计算机的光量子计算机诞生!!!与此同时,中国科学技术大学潘建伟研究团队在基于超导线路体系的量子计算研究领域也取得重大成果,打破了此前谷歌、美国航天航空局等实现的9个超导量子比特的高精度操纵。根据计划,潘建伟研究团队将在今年年底分别实现20个光量子比特和20个超导量子比特的操纵。随着可操纵粒子数的增加,量子计算机的计算能力将会呈指数增长,可为经典计算机无法解决的大规模计算难题提供有效解决方案。这对于整个科技界来说,我认为是喜忧参半啊,喜在科技不断进步人类又取得突破性的进展,忧在量子计算机一旦真正实用化,那么现存的基于数学难解性的密码*都将!不!再!安!全!为什么呢?因为,Shor的量子算法在多项式时间内能解决大整数和离散对数的因式分解;另外一个问题安全问题与Grover的搜索算法相关,它允许对计算逆散列函数进行二次加速。如此一来,如果量子计算机一定落入不诚实节点的攻击者手中,那么将会使51%算力攻击垄断整个区块链网络节点,同时也就使得区块链技术不再安全。

带你揭开区块链中密码学的神秘面纱

资料图

       然而事情也并没有那么悲观,我们永远要能看到事物的两面性,上帝在关上一扇门的同时一定会为你打开另一扇门的。既然量子计算那么强大,那么有没有什么算法能抵御量子计算机的攻击呢?答案当然是:Yes!OfCourse!

四、抵御量子计算

       针对量子计算机的Power,产生了两类对抗算法。一类是基于量子力学安全的密码学分支,也就是现在占据热门科学前沿的量子密码学分支,量子密码的安全性是基于量子力学的测不准原理和不可克隆定理的,这从物理上保证了其安全性,因此powerful的量子计算机也不能**由量子密码产生的**加密的信息。而且现如今量子密码的两大类,离散变量量子**分发和连续变量量子**分发都已经实现了一定距离的安全通信,我国的科研工作者在国内外量子密码领域享有广泛美誉,是量子密码领域的领头羊。另一类是从数学上产生的对抗量子计算的抗量子计算算法,特别是基于格密码的算法以及被广大科研工作者证明是可以抵抗量子计算机的攻击的。基于格加密的核心问题是最短向量问题,即在格系统内找到最短的非零向量。

带你揭开区块链中密码学的神秘面纱

资料图

      

       因此,如何将这两类分别从物理上的量子密码算法和数学上的抗量子计算的密码学算法运用到如今的区块链数字签名算法中,用以抵抗即将或者已经问世的计算能力Power的量子计算机的攻击,我认为是区块链密码学工作者应该密切关注并且研究的重点。

      

       申明:以上文字仅代表个人观点,如有不当之处还请给予指正为谢。图片若有侵权还请联系作者以予删除。