主页 > imtoken官方网站 > 区块链中的哈希值是什么(哈希算法是什么的解读)

区块链中的哈希值是什么(哈希算法是什么的解读)

imtoken官方网站 2024-01-08 05:11:31

比特币的区块链将块存储在线性“链”中,每个块在数学上都指向前一个块。 这样,即使块没有明确编号,块的顺序也是明确的。

这些块通过数字相互连接。 具体来说,比特币使用一种称为散列的数学技术。 例如,将文字、数字、比特币区块等一堆信息输入哈希算法,算法会输出这些信息的一个简短“指纹”。

比特币怎么比特币钱包_比特币分叉对比特币的影响_比特币哈希值

事实上,人类长期以来一直在使用哈希值,例如首字母缩写。 一个很长的英文名字很容易被压缩成几个字母。 例如,将“John Fitzgerald Kennedy”的长名更改为“JFK”的短名。 有一个输入(全名)、一个散列函数(获取某人姓名首字母的过程)和一个输出或散列值(姓名首字母)。 计算机使用的散列函数更加多样,其中最流行的是MD5算法和SHA-256算法,它们的核心思想是一样的:大数据输入变成小输出。

在比特币中,每个块都有一个关联的哈希值。 每个块的哈希值部分基于它之前的块的哈希值。 这样,每个块都指向它的前一个块。 所以,如果你有一个无序列表的块和一个与之关联的哈希表,你可以很容易地对块进行排序,就像一个人可以通过看情节来安排书页一样。

比特币哈希值_比特币分叉对比特币的影响_比特币怎么比特币钱包

比特币哈希值_比特币怎么比特币钱包_比特币分叉对比特币的影响

哈希表中的数字和字母是怎么回事? 哈希以十六进制写成 [4]。 实际字符长度也比 4 个字符长得多,但我们的缩短版本足以作为示例。 因此,比特币以块的形式批量处理交易,并以链的形式将它们相互连接起来。 区块遇上链。

比特币怎么比特币钱包_比特币分叉对比特币的影响_比特币哈希值

让我们回顾一下我们基于哈希的区块链系统,您会注意到它实际上并不需要将块放入线性链中。 没有什么能阻止一个给定的块后面跟着两个或更多块。 因此,区块链不一定是线性链。 事实上,区块链一般不是线性链。 区块链看起来更像是一棵“区块树”,有“树干”和“树枝”。

当两个矿工同时挖出一个区块时,区块树有时会产生一个新的分支。 这种情况很少见,但确实会发生。 发生这种情况时,两笔交易与最近的一笔交易发生分歧,并创​​建一个新的区块分支。 为保证线性官方历史,比特币使用称为“最长链原则”的经验法则。 该定律指出,“块树”中块数最多的分支是官方区块链。 最长的链决定了你有多少钱,过去发生过什么交易等等。如果某件事不在最长的链上,它就不会发生。

比特币怎么比特币钱包_比特币分叉对比特币的影响_比特币哈希值

运行在比特币用户电脑上的比特币软件执行最长链原则,只向矿工支付在最长链上添加一个区块的费用。 这通常足以让矿工保持秩序。 但是比特币哈希值,它有一个副作用。 如果两个矿工同时挖出一个区块,会产生两个分支,但只有一个分支获胜,成为最长链。 另一个分叉成为“孤儿”并被遗弃,而在那个分叉底部开采区块的倒霉矿工将不会得到任何钱。 这种“孤儿”事件一天发生几次。

但是最长链原则仍然存在安全漏洞。 如果一个流氓矿工创造了一个新的分叉并且可以比其他矿工更快地开采区块,从而使他的分叉比合法的分叉更长怎么办? 嗯,歪的矿工叉会是最长的链,所以会是官方的区块链。 他的欺诈链上的所有区块都将成为正式历史,而合法链上的一些区块将被丢弃。

比特币哈希值_比特币怎么比特币钱包_比特币分叉对比特币的影响

当然比特币哈希值,让骗子控制区块链会造成很多混乱,这也可能导致欺诈。 想象一下,不法矿工用比特币购买价值数千美元的商品,并将交易放在区块链上。 然后他执行攻击,构建一条比官方区块链更长的新链。 他支付给商家的交易数据会被丢弃,因为这些交易数据所在的区块不在最长链上。 就好像他一开始就没有付钱一样。 所以,他最终得到了所有商品,但从未付钱!

为了解决这个问题,中本聪采用了“工作量证明”的方法,也就是说,如果你要创建一个区块,你需要正确计算出一个哈希值,但除非你控制了整个网络足够的算力,否则你很难连续几次成为第一个计算哈希值的幸运儿。 而你要做到这一点,你要花太多的钱去配置机器和算力,那么你能骗到多少比特币来支付这笔钱呢? 骗那么多比特币基本上是不可能的,而且一旦骗得成功,比特币的名声就会下降,你骗的比特币可能就一文不值了,你花大价钱买的算力和机器也都白白浪费了。