要说不可篡改的特性,不得不提到哈希函数。什么是哈希?什么是哈希函数?哈希函数如何与区块链扯上关系? 12月7日由中国科学院学部主办,中国信息通信技术研究院支持的“区块链技术与应用”科学与技术前沿论坛在深圳开幕。中国科学院信息技术科学部郑志明院士,和数学物理系院士王小云等四位院士发表了主题演讲,同时还有来自政府和企业界的300多名代表参加了会议,讨论了区块链和数字身份,监管技术和金融应用等话题展开讨论。在论坛上,王小云院士从密码学的角度介绍了区块链技术,阐述了密码学的重要性和密码学的发展现状。她说,区块链技术并不神秘。哈希函数、数字签名算法和加密算法是区块链的三大基本技术,其中哈希函数起源性技术。 哈希和哈希函数 Hash(哈希),又称“散列”。散列(hash)英文原意是“混杂”、“拼凑”、“重新表述”的意思。在某种程度上,散列是与排序相反的一种操作,排序是将集合中的元素按照某种方式比如字典顺序排列在一起,而散列通过计算哈希值,打破元素之间原有的关系,使集合中的元素按照散列函数的分类进行排列。 哈希函数(Hash Function)就是一种特殊的数字方程式,也称散列算法;可将任意长度的二进制值映射为较短且固定长度的随机字符串(哈希值)。具体来说,无论输入的是单一字母、单词、句子、整本书籍等等,经过哈希函数运算,输出值的长度都是一样的。它是一种单向密码体制,即一个从明文到密文的不可逆映射,只有加密过程,没有解密过程。 哈希函数的特点 1、唯一性:即不会出现输入 x≠y ,但是H(x)=H(y) 的情况,其实这个特点在理论上并不成立,比如目前比特币使用的 SHA256 算法,会有 2^256 种输出,如果我们进行 2^256 + 1 次输入,那么必然会产生一次碰撞,事实上,通过理论证明 ,通过 2^130 次输入就会有99%的可能性发生一次碰撞,不过即使如此,即便是人类制造的所有计算机自宇宙诞生开始一直运算到今天,发生一次碰撞的几率也是极其微小的。所以,输入的明文与输出的散列数据一一对应,任何一个输入信息的变化,都必将导致最终输出的散列数据的变化。 2、不可逆:也就是说,对于一个给定的输出结果 H(x) ,想要逆推出输入 x ,在计算上是不可能的。如果想要得到 H(x) 的可能的原输入,不存在比穷举更好的方法。加密过程不可逆,意味着我们无法通过输出的散列数据倒推原本的明文是什么。 哈希函数和区块链的关系 1953 年哈希函数出现,1970 年哈希函数蓬勃发展,2001 年 SHA-256 出现,在 2008 年时,哈希函数却在中本聪手里被玩出了花,成为了区块链技术里不可撼动的基石。 区块与 Hash 是一一对应的,每个区块的 Hash 都是针对“区块头”(Head)计算的。Hash = SHA256(区块头) 区块头包含很多部分(包括上一个区块和当前区块体的Hash等)也就是意味着,如果当前的区块被改变了,或者上一个区块的 Hash 变了,一定会引起当前区块的 Hash 改变。 如果有人修改了一个区块,该区块的 Hash 就变了。为了让后面的区块还能连到它,后面所有的区块必须全部同时修改,否则被改之后的区块就全部脱离了区块链。Hash 的计算很耗时,同时修改多个区块几乎不可能发生,除非有人掌握了全网51%以上的计算能力。但掌握一个拥有2000万节点的51%算力是绝对不可能的,所以说夸克区块是不可篡改的。 正是通过这种联动机制,区块链保证了自身的可靠性,数据一旦写入,就无法被篡改。这就像历史一样,发生了就是发生了,从此再无法改变。 —- 编译者/作者:链上小白 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
为什么说夸克区块是不可篡改的?区块链与哈希函数
2020-01-15 链上小白 来源:区块链网络
LOADING...
相关阅读:
- CDN+边缘计算+区块链-万亿级市场与全新赛道助力-SpeedNetwork迈上新台阶2020-08-06
- 重构旅游行业新生态-周游纪TNJ未来潜力无限2020-08-06
- 2020“创业之星”大赛大数据和区块链行业赛第一期复赛圆满落幕2020-08-06
- 数据确权与个人数据保护驱动互联网信息革命?2020-08-06
- NBA Top Shot推出了可收藏代币的P2P市场2020-08-06