哈希是一种使用哈希函数将键和值映射到哈希表中的技术或过程,哈希运算在区块链中主要用于数据加密。其中哈希指针不仅要保存结构体在内存中的位置还要保存结构体的哈希值,区块链和普通链表的主要区别就在于用哈希指针代替了普通的指针。区块链的哈希值能够唯一而精准地标识一个区块,把各个区块串联成区块链,每个区块都包含上一个区块的哈希值和下一个区块的值。很多投资者还不知道哈希运算在区块链中的作用究竟是什么?下面就让币圈子小编来为大家介绍一下。
哈希运算在区块链中主要用于数据加密,哈希加密算法,SHA256,是由美国国家安全局研发,由美国国家标准与技术研究院(NIST)在2001年发布。将任何一串数据输入到SHA256将得到一个256位的Hash值(散列值)。其特点:相同的数据输入将得到相同的结果。输入数据只要稍有变化(比如一个1变成了0)则将得到一个千差万别的结果,且结果无法事先预知。具体来说就是哈希算法将数据打乱混合,压缩成摘要,使得数据量变小,重新创建一个叫做哈希值的指纹。
区块链使用的是单向哈希。哈希树的顶部为顶部哈希(top hash),亦称根哈希(root hash)或主哈希(master hash)。它是通过并联两个子哈希来往树上爬直到找到根哈希。它的作用就是作用快速定位每笔交易;核实交易数据是否被篡改。
区块头中有个参数叫随机数Nonce,寻找这个随机数的过程就叫做”挖矿“。比特币挖矿过程使用SHA256哈希函数不断运算。挖矿就是重复计算区块头的哈希值,不断修改Nonce值,直到符合目标哈希值过程。哈希函数的结果无法预知,也没有特定模式快速算出哈希值。
哈希算法是区块链中用得最多的一种算法,它被广泛地使用在构建区块和确认交易的完整性上。它是一类数学函数算法,又被称为散列算法,需具备三个基本特性:其输入可为任意大小的字符串、它产生固定大小的输出、能在合理的时间内就能算出输出值。
哈希算法有很多,区块链主要使用的哈希算法是SHA-256算法:将任意数据串作为输入值代入公式,可以得到一个独一无二的64位输出值,但是用输出值无法倒推出输入值。
对于同一个哈希算法来说,相同的输入必定会得到相同的输出,不同的输入必定会得到不同的输出。区块链就是利用哈希函数为区块生成签名的,将区块中的数据作为输入,得到的输出就是区块的签名。
以上的内容就是币圈子小编对于哈希运算在区块链中的作用究竟是什么这一问题的具体阐述。哈希在区块链中用于表示世界的当前状态。输入是区块链的整个状态,这意味着到目前为止发生的所有交易和生成的输出哈希代表区块链的当前状态。第一个哈希是使用该块内的交易为第一个块或创世块计算的,初始交易的序列用于计算创世块的块哈希。对于之后生成的每个新块,还使用前一个块的哈希值以及它自己的交易作为输入来确定其块哈希值,这就是区块链的形成方式。