在比特币协议中,由于挖掘,所谓的哈希函数被广泛用于向区块链添加新块。 通常,从技术角度来看,哈希函数是一种从任意长度的数据开始生成固定长度的哈希的算法。该哈希是一个十六进制代码,代表用于生成它的原始数据包,并且通常长度要小得多。 该功能的主要用途是创建一个相对较短的合成代码,以表示更大的数据包。由于此过程(如果以这种方式完成)不可避免地会导致数据丢失,因此实际上是不可逆的:不可能跟踪用于从哈希生成数据的数据包。 比特币用于哈希函数的算法是SHA-256,它会生成256位哈希,并且需要计算机可预测的工作量。 为了向比特币区块链添加一个新块,将包含等待等待确认的在内存池中排队的交易的数据包用作哈希函数的输入。 但是,矿工的任务不仅是生成此输入的哈希,而且还要生成以一定数量的附加零开始且与输入数据包相对应的哈希。 实际上,尽管不可能跟踪从散列生成数据的数据,但是仍然可以重复该操作以验证其是否已正确执行。这样,由于在区块中输入的所有交易数据都是公开的,因此任何人都可以使用SHA-256验证矿工产生的哈希是否正确。只有正确才将区块实际添加到区块链中,矿工将获得奖品。 哈希函数和挖掘难度 附加零的数量每两周变化一次,这与所谓的难度相对应:所需的零越多,查找散列的难度就越大,花费的时间就越长。 为了找到带有附加零的哈希,矿工只能尝试尝试其他任何事情,这就是为什么计算能力在挖掘过程中起着至关重要的作用的原因。 实际上,由于每个区块都可以由一个矿工开采,并且仅将奖励提供给能够找到确认该区块的哈希的矿工,因此实际上会产生一种竞争,在这种竞争中,拥有更多权力的人会更受青睐计算。 另外,即使对输入数据的最小更改也会产生完全不同的哈希,因此唯一的处理方法是在最短的时间内处理尽可能多的哈希,每秒执行多次哈希函数。 例如,散列速率为130 Ehash / s意味着试图在全球范围内挖掘比特币区块的机器每秒执行总计130 Exa散列功能,即1.3亿亿亿(或1300亿) 。 比特币协议还使用哈希函数来生成交易的哈希,即用于识别每个单独交易的唯一标识符。 —- 原文链接:https://cryptonomist.ch/2020/05/07/bitcoin-cose-hash-function/ 原文作者:Marco Cavicchioli 编译者/作者:wanbizu AI 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
比特币:什么是哈希函数? -密码学家
2020-05-07 wanbizu AI 来源:区块链网络
LOADING...
相关阅读:
- 以太坊和Reddit:5天挑战2020-08-05
- 唯链与ADIL联手开发新的食品供应链解决方案2020-08-04
- 区块链神算子:8.4晚间行情弱势震荡 后续操作切勿追涨杀跌2020-08-04
- 根据区块链安全审计员的说法,卡尔达诺将与雪莱硬叉一起领先Tezos2020-08-04
- ETH2.0:最终测试网的推出2020-08-04