跳至内容
深圳市捷比信实业有限公司 · 产品选型与采购咨询联系业务人员
模压电感捷比信 · 专业器件主题站

基于HASH算法的区块链分析

区块链技术是一系列技术的组合,以建立新的技术架构。哈希算法是一个特别重要的部分。这是哈希算法的简要说明。如果有不正确的理解,请及时纠正我。在讨论哈希算法之前,首先要弄清基本的计算机知识。计算机在机器代码的底部使用二进制模式。所谓二进制表示底层由0/1标识。所有数据传输记录都以010101模式存储。这两种状态也可以视为日常生活中的开关,其中1表示打开,0表示关闭。那么计算机中最小的数据单位就是这里提到的0或1,这里我们称它为bit(位或位),8位组成一个字节。当然,计算机中有八进制和十六进制表示形式,因此我暂时不在这里讨论。仅在底部阐明二进制的概念。哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,该较小的二进制值称为哈希值。哈希值是数据的唯一且极其紧凑的数字表示形式。如果您对一段纯文本进行哈希处理,甚至仅更改该段落的一个字母,则后续的哈希将产生不同的值。在计算上不可能找到被散列为相同值的两个不同输入,因此数据的散列值可以检查数据的完整性。通常用于快速搜索和加密算法。介绍哈希表的概念。在计算机数据结构中,给定表M(关键字关键字),有一个函数H(关键字)。对于任何给定的关键字值键,将函数替换为函数后,即可获得键。表中记录的地址称为哈希表。对哈希算法的简单理解是这种单向加密。明文加密称为密文,它是不可逆的。只有一个加密过程,没有解密过程。解释了哈希函数和哈希表的概念,然后当前常用的哈希算法是MD5(已被破解),SHA系列算法(在比特币中使用sha-256算法)。这里提到的SHA(安全哈希算法)不是一种算法,它是一组哈希函数,现在有诸如sha-224,sha-256,sha-384和sha-512之类的算法。中本聪(Satoshi Nakamoto)在2009年设计比特币时,sha-256被认为是最安全的算法之一,因此选择了sha-256,并且到目前为止还没有被破解。在这里进行了解释之后,您可能会认为,如果密钥在哈希算法中计算后出现在相同位置,则会发生冲突。这是对以下类型的冲突处理的简要介绍。如果您有兴趣,可以查看哈希算法文件。 1.拉链方法:该方法可以完全避免冲突,并将所有关键字为同义词的节点链接到同一单链表中。如果所选哈希表的长度为m,则可以将哈希表定义为由m个头指针组成的指针数组t [0..m-1]。将哈希地址为i的所有节点插入到以t为头指针的单链表中。 t中每个组件的初始值应为空指针。在拉链方法中,填充系数α可以大于1,但是通常α≤1。 2.多重哈希方法:设计两个以上的哈希函数,以避免冲突。这感觉相对不可靠,但是更有可能。该哈希函数仍然可以减少冲突的发生。 3.开放地址方法:开放地址方法具有公式:Hi =(H(key)+ di)MOD mi = 1,2. ..,k(k《 = m-1),其中m是表的长度哈希表。 di是发生冲突时的递增序列。如果di的值可以是1、2、3 、。 ..m-1,称为线性检测,然后进行哈希处理。如果di取1,则在每个冲突之后,向后移动1个位置。如果di的值可以为1,-1、4,-4、9,-9、16,-16 、. ..k * k,-k * k(k《 = m / 2),这被称为第二次检测,然后是哈希。如果di的值是伪随机数序列。这称为伪随机检测,然后称为哈希。哈希算法函数按类别进行分类:加法哈希,位运算哈希,乘法哈希,除法哈希,表查找哈希等。请参阅百度百科,它是更抽象的。如果您有兴趣,可以了解更多有关它的信息。哈希函数与区块链结合在一起,可在区块链的许多地方使用:1.计算区块链中节点的地址,公钥和私钥。以地址为例:公钥经过SHA256计算,然后执行RIPEMD160计算以获得公钥哈希(20字节160位),添加版本信息,并再次执行两次SHA256计算,取前4个字节,并在添加版本信息后放