一、什么是区块链技术?
区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点公式算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。我们对此做一个总结,可以发现区块链中有四项不可缺的核心技术,分别是分布式存储、共识机制、密码学原理和智能合约。而我将主要从密码学的角度来解析区块链技术。
图片来源(中国工控网)
二、区块链中的密码学
数字签名,每一位所有者通过对前一次交易和下一位拥有者的公钥签署一个随机散列的数字签名,并将这个签名附加在这枚电子货币的末尾,电子货币就发送给了下一位所有者。而收款人通过对签名进行校验,就能够验证该链条的所有者。这里就涉及了非对称加密算法以及数字签名技术。
非对称密码学
非对称密码学由一对不同的公钥和私钥对组成,如果用公钥对数据进行加密则只能用对应的私钥才能进行解密,反之如果用私钥进行加密,那么只有用对应的公钥去进行解密。由于可以对密钥进行公开,因此也叫公开密钥加密算法。目前常见的非对称密码算法有RSA算法、ECC(椭圆曲线加密算法)、Diffie-Hellman算法、Elgamal算法等。大多数区块链平台采用ECC算法和RSA算法来进行数字签名,而这一类算法的安全性都是基于对固定数学问题的计算复杂性的猜想上。
数字签名技术
数字签名是密码学理论的一个重要分支,其实现过程一般是由信息的发送者通过一个散列函数对要传送的信息进行散列之后产生其他人无法伪造的一段数字,同时接收者用发送者的公钥对所接收到的用私钥加密的消息进行解密后,从而来保证消息的完整性和真实性的一种算法。
数字签名
当前来说是较为安全的。
三、量子计算
资料图
四、抵御量子计算
量子密码学分支,量子密码的安全性是基于量子力学的测不准原理和不可克隆定理的,这从物理上保证了其安全性,因此powerful的量子计算机也不能破解由量子密码产生的密钥加密的信息。而且现如今量子密码的两大类,离散变量量子密钥分发和连续变量量子密钥分发都已经实现了一定距离的安全通信,我国的科研工作者在国内外量子密码领域享有广泛美誉,是量子密码领域的领头羊。另一类是从数学上产生的对抗量子计算的抗量子计算算法,特别是基于格密码的算法以及被广大科研工作者证明是可以抵抗量子计算机的攻击的。基于格加密的核心问题是最短向量问题,即在格系统内找到最短的非零向量。
资料图