主页 > imtoken钱包下载注册教程 > 什么是区块链哈希算法? 哈希算法在加密货币中有哪些应用?

什么是区块链哈希算法? 哈希算法在加密货币中有哪些应用?

imtoken钱包下载注册教程 2023-04-12 05:23:08

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

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

总之比特币采用的哈希算法是,哈希算法将任意长度的字符串映射到较短的固定长度。 使用比特币 SHA-256 摘要算法给出任意长度的输入 256 位输出。 哈希算法在加密货币中有哪些应用?

加密散列函数

数据结构

矿业

加密哈希函数:

加密哈希函数具有以下特征:

确定性:无论在同一个哈希函数中分析多少次,相同的输入 A 总是产生相同的输出 h(A)。

高效运行:计算哈希值的过程是高效的。

反图攻击(隐藏):给定输出结果h(A),对输入A进行逆推,计算不可行。

防碰撞(弱碰撞抵抗):对于任意给定的A和B,要找到满足B≠A且h(A)=h(B)的B在计算上是不可行的。

影响小变化:输入中的任何小变化都会对哈希函数的输出产生重大影响。

难题友好性:对于任何给定的哈希码 Y 和输入值 x,找到满足 h(k|x)=Y 的 k 值在计算上是不可行的。

加密哈希函数对区块链的安全性有很大帮助。

数据结构:

区块链中有两种数据结构非常需要理解:链表和哈希指针。

链表:链表就是一个数据块,如下图所示:

1.png

链表中的每个块都通过指针指向另一个块。

指针:指针是包含其他变量地址的变量。 所以,就像它的名字一样,指针指向其他变量。

哈希指针:哈希指针不仅有其他变量的地址,还有变量中数据的哈希值。 那么比特币采用的哈希算法是,这对区块链有何帮助?

如下所示:

2.png

区块链本质上是一个链表,每个新区块都包含一个哈希指针。 这个指针指向之前和所有数据的散列。 区块链具有不可篡改的特性。

如何让区块链不可变?

假设有人试图篡改块 #1 中的数据。 请记住,加密哈希函数的一个重要特征是输入中的任何微小变化都会显着影响哈希函数的输出。

那么,即使有人试图巧妙地重写区块 1 中的数据,存储在区块 2 中的区块 1 的哈希值也会发生巨大变化。这反过来会导致区块 #2 的哈希值发生变化,从而影响哈希存储在块 #3 中。 以此类推,整个区块链上的数据最终都会发生变化。 通过冻结整个链条来修改数据几乎是不可能的。 因此,区块链被认为是不可变的。

每个区块都有自己的 Merkle 根(Merkle

根)。 现在,如您所知,每个区块都包含多个交易。 如果这些交易是线性存储的,那么在所有交易中寻找特定交易的过程将变得非常冗长。

这就是我们使用 Merkle 树的原因。

3.png

在 Merkle 树中,所有单独的交易都可以通过哈希算法追溯到同一笔交易。 这使得搜索非常容易。 所以如果我们想获取一个区块中的特定数据,我们可以直接在 Merkle 树中线性访问查找哈希值。

4.png

矿业

密码学谜题用于挖掘新区块,因此哈希算法仍然非常重要。 它通过调整难度值的设置来工作。 然后,将一个名为nonce的随机字符串添加到新块的哈希值中,然后将其添加到哈希值中。 然后,检查它是否低于设置的难度值。 如果更低,一个新的区块将被添加到链中,矿工将得到奖励。 如果不低,矿主会继续修改字符串nouce,直到出现低于难度的值。

如您所见,哈希算法是区块链和密码经济学的重要组成部分。

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