什么是哈希?哈希函数与加密货币挖矿

  |  

什么是哈希值?

哈希是一种数学函数,它将任意长度的输入转换为固定长度的加密输出。因此,无论原始数据量或文件大小如何,其唯一的哈希值始终保持不变。此外,哈希值不能用于从哈希输出“逆向工程”原始输入,因为哈希函数是“单向的”(就像绞肉机一样;你无法将绞碎的牛肉重新变成牛排)。但是,如果对相同的数据使用哈希函数,其哈希值将保持不变,因此,如果您已经知道哈希值,则可以验证数据是否相同(即未被篡改)。

哈希对于加密货币的区块链管理也至关重要。

要点总结

  • 哈希函数满足加密对信息安全的要求。
  • 哈希值的长度是固定的,因此如果有人试图破解区块链,几乎不可能猜出哈希值。
  • 相同的数据总是会产生相同的哈希值。
  • 哈希是区块链网络的基础之一。
  • 哈希值是根据区块头中包含的信息生成的。

灰烬的工作原理

典型的哈希函数接受可变长度的输入,并返回固定长度的输出。加密哈希函数结合了哈希函数的消息传递能力和安全特性。哈希函数是决定信息加密方式的算法。

例如,安全哈希算法 256 (SHA-256) 通过以下过程对接收到的输入进行加密:

  • 将其转换为二进制
  • 创建哈希值
  • 初始化常量
  • 将数据分块成比特
  • 创建消息计划
  • 运行压缩循环
  • 修改最终值

使用 SHA-256 算法,“Hello”一词的输出结果与“Hello world”和“Hello John”的输出结果字符数相同(均为 64)。然而,这三个词的哈希值却截然不同——请注意,大写字母也会影响哈希值:

  • 你好:185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969
  • 你好世界:64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c
  • 你好约翰:a8119595d77342cc73c93697a7f70920d3f4ded5d458e31907607e997ff76868

用于生成哈希值的函数是确定性的,这意味着每次使用相同的输入都会产生相同的结果。SHA-256 可以在几毫秒内生成哈希输出,且计算能力非常有限,但同时也使得确定原始输入变得十分困难。这使得哈希成为保护加密货币的理想选择,因为即使使用现代技术,也需要数千年才能逆向加密以确定原始输入。

哈希函数是计算机系统中常用的数据结构,用于检查消息的完整性和验证信息的真实性等任务。加密哈希函数增加了安全特性,使检测消息或信息的内容更加困难。

具体而言,加密哈希函数具有以下三个特性:

  • 它们不会发生冲突:这意味着任何两个不同的输入哈希值都不应该映射到同一个输出哈希值。
  • 它们可以被隐藏:很难从哈希函数的输出中猜出其输入值。
  • 它们应该便于解谜:应该难以选择一个能产生预定义输出的输入。因此,输入应该选自尽可能宽泛的分布。

由于哈希算法具有这些特性,因此被广泛应用于网络安全领域——从保护密码到检测数据泄露,再到检查下载文件的完整性。

哈希和加密货币

加密货币的核心是区块链,它是一个全球分布式账本,通过哈希算法将各个交易数据块链接在一起。区块链只包含经过验证的交易,从而防止欺诈交易和双重支付加密货币挖矿和验证都涉及对这种哈希算法的运算。

解决加密货币哈希问题首先使用前一个区块的区块头作为输入,并生成一个哈希值。每个区块头包含版本号、时间戳、前一个区块中使用的哈希值、默克尔根的哈希值、随机数和目标哈希值。

目标是生成一个小于或等于网络目标哈希值的哈希值。哈希值中包含一个称为 nonce 的数字序列,该序列只使用一次。挖矿程序会关注 nonce,第一次尝试时 nonce 的值为零。如果尝试失败,程序会将 nonce 加 1,然后再次生成哈希值。每次失败后,程序都会将 nonce 加 1,直到生成一个小于或等于目标哈希值的哈希值,此时该哈希值就被接受为有效解。

解决哈希问题需要矿工不断尝试生成正确的值,这需要大量的反复试验。成功解决哈希问题的矿工将获得奖励,并且该区块将被添加到区块链中。

矿工第一次就成功生成正确 nonce 的可能性极低,这意味着矿工可能需要尝试大量的 nonce 选项才能找到正确的值。难度越高(衡量生成满足目标哈希要求的哈希值的难易程度),生成解决方案所需的时间就越长。

什么是哈希函数?

哈希函数是一种算法,它将给定的一组数据转换或“映射”成固定大小的比特串,也称为“哈希”。

哈希值是如何计算的?

哈希函数利用复杂的算法,将任意长度的数据转换为固定长度(例如 256 个字符)的数据。如果原始数据中任意一位发生改变,整个哈希值都会随之改变,因此可用于验证数字文件和其他数据的真实性。

区块链中哈希值有什么用途?

哈希值在区块链系统的多个部分都有应用。每个区块头都包含前一个区块的哈希值,这确保了在添加新区块时,现有数据未被篡改。加密货币区块链使用哈希值来保护信息安全,并使账本不可篡改。

归纳总结

在加密货币区块链中,哈希值是一个确定性的十六进制数。这意味着无论输入的数据有多少个字符,哈希值始终是相同长度的字符。例如,比特币的哈希值始终为 64 位。

哈希值用于保护信息安全——在加密货币领域,它用于确保区块链区块中包含的数据不被篡改。当网络参与者尝试生成小于网络目标哈希值的哈希值时,他们便会对哈希函数加密的信息进行验证。一旦达到目标哈希值,网络就会关闭该区块——共识是在区块关闭后达成的,因为即使哈希值已被解决,网络仍会继续验证交易和区块信息。

推荐阅读

相关文章

Meta:1.5 亿美元用于 Metaverse 教学

Meta ,前身为 Facebook,已决定投资 1.5 亿美元用于沉浸式学习项目,该项目基本上是通过虚拟校园在虚拟世界中制作课程和教学。为此,似乎将为超过 45,000 名学生开设多达 10 个虚拟大学校园。为此,Meta 决定与美国虚拟现实公司Victoryxr建立合作伙伴关系。

新的萨尔瓦多稳定币即将问世

为萨尔瓦多比特币海滩钱包提供支持的开源平台 Galoy 宣布推出一种与美元挂钩的新型合成稳定币。萨尔瓦多发行的新稳定币即将推出周三,萨尔瓦多银行平台Galoy于 2020 年 11 月在萨尔瓦多El Zonte 镇推出了比特币海滩钱包,宣布推出与美元挂钩的新稳定币。新的稳定币将是由比特币抵押并与美元价值挂钩的合成美元。

法国:加密货币赞助商从 F1 大奖赛中移除

在一级方程式法国大奖赛上,由于法国广告法规的不确定性,许多国际车队被迫掩盖与加密相关的赞助商和徽标。法国:要求在 F1 中删除与加密相关的广告据报道,似乎法国对各种产品广告法规的不确定性也针对加密货币,迫使许多国际 F1 车队在大奖赛周末取消并覆盖其加密赞助商。

比特币的工作原理

如何对比特币进行具体分类是一个有争议的问题。它是一种货币、一种价值存储手段、一种支付网络,还是一种资产类别?幸运的是,定义比特币实际上是什么更容易。它是一种软件,是一种纯粹的数字现象——一组协议和流程。这也是数百次利用加密技术创造虚拟货币的尝试中最成功的一次。

比特币挖矿如何运作?

什么是比特币挖矿?比特币挖矿是新比特币进入流通的过程。这也是网络确认新交易的方式,是区块链账本维护和开发的关键组成部分。“挖矿”使用复杂的硬件来解决极其复杂的计算数学问题。第一台找到问题解决方案的计算机将收到下一个比特币区块,然后重新开始该过程。加密货币挖矿既费力又费钱,而且回报也只是偶尔有。

NFT 与环境

非同质化代币(NFT)会危害环境吗?您可能听说过非同质化代币 (NFT) 及其对环境的影响。尽管 NFT 本身不会对环境造成任何影响,但它们对气候的影响可能与其生产方式有关。 NFT 的创建方式可能非常耗能。

相关词条

什么是跨链桥?

跨链桥详解跨链桥是一种软件应用程序,可实现不同区块链之间的交易。如果有人想在区块链网络之间转移加密货币、非同质化代币 (NFT)或其他数字资产,跨链桥是该过程的重要组成部分。虽然大多数数字资产都与特定的区块链绑定,但跨链桥可以实现网络间交易,为更广泛的数字生态系统提供支持。

热钱包定义

什么是热钱包?热钱包是一种始终连接到互联网和加密货币网络的加密货币钱包。热钱包用于发送和接收加密货币,并允许您查看有多少代币可供使用。重点摘要热钱包是一种始终连接到互联网的钱包;它们允许您存储、发送和接收代币。热钱包与公钥和私钥相连,有助于促进交易并充当安全措施。

不可替代的代币定义:理解 NFT

什么是不可替代代币 (NFT)?不可替代代币 (NFT) 是区块链上的加密资产,具有唯一的识别码和元数据,可将它们彼此区分开来。与加密货币不同,它们不能以等价交易或交换。这与加密货币等可替代代币不同,它们彼此相同,因此可以作为商业交易的媒介。你需要知道的NFT 是存在于区块链上且无法复制的独特加密代币。

如何购买 Telcoin (TEL)

如何购买 Telcoin (TEL) Telcoin 是一种为 TELx 网络提供动力的数字货币,允许用户在没有中介的情况下在全球范围内转移支付。以下是有关如何购买 Telcoin 的一些步骤。第 1 步:寻找交易所。您可以在加密货币交易所购买 Telcoin。

比特币挖矿

什么是比特币挖矿?比特币挖矿是通过解决难题来创造新比特币的过程。它由配备专用芯片的计算系统组成,这些计算系统相互竞争,以解决数学难题。第一个解决难题的比特币矿工(这些系统被称为矿工)将获得比特币奖励。挖矿过程还会确认加密货币网络上的交易,并使其值得信赖。

区块(比特币区块)

什么是区块(Blockchain Block)?块是区块链数据库中的数据结构,其中永久记录加密货币区块链中的交易数据。一个块记录了一些或所有尚未被网络验证的最新交易。验证数据后,将关闭块。然后,为要输入和验证的新交易创建一个新块。因此,块是记录的永久存储,一旦写入,就无法更改或删除。