主页 > imtoken钱包怎么充值usdt > 什么是区块链哈希算法? 哈希算法在加密货币中有哪些应用?

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

imtoken钱包怎么充值usdt 2023-07-28 05:14:06

简而言之,哈希算法将任意长度的字符串映射为较短的固定长度字符串。 比特币使用 SHA-256 摘要算法为任意长度的输入提供 256 位的输出。 那么,哈希算法在加密货币中有哪些应用呢?

加密散列函数

数据结构

矿业

加密哈希函数:

加密哈希函数具有以下属性:

确定性:无论在同一个哈希函数中解析多少次,同一个输入A总会得到相同的输出h(A)。

比特币采用的主要加密算法是_比特币算法作用_比特币高频交易算法

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

反图像攻击(隐藏):对于给定的输出 h(A),反转输入 A 在计算上是不可行的。

防碰撞(弱碰撞抵抗):对于任何给定的A和B比特币采用的主要加密算法是,找到B使得B≠A且h(A)=h(B)在计算上是不可行的。

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

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

比特币采用的主要加密算法是_比特币高频交易算法_比特币算法作用

密码哈希函数对区块链安全和挖矿有很大帮助。

数据结构:

有两种数据结构对于理解区块链很重要:链表和哈希指针。

链表:链表是一个按顺序连接的数据块,如下图所示:

1.png

比特币算法作用_比特币高频交易算法_比特币采用的主要加密算法是

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

指针:指针是包含其他变量地址的变量。 因此,顾名思义,指针是指向其他变量的变量。

哈希指针:哈希指针不仅有其他变量的地址,还有该变量中数据的哈希值。 那么,这对区块链有何帮助?

区块链的组成如下图所示:

2.png

比特币高频交易算法_比特币采用的主要加密算法是_比特币算法作用

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

区块链如何实现其不变性?

假设在上图中比特币采用的主要加密算法是,有人试图篡改块 #1 中的数据。 请记住,加密哈希函数的一个重要属性是输入中的任何微小变化都会对哈希函数的输出产生巨大影响。

那么,即使有人试图对区块 1 中的数据进行轻微改写,也会导致存储在区块 2 中的区块 1 的哈希值发生巨大变化。这反过来又会导致区块 2 的哈希值发生变化,这在turn 影响存储在区块 3 中的哈希值。以此类推,最终整个区块链上的数据都会发生变化。 这种通过冻结整条链来修改数据的方式几乎是不可能做到的。 因此,区块链被认为是不可变的。

每个区块都有自己的 Merkle Root。 现在,正如您所知,每个区块都包含多个交易。 如果这些交易是线性存储的,那么在所有交易中寻找特定交易的过程将变得极其繁琐。

比特币算法作用_比特币采用的主要加密算法是_比特币高频交易算法

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

3.png

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

4.png

矿业

密码谜题用于挖掘新区块,因此哈希算法仍然至关重要。 它通过调整难度值的设置来工作。 随后,一个名为“nonce”的随机字符串被添加到新块的散列中,然后再次散列。 接下来,检查它是否低于设置的难度级别。 如果更低,那么新产生的区块将被加入链中,负责挖矿的矿工将得到奖励。 如果不是,矿工继续修改随机字符串“nouce”,直到出现低于难度级别的值。

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