什么是哈希?
散列是将字母和数字的输入转换为固定长度的加密输出的功能。 哈希是使用算法创建的,对于加密货币中的区块链管理至关重要。
重要要点
- 哈希是一种功能,可以满足解决区块链计算所需的加密需求。哈希(例如随机数或解决方案)是区块链网络的主干。哈希具有固定的长度,因为它几乎无法猜测如果有人试图破解区块链,则哈希的长度。基于块头中存在的信息开发哈希。
哈希如何工作
加密货币的骨干是区块链,它是通过将各个交易数据块链接在一起而形成的全球分类帐。 区块链仅包含经过验证的交易,这可以防止欺诈性交易和货币的双重支出。 所得的加密值是一系列数字和字母,与原始数据不同,称为散列。 加密货币挖矿涉及使用此哈希。
散列需要通过数学函数处理来自块的数据,这会产生固定长度的输出。 使用固定长度的输出可提高安全性,因为任何试图解密哈希的人都无法仅通过查看输出的长度来判断输入的长度是多少。
解决散列本质上是解决一个复杂的数学问题,并且从块头中的可用数据开始。 每个块头均包含版本号,时间戳,上一个块中使用的哈希,Merkle Root的哈希,nonce和目标哈希。
矿工专注于随机数,即一串数字。 该数字将附加到前一个块的哈希内容中,然后再对其进行哈希运算。 如果此新哈希小于或等于目标哈希,则将其视为解决方案,为矿工提供奖励,并将该块添加到区块链中。
区块链交易的验证过程依赖于使用算法哈希加密的数据。
解决哈希要求矿工确定将哪个字符串用作随机数,而这本身需要大量的反复试验。 这是因为随机数是一个随机字符串。 矿工在第一次尝试中成功提出正确的随机数的可能性极小,这意味着该矿工可能会在正确之前对大量的随机数选项进行测试。 难度越大(衡量满足目标哈希要求的哈希的难易程度的度量),生成解决方案所需的时间就越长。
哈希示例
散列“ hello”将产生与“我要去商店”的散列长度相同的输出。用于生成散列的函数是确定性的,这意味着每次相同时,它将产生相同的结果使用输入。 它可以有效地生成散列输入,使确定输入变得困难(导致挖掘),并且对输入结果进行细微更改会导致无法识别的完全不同的散列。
处理加密新块所需的散列函数需要大量的计算机处理能力,这可能会非常昂贵。 为了吸引被称为矿工的个人和公司投资所需的技术,加密货币网络会向他们奖励新的加密货币令牌和交易费用。 仅当矿工是第一个创建满足目标哈希中提出的要求的哈希时,才获得补偿。