开云体育- 开云体育官方网站- APP下载 KAIYUN SPORTS白话区块链第四课:哈希算法

2026-02-12

  开云体育官方,开云体育app,开云app下载,开云棋牌,开云官网,开云体育,开云电竞,开云,开云体育官网, 开云体育平台, 世界杯开云, 开云体育app下载, 开云体育网址, 开云体育2025

开云体育- 开云体育官方网站- 开云体育APP下载 KAIYUN SPORTS白话区块链第四课:哈希算法

  相信很多朋友都发过微信朋友圈吧,字数比较少的就直接发出来了,但如果是很长的文章通常不会直接发,而是先在网页上发表再生成链接发送到朋友圈。这样别人一点链接就可以跳转到发表文章的网页上,还了朋友圈的一片清新。

  哈希(Hash)算法就有一点异曲同工之妙了。将一串信息通过密码学中哈希函数进行计算,得到的结果是一个固定位数的字符串,而且不论输入的信息多或少,它都会是产生固定大小输出,我们称之为“信息摘要”。这个字符串是不是有种文章链接的感觉。

  Hash算法并不是加密算法(很多人容易搞混),它其实是一个密码散列函数家族,现目前常见的Hash算法是SHA 系列算法,其中有SHA-1、SHA-224、SHA-256、SHA-384和SHA-512。

  给定明文和 Hash 算法,在有限时间和有限资源内能计算得到 Hash 值。

  无法找到两个不相同的值经过Hash之后得到同样的输出,即两个固定位数的字符串不会碰撞到一起,完全相同。如K1≠K2,无法使得H(K1)=H(K2)。就像每个链接对应相应的网页一样。其实要较真的话,现阶段没有人找到碰撞,不代表没有碰撞。只要经过大量的计算,也许会发现两个碰撞的值,但这个计算量是个天文数字,以人类现在计算机的能力找到的概率比地球下一秒就毁灭的概率还小(如图中K2和K5)。

  只要作为输入的这个集合足够大,那么输入信息经过Hash函数后具有不可逆的特性。即根据输出是推导不出输入的,如在输入集合随意选择一个数X,有H(X)=Y,我们知道Y的值,但是我们却推导不了X的值。因为在输入中有任何一点的变化,哪怕是一个标点符号不同,输出的结果都会大相径庭。所以说你的输入信息是不会被别人知道的,是相当安全隐秘的。但是万事不是绝对的,所以我们加入了一个前提,输出集合足够大。如果输出集合只有两个信息“1”和“2”,别人完全可以将这两个信息用Hash函数算一遍得到输出,当你将其中一个的输出给他时,他马上就能知道你的输入是哪一个。

  4.谜题友好(puzzle-friendliness) 如果对于输出值y,如果无法找到一个可行的方法,在比2n小很多时间内找到x,保证H(x)=y成立,那么我们称函数H为谜题友好。即一个人想找到y值所对应的输入,只要输入集合有随机的信息,那么他将非常难以求得y值对应的输入。

  现在来仔细对比一下,因为碰撞阻力使区块链具有了不可篡改性(改变了输入,输出必然变化),因为隐秘性使区块链具有了匿名性,可以说Hash函数为区块链打下了半壁江山。

  中本聪在创立比特币时,每个区块大小设定为1MB。将众多的信息通过算法输出为一条条的字符串后,这将为整个网络节省储存的空间,提升区块的效率。

  假如A曾经找B借款10万元,A在还款时欺骗说,当时B只借了他5万元。根据前面所讲的Hash函数的特性,内容写的清清楚楚,是篡改不了的。

  输出的字符串(信息摘要)相当于为每个输入的原始信息打上一个特定的标记,类似于IP。

  内容正在慢慢地变得比较难理解了,笔者不会用花哨的辞藻和太过专业的名词来解释,就用大白话,相应的这样会有一些解读上的漏洞,所以如果您已经有一点理解了,有点概念了,那么也可以多去搜索一些相关的文章阅读。任何一个行业的学习都靠的是坚持不懈!

地址:开云体育永久网址【363050.com】 客服热线:363050.com 传真:363050.com QQ:363050.com

Copyright © 2012-2025 开云体育网站 版权所有 非商用版本