主页 > imtoken海外版 > 比特币区块链哈希算法规则分析

比特币区块链哈希算法规则分析

imtoken海外版 2023-02-17 05:24:47

哈希,又可译为“散列”,是一种加密算法,是一种单向密码体制。 即从明文到密文的不可逆映射比特币采用的哈希算法是,只有加密过程,没有解密过程。 并且无论消息文本中的内容有多大,哈希函数总能用固定长度的数据表达文本中的所有内容。 即哈希函数是将任意长度的消息压缩成一定长度的消息摘要的函数。

哈希算法有很多种,比特币系统中使用的有SHA-256和RIPEMD-160算法。 但是,除了其中一个地址生成环节使用了RIPEMD-160算法(由于RIPEMD也是一种hash算法,RIPEMD-160有时也被称为hash 160),其他使用hash运算的地方都使用了SHA -256算法。

md5是哈希算法吗_比特币算法软件_比特币采用的哈希算法是

Hash 256算法提供了一个由数字和字母组成的长度为64的十六进制字符串。 这个算法有一个特点,就是无论你输入的是一个词还是一本书的内容,比如输入《红楼梦》这部大作,最终生成的哈希值都是64个字符串。 而且只要输入的信息有一个小的变化,比如一个空格或者一个小数点,输出的哈希值就会发生变化。

该算法除了具有固定输出长度的特点外,还具有单向不可逆和防篡改的特点。 也就是说,如果输入A,可以通过哈希运算得到B,但是不能输入B,可以反转A;

比特币采用的哈希算法是_比特币算法软件_md5是哈希算法吗

另外,在输入的A中,只要有一个小的变化,比如一个字母或者一个字节的变化,通过hash算法得到的值就会发生变化,就不会是之前的B了。

由于哈希算法得到的哈希值是固定长度的,即范围是有限的,但输入的数据是无限的。 那么有两个不同的A,经过hash算法后有可能得到相同的B,这种情况称为“hash collision”。

比特币采用的哈希算法是_md5是哈希算法吗_比特币算法软件

比特币系统巧妙地利用了这种“哈希碰撞”,让矿工使用穷举法不断计算哈希值比特币采用的哈希算法是,即工作量证明的方法来碰撞正确答案的哈希值。 谁先碰撞谁就获得比特币奖励,所以挖矿的算力实际上是指每秒碰撞了多少次哈希。

以下示例说明:

md5是哈希算法吗_比特币算法软件_比特币采用的哈希算法是

假设现在有交易数据C、D、E,随机数用Nonce表示,难度要求是哈希值必须以000开头,那么系统计算出的哈希值如下:

Ha1=哈希(C+Nonce1)

比特币采用的哈希算法是_比特币算法软件_md5是哈希算法吗

Ha2=哈希(D+Ha1+Nonce2)

Ha3=哈希(E+Ha2+Nonce3)

同时要求Ha1、Ha2、Ha3都以000开头。这种情况下,由于hash值不可逆,且C、D、E的值已经确定,只能继续尝试随机数Nonce,直到找到满足Ha1、Ha2、Ha3都以000开头的值为止,这个尝试过程形象地称为挖矿。