曾经想过为什么区块链能如此安全?大部分答案都在一个叫做哈希的基本概念里。那么,什么是真正的哈希呢?



简化版:哈希是将任何长度的输入通过特定的数学公式转换成固定长度输出的过程。想象你有一份超长的文件或大文件。通过哈希函数,所有这些都可以压缩成一串长度始终相同的数字-字母字符串。很酷吧?

那么,让哈希在加密世界中如此强大,是因为它的确定性。也就是说,只要输入不变,哈希算法就会始终产生完全相同的输出。如果你用SHA-256 (比特币使用的哈希算法)对“Binance”这个词进行哈希,结果将始终是f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191。永远不会变。

但只要改一个字母,比如变成“binance” (第一个字母小写),输出就会瞬间变成59bba357145ca539dcd1ac957abc1ec5833319ddcae7f5e8b5da0c36624784b2。输入的微小变化,输出会发生巨大变化。这就是哈希在验证数据完整性方面的作用。

SHA-256总是产生256位 (64个字符)的输出,而SHA-1则是160位。不管输入多大,输出都保持一致。这一点非常重要,因为它允许系统在不存储全部数据的情况下验证大量数据的完整性。

那么,为什么哈希对加密货币如此关键?因为比特币中的哈希不仅仅是普通的哈希,而是加密哈希。这是一种单向函数,不能轻易逆转。很容易从输入生成输出,但逆向几乎不可能。要“反向”破解加密哈希,攻击者必须进行数百万次试错,耗费大量时间,几乎不现实。

加密哈希具有三大安全特性。第一,抗碰撞性:找到两个不同输入但哈希相同的情况非常困难。第二,预像抗性:几乎不可能只凭输出反推出输入。第三,第二预像抗性:找到另一个输入产生相同哈希的难度很大。

在各种SHA算法中,只有SHA-2和SHA-3目前仍被认为是安全的。SHA-0和SHA-1因为碰撞已被成功找到,已逐渐被淘汰。

在比特币的背景下,哈希无处不在。矿工多次进行哈希运算,试图找到满足条件的区块解决方案。他们必须尝试不同的输入,直到得到以一定数量的零开头的哈希。这个零的数量决定了挖矿难度。随着网络哈希率的提高,比特币会自动调整难度,确保区块时间大约为10分钟。反之,矿工减少时,难度会降低。

有趣的是,矿工不需要找到唯一的碰撞。只要生成的哈希满足阈值,就算有效解。因此,每个区块可能有多个有效解,矿工只需找到其中一个。

由于比特币挖矿成本很高,矿工没有动力去作弊,否则会造成巨大财务损失。相反,加入的矿工越多,区块链就越庞大、越安全。

总结一下,哈希是区块链安全的基石。没有强大的加密哈希函数,比特币和其他加密网络无法达到如今的完整性和安全水平。对于任何认真学习区块链的人来说,理解哈希的工作原理是基础知识。
ADA-4.92%
SUPER-3.75%
BTC-2.74%
查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 评论
  • 转发
  • 分享
评论
请输入评论内容
请输入评论内容
暂无评论