从0开始学区块链:密码学的创新应用?

从0开始学区块链:密码学的创新应用?

在区块链领域,我们经常听到一个词语,叫做加密货币,其实就是我们平时理解的数字货币。但是为什么成为加密货币?

其实就是说,他使用了一种密码学的技术来确保交易安全及控制交易单位创造,比特币就是第一个真正意义上的去中心化的加密货币,不依靠法定货币机构发行,不受央行管控。它依据全世界的计算机运算一组方程式开源代码,通过计算机显卡、cpu大量的运算处理产生,也就是我们经常提到的POW的共识激励机制,并使用密码学的设计来确保货币流通各个环节安全性。

因此其实我们可以看到在区块链领域中,密码学技术是一个绕不开的话题,作为一个区块链从业者,我也对密码学技术有过一定的了解,接下来我会按照自己的理解来像大家介绍密码在区块链领域的相关情况。

首先,大家一定都还记得,在上篇《区块链那些事?》中,专员有提到过的区块链的五大特性,其中有一点提到过的就是有一点,叫做不可篡改性,不可篡改其实大家很好理解,也就是说,一旦交易生成写块之后,便无法再进行修改,保证了交易的唯一性。

但是在保证这个其实的时候,我有提到到一个名词,叫做哈希(Hash)算法。

就是说,每个交易区块链或者说交易都有一个唯一的Hash值,而区块链中存储的交易信息每一条都有相对应的哈希值、时间戳以及前一个区块的标识符(Hash)形成一条链式结构,要想篡改区块链中的一条记录,不仅要修改本区块的Hash值,还要修改后续所有区块的Hash值。其实Hash算法,就是我们所提到的一个重要的密码学算法之一,他的学名叫杂凑算法,其实又叫做摘要算法,他的作用就是,把你任意长度的一段明文,经过密码学的运算,生成一种固定长度的杂凑值,而根据输入的明文的不同,保证了生成的摘要也就是Hash值也是不同的,因此Hash算法被广泛用于完整性检查、数字签名等场景,另外Hash算法也能做为每个交易或者区块等相关信息的唯一标识符,我们可以通过Hash值快速检索或查询某个交易或者区块的相关信息。常见的摘要算法有MD5、RIPEMD、SHA系列和国密的SM3。

接着专员要来说,刚刚提到过的数字签名,上篇文章中我也有提到说区块链有一个所谓不可伪造性,整个核心就是利用了数字签名这一密码学手段来进行的。在将数字签名之前,我必须给大家提一下一个密码学当中很常见的一个名词,叫做非对称加密,何为非对称加密,其实就是说加密解密双方拿到的密钥是不同的,也就是我们常说的公私钥对,在对称加密当中是分别有一个公钥以及私钥的,私钥是留给自己的,不能给别人所知道,公钥也就是说可公开的,没关系,大家都可以知道的。

接下来我来讲一下,整个签名的流程,如下图所示:

从0开始学区块链:密码学的创新应用?

发送者,首先要讲自己要发送的信息用hash算法进行计算,算出一个固定长度且唯一不可变的一个摘要,接着发送者利用自己的私钥对摘要信息进行一些列的签名,生成针对于这笔交易的唯一签名,将信息和签名通过网络一起利用网络进行了传输,对手方收到了之后,想要验证这个消息有没有被篡改或者是不是你本人认可过的,很简单,只要利用收到的交易,利用同一个hash算法进行hash,然后利用发送方的公钥,进行验签,如果说消息再传播的过程中被篡改,则验签不会被通过,另外如果说黑客拦截消息想进行签名的修改,他没有签名方的私钥,也没有办法再次进行签名,整个签名算法也是不可逆的,只有拥有私钥的人才能再次进行修改,这样就保证了消息再传输过程中不被篡改以及身份认证。

这时候,很多人会问,保证了消息不被窜改,但我消息还是明文传输的呀,谁拿到都可以知道我这笔交易有多少钱了啊,我没有任何隐私可言了,这时候就用了我们所说的对称加密,何为对称加密,其实就是说,两边的密钥对是一致的,就相当于两边都拥有一致的密码,在交易通信之前,我们先协商好自己的密码,保证两边的密码是一样的,这样的情况下我们就可以理解,通过的密码我当然可以加密也可以解密。当然其实刚刚的非对称加密也可以做加密解密,我为什么不提?因为在区块链当中,因为非对称加解密的效率比较低,用的比较少,而用对称加密加解密信息的比较多,所以我单独讲了一些对称加密。

综上,其实专员刚刚讲的知识最最基础的密码学相当的应用,我们还有很多先进的密码学相关的东西,比较最近很火的零知识,环签名等等,但是都是在我刚刚说的基础之上的,我们以后也会讲到,希望大家在关注数字货币的时候,也多多关注区块链技术的发展情况,比较区块链技术真的是一门可以改变世界的技术。专员对此也是有一定的信仰的!!!


分享到:


相關文章: