“区块链”的特征是:透明性、去中心化、开放性、自治性、信息不可篡改、匿名性。其中“信息不可篡改”和“匿名性”是如何实现的呢?
这里我们就不得不了解一下哈希值了。
哈希值是一串固定长度的二进制数值,它是哈希算法(Hash算法)计算的出来的。哈希算法可以将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果进行哈希运算的数据哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到哈希值为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性;一般用于快速查找和加密算法。
简单的说,哈希值就是通过哈希算法将一段数据进行计算,得出的一个数值。这个数值它有两个特性:单向性和唯一性。
单向性
哈希值是无法通过反向运算得出原始数据的。比如一段数字“1234”可以通过哈希算法得出哈希值A,但是通过哈希值A是永远也没有办法解密出原始数字“1234”的。
唯一性
只有完全相同的数据进行哈希计算得到的哈希值才是相同的,也就是说哈希值和原始数据是唯一对应的,不存在两个不一样的数据得出相同哈希值这种情况。
哈希加密的强大之处在于,我不管你的内容是什么, 只要内容一致得出哈希值就是一致的。这样就可以简单粗暴的对比两条信息是否一致,而不需要去关心数据的细节是什么。
正是因为哈希值的这种属性,才使得哈希算法在区块链网络中起到举足轻重的作用,用来验证区块节点之间的数据,保证数据的完整性和正确性,防止信息篡改。
然而仅仅是验证区块节点之间的数据是不够的,我们还要保护数据的安全,这里我们就要了解:非对称加密。
非对称加密算法是一种密钥的保密方法。 非对称加密算法需要两个密钥:公钥(公开密钥)和私钥(私有密钥)。 公钥和私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密;如果用私钥对数据进行加密,那么只有用对应的公钥才能解密。
如果对加密算法和对公钥和密钥还感觉毫无概念,可以就把它们理解成两个密码,若其中一个密码对数据进行了上锁,则只能用另一个密码进行解锁。
因为对数据进行加密和解密使用的是两个不同的密钥,所以这种算法就叫做非对称加密算法。在区块链网络中某个节点的公钥是全网公开的,私钥只有该节点才拥有。
往期精彩
孙宇晨上热搜:“天价巴菲特午餐”事件始末
facebook与区块链的爱恨情仇
区块链技术名词解释大全
2019应届生求职城市、薪资报告出炉
LinkedIn最新报告: 区块链成职位需求增长最快领域 月薪高达10万
毕业季:盘点区块链行业高薪岗位,最低一万起
2019中国(深圳)行业企业人才需求研讨洽谈会顺利举办
乔曼特区块链工作站
关注即送68份《区块链行业资料》
智慧学习工场[2020]乔曼特区块链技术专业站是教育部学校规划建设发展中心学硕创新项目的指定区块链技术专业培训工作站,面向应届毕业生和在职人员,提供专业的区块链技术培训和入职培训。