🍁 金秋送福,大奖转不停!Gate 广场第 1️⃣ 3️⃣ 期秋季成长值抽奖大狂欢开启!
总奖池超 $15,000+,iPhone 17 Pro Max、Gate 精美周边、大额合约体验券等你来抽!
立即抽奖 👉 https://www.gate.com/activities/pointprize/?now_period=13&refUid=13129053
💡 如何攒成长值,解锁更多抽奖机会?
1️⃣ 进入【广场】,点头像旁标识进入【社区中心】
2️⃣ 完成发帖、评论、点赞、社群发言等日常任务,成长值拿不停
100% 必中,手气再差也不亏,手气爆棚就能抱走大奖,赶紧试试手气!
详情: https://www.gate.com/announcements/article/47381
#成长值抽奖赢iPhone17和精美周边# #BONK# #BTC# #ETH# #GT#
哈希:加密货币中的关键元素
哈希过程是指从可变输入生成固定大小输出的过程。这是通过称为哈希函数的数学公式实现的,作为算法实现。
在加密货币领域,哈希加密函数是基础。正是由于它们,区块链和其他去中心化系统达到了高水平的数据完整性和安全性。
传统哈希函数和加密哈希函数都是确定性的。这意味着,如果 input 没有改变,算法将始终产生相同的输出(también称为 digest 或 hash)。
一般来说,加密货币中的哈希算法被设计为单向函数,这意味着它们无法在没有大量时间和计算资源的情况下轻易逆转。也就是说,从输入获得输出是简单的,但做相反的事情则非常复杂。找到输入的难度越大,算法被认为就越安全。
哈希函数的工作原理
每个哈希函数产生特定大小的结果,对于每个算法都是恒定的。例如,SHA-256始终生成256位的输出,而SHA-1生成160位的摘要。
为了说明这一点,我们将应用在比特币中使用的SHA-256算法(到单词"Gate"和"Gate":。
SHA-256
入口
出发)256 bits(
大门
8a83f205f3c314f629e3a0128f5f404cfd44b9a95da6d9f1a7b9f50d1f1b3b34
Gate
7f7e4cf2eb50a0ea9d71edc37d6a1e74cf5e9348f7f9a0321b95e0a8e4097b3e
观察到最小的变化 ) 首字母大写( 会导致一个完全不同的哈希。然而,使用 SHA-256 时,输出始终将是 256 位 )64 个字符(,无论输入的大小。此外,无论我们处理这些词多少次,结果将保持不变。
相反,如果我们对相同的输入应用 SHA-1 算法,我们将得到:
SHA-1的
输入
出发)160 bits(
门
3e2a7fe40ac63dbe0a46a6931c74c1d4e6b7447d
Gate
c1b7368da4b8ef83dbf7ca3d3c3d17e65d799708
重要的是要强调,SHA代表安全哈希算法,指的是一组加密哈希函数,包括SHA-0、SHA-1以及SHA-2和SHA-3组。SHA-256属于SHA-2组,与SHA-512和其他变体一起。目前,只有SHA-2和SHA-3组被认为是安全的。
哈希的重要性
传统的哈希函数有多种用途,例如数据库搜索、大型文件分析和信息管理。另一方面,密码学哈希函数广泛应用于信息安全、消息认证和生成数字指纹。在比特币中,它们对挖矿过程以及新地址和密钥的生成至关重要。
哈希的真正潜力在于处理大量数据。例如,可以通过哈希函数处理一个大型文件或数据集,并利用其输出快速验证信息的准确性和完整性。这得益于哈希函数的确定性特性:相同的输入总是会产生相同的压缩输出。这种技术消除了存储和“记住”大量信息的需求。
哈希在区块链技术中特别有用。比特币区块链涉及大量的哈希操作,主要是在挖矿过程中。实际上,几乎所有的加密货币协议都基于哈希来链接和压缩交易组到区块中,以及在区块之间创建加密链接,从而有效地形成一条链。
加密哈希函数
一种实现加密技术的哈希函数称为加密哈希函数。一般来说,攻破这些函数需要无数次的暴力尝试。要“逆转”一个加密哈希函数,必须通过试错来猜测输入,直到获得相应的输出。然而,不同的输入有可能产生完全相同的结果,这被称为“碰撞”。
技术上,密码学哈希函数必须满足三个属性才能被认为是有效安全的:抗碰撞性、抗预映像性和抗第二预映像性。
我们将这些属性总结为三句话:
抵抗碰撞:找不到两个不同的输入生成相同哈希作为输出是不可行的。
预映像抗性:无法 "反转" 哈希函数 ) 找到特定输出的输入 (.
对第二预像的抗性:无法找到与特定输入发生冲突的第二输入。
) 抗碰撞性
当不同的输入产生完全相同的哈希时,就会发生碰撞。哈希函数被认为是抗碰撞的,直到有人找到一个为止。重要的是要注意,对于任何哈希函数,总会存在碰撞,因为可能的输入是无限的,而输出是有限的。
在实践中,当找到哈希冲突的概率低到需要数百万年的计算时,哈希函数被认为是抗碰撞的。因此,尽管不存在完全没有碰撞的哈希函数,但有些函数足够强大,可以被认为是抗碰撞的,例如,SHA-256。
在SHA算法中,SHA-0和SHA-1组由于发现了碰撞而不再被认为是安全的。目前,SHA-2和SHA-3组被认为是抗碰撞的。
预映像抵抗
抗预映像的属性与单向函数的概念有关。当一个哈希函数被认为是抗预映像时,意味着几乎没有可能性有人找到生成特定输出的输入。
该属性与前者不同,因为这里的攻击者会尝试通过观察特定输出来猜测输入。相反,碰撞发生在找到两个不同的输入生成相同的输出时,无论使用了什么输入。
抗预映像性对于保护数据是非常有价值的,因为消息的简单哈希可以在不透露原始信息的情况下证明其真实性。实际上,许多服务提供商和网络应用程序存储并使用基于密码生成的哈希,而不是明文密码。
( 二次预映抵抗
简单来说,我们可以说第二前像的抗性处于另外两种属性之间的中间点。第二前像攻击发生在某人能够找到一个特定的输入,该输入生成与另一个已知输入相同的输出。
换句话说,第二预映像攻击涉及找到一个碰撞,但不是寻找两个随机输入生成相同的哈希,而是寻找一个输入,该输入可以产生由另一个特定输入生成的相同哈希。
因此,任何抵抗碰撞的哈希函数也将抵御第二个预像攻击,因为后者总是涉及到一次碰撞。然而,仍然可以对抵抗碰撞的函数进行预像攻击,因为这涉及到从一个唯一的输出找到一个唯一的输入。
矿业
比特币的挖矿过程涉及多个步骤,这些步骤使用哈希函数,例如验证余额、链接交易的输入和输出,以及将交易汇总到一个区块中以形成默克尔树。然而,比特币区块链安全的主要原因之一是矿工们必须进行大量的哈希操作才能找到下一个区块的有效解决方案。
具体来说,矿工在为其候选区块创建哈希值时必须尝试不同的输入。只有当他们生成一个以特定数量的零开头的输出哈希时,才能验证他们的区块。零的数量决定了挖矿的难度,并根据分配给网络的哈希率而变化。
在这个背景下,哈希率代表在比特币挖矿中投入了多少计算能力。如果网络的哈希率增加,比特币协议将自动调整挖矿难度,以保持挖掘一个区块所需的平均时间接近10分钟。相反,如果几个矿工停止挖矿,导致哈希率大幅下降,挖矿难度将会调整,从而使挖矿)变得更容易,直到区块的平均时间再次回到10分钟###。
值得强调的是,矿工不需要找到碰撞,因为可以生成多个哈希作为有效输出###,以一定数量的零(开头。因此,对于特定的区块,可能有多个解决方案,矿工只需要找到其中之一,具体取决于挖矿难度设定的阈值。
由于比特币的挖矿是一项昂贵的任务,矿工们没有动机去欺骗系统,因为这会导致巨大的财务损失。加入区块链的矿工越多,区块链就变得越大越强健。
最终思考
毫无疑问,哈希函数是计算机科学中的基本工具,特别是在处理大量数据时。与密码学结合时,哈希算法变得多功能,并以各种方式提供安全性和身份验证。因此,密码学哈希函数对几乎所有加密货币网络都是至关重要的,理解其属性和工作机制无疑对任何对区块链技术感兴趣的人都是有帮助的。