区块链中的密码学技术

摘要:区块链技术,是一种互联网数据库技术,利用有序的链式数据结构存储数据,利用共识算法更新数据,利用密码学技术保障数据安全。在基于区块链的交易中,为了确保交易数据的安全性和客户信息的隐私性,密码学技术在区块链中得到了广泛的应用。文中从区块链技术出发,结合现代密码学基础,阐述了哈希函数、非对称密码体制、数字签名等密码学技术及其在区块链中的应用等。

关键词:区块链技术 密码学技术 隐私保护 哈希函数

1区块链技术的应用

区块链技术,也被称为分布式账本技术,是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。从本质上看,区块链是一个去中心化的数据库,通过一串使用密码学方法相关联产生的数据块,在每一个数据块中记录下一次比特币网络交易的信息,用于验证信息的有效性和生成下一个区块,并通过在分布式节点共享来集体维护这一可持续生长的数据库,从而实现信息的安全性和准确性。区块链技术利用密码学原理的时间戳、哈希散列、数字加密、数字签名等手段来解决交易中存在的虚假交易和双重支付等问题,在技术上确保了交易的安全和可信性[1]。区块链具有数据透明、防篡改、多方可验证等优点,这些优点使其有广阔的应用前景。

2区块链中的问题及关键技术

区块链能够解决人与人之间的信任问题,是因为它的不可篡改性,而这种特性本质上又是基于密码学算法来实现的。因此密码学在区块链中的地位很关键,如果说区块链是信任的基石,那么密码学则是区块链的基石。

在区块链技术中,密码学机制主要被用于确保交易信息的完整性、真实性和隐私性。

2.1隐私保护

区块链的信息安全的核心是确保系统中用户的各种隐私得到有效的保护。区块链隐私保护的关键在于保证不影响去中心化的同时,确保用户的隐私不因交易公开而暴露[2]。实现区块链的隐私保护,关键技术包括:

(1)密码算法与安全协议:密码算法是区块链的基石头,包括密钥安全存储与防护技术、数字签名、零知识证明、安全多方计算等。

(2)可信身份协调管理技术:区块链身份协调管理技术包括跨区块链、链上链下用户身份的信用评估、认证检测及管理机制,通过这些机制保障交易的安全性。

(3)数据隐私保护技术:包括不同区块链的数据隐私保护方法、交易层数据隐私保护机制等,确保区块链数据安全的同时保证数据便于维护。

(4)用户身份隐私保护技术:区块链用户的个人数据隐私保护机制是区块链广泛应用的关键,可避免用户信息泄露造成的损失[2]。

2.2安全性

区块链的安全性体现在两个方面:

第一个方面。第一,区块链是有多个节点组成的,如果一个节点遭到黑客的攻击或者是其他原因造成的摧毁,这都不会影响对整个系统的安全造成影响的,而且数据也是不会丢失的。第二,区块链上每个节点的账本数据都是一样,如果只对一个节点进行篡改是没有任何意义的。如果区块链系统发现两个账本的数据不是一样的,它就会自动的认为拥有相同数据节点较多的账本是真实,另一个则是被篡改过的,拥有节点较少的数据账本就会被舍弃。

以上两点可以看出,如果想篡改整个账本的数据,就必须控制整个系统的大部分节点。而这种情况基本上是没有办法实现的,因为随着区块的增加,节点也是会随之增加的,当数量达到一定程度时,篡改数据的可能性基本上为零。

另一个方面。区块链的节点是遍布整个世界的各个角落的,有“世界计算机”的称呼,除非可以控制世界上的大多数电脑,否则是不会篡改区块链上的数据。而黑客想掌握大多数电脑,那么这就需要消耗大量的成本。区块链的数据越大,黑客攻击消耗的成本就会越大。

区块链技术是在信息不对称的情况下,无需相互担保信任或第三方中介参与,采用基于共识机制和加密算法的节点间普遍通过即为认可的信任机制。共识机制和加密算法也是区块链保证数据安全、不可篡改以及透明性的关键技术。其中,共识机制主要解决由谁来构造区块,以及如何维护区块链统一的问题;加密算法用来解决电子货币的所有权问题。区块链技术在不同领域中的探索,主要在于选择合适的共识机制和加密算法。

3区块链的密码学基础

在区块链的整个体系中密码学原理所起到的作用,在这里我们主要介绍哈希算法和非对称加密技术。

信息加密是区块链的关键环节,主要是哈希函数和非对称加密两部分的算法。其中,非对称加密部分使用私钥证明节点所有权,通过数字签名实现;使用哈希散列算法,把任意长度的输入变换成固定长度的由字母和数字组成的输出,具有不可逆性,实现不可篡改。比特币区块链其实就是哈希链的一个变种。

3.1哈希函数

区块链之所以能称之为“链”,就是因为通过密码学中哈希函数构成指针的链表,这个链表链接一系列的区块,每个区块包含数据以及指向标准前一个区块的指针。前一个区块的指针使用的是其哈希值,这个哈希值会存储在后一个区块中以方便查找其位置。同时,这个哈希值也能进行验证这个区块所包含的数据是否发生变化。在区块链底层数组结构中存储中也用到了密码学哈希函数来进行存储以方便查找。

哈希算法又称为哈希函数,是一个密码学工具,可以在有限合理的时间内,将任意长度的消息压缩为固定长度的输出值,并且是不可逆的。其输出值称为哈希值,也称为散列值。哈希函数可以用在数字签名中,还可以用于证明密码安全体制、作为安全组件设计多种密码体制和安全通信协议。作为比特币和区块链的核心技术。简单来说,就是把输入值映射为一个固定长度的数字摘要。它的输入值可以是任意的,一切可以被数字化的东西,输出值则是一个固定长度的二进制数字。这种映射关系就像人和他的指纹,人是输入值,指纹是输出值,是这个人的映射[3]。它跟我们中学时期学到的函数是相同性质的东西,只要代入一个x,就能得出一个 y,只不过它的计算特别复杂。代入一个数据后生成的加密结果被称为这一数据的哈希值,它可以被看作是这个消息的指纹,是世上独一无二的表示。

在现代密码学中扮演着重要的角色,常用于实现数据完整性和实体认证,同时也构成多种密码体制和协议的安全保障。

3.2非对称加密 

区块链技术中数字加密技术是关键。一旦加密方法遭到破解,区块链的数据安全将受到挑战。

加密的办法有两种,对称加密和非对称加密。如果加密解密的密钥相同,就是对称加密;如果加密解密的密钥不同,就是非对称加密。

区块链中主要应用非对称加密算法。非对称加密适用与在开放的传输环境中,实现安全的加密。非对称加密通常在加密和解密过程中使用两个非对称的密码,分别称为公钥和私钥。

非对称密钥对具有两个特点:一是用其中一个密钥(公钥或私钥)加密信息后,只有另一个对应的密钥才能解开。二是公钥可向其他人公开,私钥则保密,其他人无法通过该公钥推算出相应的私钥。公钥与私钥一一对应,如果使用公钥对内容加密,那么只有这个公钥对应的私钥才能解密,只要私钥不泄露,这个内容就是安全的。

对应到比特币的交易系统中,就是:公钥生成的钱包地址用于接收比特币,而私钥则用于比特币支付时的交易签名。在支付比特币时,比特币的所有者需要在交易中提交自己的公钥和该交易的签名。而比特币网络中所有节点可以通过所提交的公钥和签名进行验证,从而确认支付者对交易的比特币的所有权。这样就实现了既不暴露自己的私钥又能让所有的节点有效地验证交易。

3.3应用

了解哈希算法和非对称加密技术后,具体的交易过程中如何进行签名和验证如下:

发送者想要在区块链网络中发起一个交易时,先要通过哈希函数将明文x形成一个信息摘要 x,再用自己的私钥对其进行加密形成数字签名 x,即加密过程如图1:

图1

然后,发送者会把明文x和数字签名 x 合在一起发送给接收者。如图2:

图2

接收者接收完毕后,会将明文x用相同的哈希算法提取信息摘要 y,再对发送者发送来的数字签名 x 用对应的公钥进行解密得到信息摘要 z,通过比较 y 与 z 是否一致来确认接受到的信息是否有效。如图3:

图3

非对称密码体制解决了开放系统中密钥大规模分问题,不仅可以加密信息还可以签名。哈希算法可以把交易信息转化为固定长度的字符串,且只要信息稍微变化,摘要就变得完全不一样,不可逆,可快速收敛,具有独特的优势。

4总结

以上简单介绍了密码学在区块链体系中起到的作用,密码学可以为一切虚拟网络的安全性提供保证,安全性是一切交易的基础,区块链网络离不开加密算法这块基石。而且,随着科技发展日新月异,加密算法也还会不断改进,因此,我们有必要对区块链技术中涉及的底层密码学基础理论进行深入研究和分析,进而推动区块链技术的快速发展。

参考文献

[1]袁勇,王飞跃.区块链技术发展现状与展望[J].自动化学报,2016,42(04):481-494.

[2]刘哲,郑子彬,宋苏,张兆田.区块链存在的问题与对策建议[J].中国科学基金,2020,34(01):7-11.

[3]段夕华.区块链的原理与机制[J].团结,2019(04):18-21.

你可能感兴趣的:(区块链中的密码学技术)