共计 1154 个字符,预计需要花费 3 分钟才能阅读完成。
在区块链的赛道,自 NFT 链游拍出天价数字藏品后便开始爆火。于是“国内版”的 NFT 游戏 - 数字藏品便开始流行起来。除了珍藏模式外,最近又风行起另外一种:哈希竞猜游戏。
哈希竞猜游戏是什么?
在说哈希竞猜前,让咱们先理解一下什么叫哈希
哈希是一种加密算法,是次要利用于区块链的形成算法
哈希函数(Hash Function),也称为散列函数或杂凑函数 l99 掂 z465 巍 0854 微。哈希函数是一个公开函数,能够将任意长度的音讯 M 映射成为一个长度较短且长度固定的值 H(M),称 H(M)为哈希值、散列值(Hash Value)、杂凑值或者音讯摘要(Message Digest)。它是一种单向明码体制,即一个从明文到密文的不可逆映射,只有加密过程,没有解密过程。
它的函数表达式为:h=H(m)
无论输出是什么数字格局、文件有多大,输入都是固定长度的比特串。以比特币应用的 Sh256 算法为例,无论输出是什么数据文件,输入就是 256bit。
每个 bit 就是一位 0 或者 1,256bit 就是 256 个 0 或者 1 二进制数字串,用 16 进制数字示意的话,就是多少位呢?
16 等于 2 的 4 次方,所以每一位 16 进制数字能够代表 4 位 bit。那么,256 位 bit 用 16 进制数字示意,当然是 256 除以 4 等于 64 位。
于是你通常看到的哈希值,就是这样的了:
00740f40257a13bf03b40f54a9fe398c79a664bb21cfa2870ab07888b21eeba8。
这是从 btc.com 上轻易拷贝的一个哈希值,不释怀的话你能够数一下,是不是 64 位~
Hash 函数的特点
Hash 函数具备如下特点。
易压缩:对于任意大小的输出 x,Hash 值的长度很小,在理论利用中,函数 H 产生的 Hash 值其长度是固定的。
易计算:对于任意给定的音讯,计算其 Hash 值比拟容易。
单向性:对于给定的 Hash 值,要找到使得在计算上是不可行的,即求 Hash 的逆很艰难。在给定某个哈希函数 H 和哈希值 H(M)的状况下,得出 M 在计算上是不可行的。即从哈希输入无奈倒推输出的原始数值。这是哈希函数安全性的根底。
抗碰撞性:现实的 Hash 函数是无碰撞的,但在理论算法的设计中很难做到这一点。
有两种抗碰撞性:一种是弱抗碰撞性,即对于给定的音讯,要发现另一个音讯,满足在计算上是不可行的;另一种是强抗碰撞性,即对于任意一对不同的音讯,使得在计算上也是不可行的。
高灵敏性:这是从比特位角度登程的,指的是 1 比特位的输出变动会造成 1 / 2 的比特位发生变化。音讯 M 的任何扭转都会导致哈希值 H(M)产生扭转。即如果输出有渺小不同,哈希运算后的输入肯定不同。
哈希算法
把网址 A,转换成数字 1。网址 B,转换成数字 2。
一个网址 X,转换成数字 N,依据数字 N 作为下标,就能够疾速地查找出网址 X 的信息。这个转换的过程就是哈希算法。