浅谈区块链——加密技术

阿巴这两天在忙碌中,因为家中增加了一个小千金,还有其他琐事,不过抽空还是要去谈谈自己对于区块链的认识。今天浅浅的谈一下区块链中的加密技术,很多专家认为区块链技术一点都不新颖是因为他们认为区块链技术只是把以前很多已经存在的技术综合在一起了,比如分布式存储、共识机制和密码学,这些技术以前就有,但是有人偏偏把这些技术综合起来创造出了一个甚至可以颠覆时代的技术。

回顾一下,在很久以前,人们还在使用金银作为货币的时候,如果你是山东的商家想去广东批发布匹,这个过程你要把钱从山东转给广东,然后把货从广东运到山东,你需要镖局押镖,耗费人力、物力搬运过去,然后镖局再回来。大资金的跨区域支付,需要镖局,拉着马车一堆堆的金银。人们发现金银货币携带确实不方便,后来出现了纸币,伴随纸币的出现产生了银行,伴随着互联网的发展,纸币数字化可以使用手机银行或网上银行实现转账,这个时候银行替代了以前的镖局,但银行需要大量的人力,不过比以前的镖局节约了很多成本,也快捷了许多。随着时间的推移,人们转账不再是单单的国内转账,需要跨国转账了,因为世界化的进程日益加快,然后通过银行跨国转账需要较长的时间。那么区块链技术的诞生,有可能会去掉银行这个中介,因为它提高了效率。如同银行替代镖局一样。

所以阿巴认为区块链技术真有可能改造一个时代,这仅仅是其在金融领域的运用。一个发明若要被社会认可,必须可以节约人力,提高效率。比如蒸汽机的发明、电力的发明以及互联网的诞生,这些都大大的提高了社会效率,解放了人力。同样区块链是一个方向,它可以节约人力,当然目前它的效率并不乐观,比中心化的处理速度确实慢多了。

对于这个技术我们继续一点点的剖析……

前面阿巴已经浅谈了分布式存储和共识机制,在公众号前面有记录,今天我们去谈谈密码学,其中最为熟悉的就是大家经常接触的私钥、公钥和钱包地址。

区块链中使用了很多加密学算法,包括哈希算法、默克树、数字签名等。

这些是什么鬼?搞得好复杂,小白如何去理解呢?

主要谈谈哈希算法和数字签名,简单看完其实就懂了。

首先哈希算法是一种常见的单向加密算法,它将一串数据加密生成一串二进制,但不能由二进制还原为原来的数据。

这个可以简单理解为你把一个文件转化成一个压缩文件格式然后发送给别人,或者可以理解为把一段文字通过二维码压缩软件合成了一个二维码。这个上网百度一下二维码生成器,可以把自己想要表达的文字合成为二维码。这个转化的过程可以理解为哈希算法,当然哈希算法要比这个复杂多了,哈希算法长度都为64,即256长度的比特位。

(这个是阿巴随便百度了一个二维码生成器,把你肉眼可以看懂的军戎阿巴几个字合成了二维码)

接下来是重点喽,就是数字签名,其中比较重要的就是公钥和私钥,这个我们经常听说,也经常使用。

前面发布的区块链100问中第21集讲过这个问题,可以参考下比特币的数字签名,阿巴发个1分钟的短视频辅助理解。

看完视频,应该理解到数字签名是由数字摘要和非对称加密技术组成。数字摘要比较简单,就是把交易信息压缩成固定长度的字符串;这里再去谈谈非对称加密技术。

数字签名使用了公钥密码学,公钥密码学是非对称加密技术。非对称加密技术是相对于对称加密技术存在的。那么什么是对称加密技术呢?

在对称加密技术中使用相同的密钥加密和解密数据,为了让对方能够解密,需要同时将密文和密钥发给对方。

(图片来源于简书由flingjie创作)

如果有人在传输过程中截取了密文和密钥,就一样能解密出明文,这就导致了安全性问题。

在非对称加密中有公钥和私钥两个,公钥用来加密,私钥用来解密,公钥可以发给任意的人。

在这个过程中只有私钥才可以解密,而加密用的是公钥,故不需要传输私钥,只要保证私钥放在安全的地方,被盗取后其他人还是无法破解密文。

而数字签名就是基于上述非对称加密技术,不同点在于数字签名使用私钥生成一个签名,接收方使用公钥进行校验。比如上面用私钥解密得到明文后,用私钥进行签名进行回复,收到回复后用公钥解密得到的内容与数据相同即可证明签名正确。

因为公钥和私钥是成对的,也就是公钥和私钥是一对孪生兄弟,唯一对应的,私钥只有对方拥有,所以对方也不能对签名进行抵赖。

私钥是一串很长的字符串,拥有钱包其实就是拥有私钥,这是对一个加密货币地址拥有最高取钱权限的代表,掌握了私钥就掌握了其对应加密货币地址上的所有生杀大全,每次交易的时候,付款方必须出具私钥产生的签名,每次交易签名不同,由同一个私钥产生。

所以私钥很重要!!!

私钥、公钥和钱包地址的关系是由私钥产生公钥,由公钥根据哈希算法产生钱包地址。所以钱包地址一旦生成,私钥是更改不了的,也就是密码是不能更改的,否则钱包的地址就变了。私钥可以对应一个地址;私钥也可以对应多个钱包地址,如同一个人可以有多个银行卡密码一样。

私钥是黑客基本破解不了的,比银行的密码安全等级高十万八千里。每个私钥至少35个字符以上,可以举例说明:私钥是2的256次方的长度函数计算出来中的一个,你要破解别人钱包的私钥,需要在2的256次方中找到一组正确的数字匹配,难度多大?一根头发丝是不是很小,但一根头发是由很多原子组成的,地球是九大太阳系的一支,太阳系是是几千亿银河系的一支,银河系是2万多亿的宇宙中的一支,科学计算整个宇宙中有10的80次方个原子。对比一下私钥2的256次方=10的77次方,和宇宙中找到一模一样原子的难度差不多。所以私钥很难被破解的。

那么为什么有的人钱包里面的资产被人盗走了,只有一种可能——私钥被盗,不是被黑客破解。也就是你储存在了电脑上或者手机上,黑客通过这个知道了你的私钥,从而盗走了你的钱包资产,所以保护好自己的私钥至关重要。

阿巴总结:区块链技术被人认可的根源——分布式存储(去中心化)是基本的前提,因为它去掉了中介;共识机制是核心,因为它实现了在没有中心的分布式网络中统一思想达成共识;加密技术是保障,因为加密技术实现了交易信息的安全。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180428G1OORM00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券