无知与成见,往往会在世界上铸成比诡诈与恶意更多的过错——歌德
我们都知道,区块链技术是计算机密码学的延伸和应用。所以,密码学作为区块链的基石,其重要性不言而喻。
区块链技术运用的密码学算法主要为两个部分:一是哈希算法,二是非对称加密算法。
哈希算法在之前的文章《人人都能读懂的比特币挖矿原理》中有详细的讲解,感兴趣的朋友可以查看之前的文章。
那什么是非对称加密呢?
了解一个事物,首先了解它的“敌人”——对称加密。对称加密可以简单理解为,一把密匙同时用来加密和解密。就好像一把锁配一把钥匙一样,既可以用这把钥匙把锁锁住,也可以用这把钥匙把锁打开。
而所谓的非对称加密是指加密时有两个密匙,就相当于一把锁有两把不同的钥匙,分别为公钥和私钥,它的特点是:公钥加密的内容必须用私钥才能解开,私钥加密的内容需要公钥才能解开。而公钥是被公开出去的,私钥是由用户自己保管的。
公钥是由私钥生成,并且这个过程是不可逆的,也就是说通过公钥是不能倒推出私钥。
例如比特币系统所使用的加密算法,就是一种称为椭圆曲线的非对称加密算法。当一个新用户创建比特币账户时,比特币钱包将为他创建地址。首先是随机生成一个比特币私钥,其次用私钥生成公钥,最后利用公钥生成比特币账户地址,所以在数字货币交易中,我们常说的账户地址其实就是指公钥。
非对称加密怎么运用呢?打个比方,A需要发送一篇论文给B:
首先,A把写好的论文通过哈希加密求出这篇论文的哈希值。然后用自己的私钥对这个哈希值进行加密(用M表示);其次,A把这篇论文用B的公钥加密(用N表示)。M和N两者一起发送给B。
B收到A发出的内容后:
1,通过自己的私钥解密N,得出论文的原文,然后把得出的原文通过哈希加密,得出一个哈希值
2,通过A的公钥解密M,同样得出一个哈希值。(通过了A的公钥解密,另一方面也确认了内容是由A发出的)
最后,B把得出的两个哈希值进行比较,如果一致,说明论文在传输过程中没有被篡改,确实是A发送给B的论文。
比特币交易用的就是类似的原理,是不是非常巧妙?当然,比特币的巧妙之处并不仅仅利用了哈希算法和非对称加密数字签名,它还设计一套严密的数据链结构,比这复杂很多,这里就不多讲。
总的来说,非对称加密在区块链中是比较常用的,比如钱包地址生成,转账交易数字签名等,为区块链的安全运行提供不可磨灭的贡献。
或许随着量子技术的发展,有人会质疑它的安全。但是,换句话说,密码学也是会随着时代发展而进步的。要是量子技术真发展成熟,密码学也会迭代出更安全的技术。而在当下这个时代中,它的安全性是毋庸置疑的。
仔细想想,比特币创造了一个新的组织方式,一个价值2.2万亿美元的网络,其背后没有主人,没有公司,在没有出什么大问题的情况下,已经稳步运行了十年之久,其安全性是得到验证的。
所以,从人类历史的角度来看,这应该也算得上一个奇迹吧?