区块链中的哈希函数是什么?
我们知道,比特币只能通过挖矿进入数字市场。它是一种创建为点对点货币的加密货币,可以在不使用任何银行或支付网关的情况下进行交易。当进行这些交易时,它们使用公开分布式账本进行记账,该账本记录了对每个比特币进行的所有交易。
每次进行交易时,都会创建一个新的区块。每个新区块将由矿工验证并添加到区块链中。哈希函数的作用在于使区块链安全。
什么是哈希?
哈希是使用数学算法将任意长度的字符串输入转换为固定长度文本的过程。无论输入的大小如何,它都只会产生固定长度的输出。
Input + Mathematical algorithm (Hash function) = Hash value
在加密货币中,使用 SHA 256(具有 256 位的安全哈希算法)或 SHA512 来创建哈希值。
哈希值有一些特定的特征:
相同的输入始终会创建相同的哈希值。即使是很小的更改也会产生新的哈希值。
Hello World
d2a84f4b8b650937ec8f73cd8be2c74add5a911ba64df27458ed8229da804a26
Hello World
1894a19c85ba153acbf743ac4e43fc004c891604b26f8c69e1e83ea2afc7c48f
在这里我们可以看到,即使字母“w”的大小写发生微小变化,也会产生完全不同的哈希值。这使得哈希值独一无二、不可篡改且安全。
任何长度的输入都会在哈希值中始终创建相同长度的文本。
哈希值创建的速度在区块链中也很重要。
哈希值非常安全。从输出中获取输入值极其不可能。它也是一个不可逆的单向过程。一旦数据通过哈希函数并创建哈希值,您将丢失所有输入数据。
在区块链中,哈希用于将区块彼此连接并创建链。添加到区块链中的每个新区块都将包含交易的详细信息——金额、发送方和接收方的地址、时间戳,最重要的是作为哈希值存储的前一个区块(交易)的信息。所有这些信息再次转换为交易 ID,它是该特定区块的哈希值。
前一个区块信息 + 当前区块的交易 = 当前区块的哈希值。
以这种方式,它创建了一种牢不可破的依赖关系。根据当前区块的哈希值,您可以追溯前一个和下一个区块。因此,哈希函数使区块链成为一个安全、不可变和透明的网络,这是加密货币的核心。哈希的概念使区块链具有革命性和独特性。
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP