哈希是区块链安全的基础:密码学魔法是如何工作的

如果您曾经想知道区块链是如何保护交易免受伪造的,答案就在哈希函数的深处。哈希是将任何数据转换为唯一的、固定大小的符号集的基础技术。简单的概念,但正是它让整个加密货币生态系统变得可靠。

什么是哈希?

在基础层面上,哈希是一个过程,程序接受任意大小的信息并输出固定大小的结果。这个结果是通过称为哈希函数的数学运算形成的。尽管存在许多种哈希函数,但加密版本改变了加密货币的游戏规则。

确定性——这就是哈希使其如此宝贵的原因。这意味着一个简单的事情:如果输入数据保持不变,那么哈希结果将始终相同。这种特性被称为哈希或摘要。

与普通哈希函数不同,加密变体被设计为单向函数。换句话说,从输入中轻松得到输出,但几乎不可能进行反向操作——仅通过输出找到输入。正是这种不对称性确保了安全性。

哈希函数在实践中如何工作?

每个哈希函数生成固定大小的输出。例如,SHA-256算法始终产生256位的结果,而SHA-1则生成160位。这与您通过函数传递的字符数无关。

为了理解影响的规模,我们来看看一个实际的例子。如果将"Binance"和"binance"这两个词通过SHA-256处理:

  • 币安→ f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191
  • 币安→ 59bba357145ca539dcd1ac957abc1ec5833319ddcae7f5e8b5da0c36624784b2

即使是(注册一个字母的最小变化)也会导致完全不同的结果。然而,两个结果的大小都是64个字符,或256位。

如果将同样的话通过SHA-1处理:

  • 币安→ 7f0dc9146570c608ac9d6e0d11f8d409a1ee6ed1
  • 币安 → E58605C14A76FF98679322CCA0EAE7B3C4E08936

SHA-1 的结果短于 (40 个字符),但原理保持不变。无论您重复操作多少次,结果都是相同的。

SHA的缩写代表安全哈希算法。这是一个包括SHA-0、SHA-1、SHA-2组和SHA-3的加密函数系列。目前,只有SHA-2和SHA-3被认为是安全的,因为早期版本中发现了漏洞。

为什么哈希对加密货币如此重要?

普通哈希函数用于数据库搜索、大文件分析和信息管理。但加密版本的应用范围要广泛得多——用于身份验证、数字签名和数据完整性控制。

在比特币的背景下,哈希不是仅仅一个辅助工具。它融入了网络的每一个方面:从地址生成到挖矿过程,再到将区块链接成链。

真正的哈希力量在处理大量数据时显现出来。您可以将其通过哈希函数,而不是存储和验证所有信息,从而获得一个紧凑的“指纹”。如果这个指纹与基准匹配,则数据未被更改。这消除了记忆和传输大文件的必要性。

在区块链中,几乎所有的加密货币协议都依赖于哈希来将一组交易组合成区块,并在连续的区块之间建立加密联系。正是这些操作构成了链条。

三个加密哈希函数的关键属性

为了使加密哈希函数被认为是可靠的,它必须满足三个关键特性。

抗冲突性

冲突发生在两个不同的输入生成相同的哈希时。从技术上讲,冲突对任何哈希函数都是不可避免的——因为输入是无限的,而输出是有限的。但是,如果找到这种冲突的概率如此之小,以至于需要数百万年的计算时间,哈希函数被认为是抗冲突的。

SHA-256 — 一个几乎被认为是无碰撞的函数示例。然而,SHA-0 和 SHA-1 已不再被认为是安全的,因为它们被发现存在漏洞。只有 SHA-2 和 SHA-3 组保持抗碰撞的状态。

对首次预览的抵抗力

这个特性与单向函数的概念密切相关。如果你有一个哈希,几乎不可能找到生成它的输入数据。攻击者必须通过试错方法遍历数十亿种组合。

这个特性对保护密码至关重要。许多在线服务存储的不是密码本身,而是它们的哈希值。即使数据库落入恶意攻击者之手,他们也无法恢复原始密码。

对第二个原始视角的抗性

这种攻击方式比之前的更复杂。攻击者有第一个输入及其哈希,然后试图找到第二个输入以生成相同的哈希。与简单的暴力破解不同,这里需要针对特定哈希进行有针对性的工作。

逻辑上,抗碰撞的函数也应该抵御这种攻击——因为后者总是意味着找到碰撞。但是,即使在抗碰撞函数中,也可以找到原像,因为它不需要两个随机输入。

哈希在比特币挖矿中的作用

挖矿不仅仅是获取新币的过程。这是一个复杂的操作,在每个阶段都充满了哈希函数:从检查余额到将交易链接到梅克尔树。

Bitcoin保持安全的关键原因在于挖矿的计算成本。矿工必须执行大量哈希操作,以找到下一个区块的正确解决方案。

在创建区块候选者的过程中,矿工会尝试多个不同的输入。只有当区块的哈希以特定数量的零开头时,它才被视为有效。这个零的数量决定了挖矿的难度,并会动态调整。

网络哈希率是所有参与者的总计算能力。当哈希率上升时,比特币协议会自动提高难度,以保持平均区块搜索时间在10分钟左右。如果哈希率下降,难度会降低,减轻工作负担。

重要的是要指出,矿工们并不寻找冲突。相反,他们在许多可能的解决方案中寻找一个有效的输出,这些解决方案符合当前的难度阈值。对于每个区块,存在多个有效的哈希,矿工必须找到至少一个。

正是这项计算工作使得欺诈行为变得不可能。如果有人想伪造交易历史,他必须重新计算从攻击时刻到今天的所有区块——这在经济上是不可行的。加入网络的矿工越多,攻击就越复杂,链条就越可靠。

结论

哈希化不仅仅是数学游戏。这是所有加密资产和分布式系统的基础。加密哈希函数以以前不可能的方式提供安全性、数据不可变性和身份验证。

理解这些功能如何运作并不是一项学术练习。这是理解区块链为何如此难以被破解、您的资金为何受到保护以及去中心化系统如何在没有中央管理机构的情况下存在的关键。对于任何希望更深入了解加密生态系统的人来说,关于哈希的知识是绝对必要的。

BTC4.46%
查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 评论
  • 转发
  • 分享
评论
0/400
暂无评论
交易,随时随地
qrCode
扫码下载 Gate App
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)