要想理解区块链中的加密数字货币,永远避不开哈希算法。
哈希函数准确的说应该叫散列函数,哈西属于音译,他是把,任意长度的输入,通过散列算法,变换成固定长度的输出,这个输出值,就是散列值也叫做哈希值。
哈希函数有两个基本特性,第一,同样在函数,输出值,长度相同,第二,不同的输入值,得到的输出结果,完全不同。
除此之外,哈希函数还具有,不可逆的特性,也就是根据结果,无法倒推出输入。这样就确保,通过哈希函数加密的文件,锦屏,其结果也就是哈希值,无法推算出被加密的文件内容。
另外哈希函数,还有运算速度快的特点,不管你是一句广告语,还是一篇百万字的长篇小说,哈希出来结果的时间都不会超过一秒。
说了这么多,哈希函数的作用到底是干什么用的呢?
在区块链中,哈希函数不是用来加密的,而是用来,辅助生成数字签名的。
为什么要做数字签名呢?
前面我们讲了,要去中心化的区块链结构上,很多东西都是全网公开的,就比如说,比特币的记账。
张三转给了李四10个比特币,这些信息需要被全网的节点共同记录。
但与此同时,这些信息,又不能用明文的方式,在网络上传播。
比特币采用的方式就是,对每一次交易记录做一次哈希运算,然后再用加密方式把哈希值转化为收款人的数字签名。
有了数字签名,就能确保每一笔交易都可以,追根溯源。
同样也可以查得出每一个,账户的转交易记录是否真实?还可以防止双重支付的问题。
那么数字的签名到底是怎么回事呢?
请听下回,非对称加密技术的讲解,感谢收听!
还没有评论,快来发表第一个评论!