为什么挖矿可行?让我们来看看单项加密HASH技术
为什么挖矿可行?我们来看看什么是单项加密 hash。比特币区块链通常被称之为是一个加密的、安全的且不可修改的数据库。实现这种不可修改的安全性所需的底层技术叫做“加密hash”。

加密,简而言之就是借助一种或多种算法将明文信息转换成密文信息,信息的接收方通过密钥对密文信息进行解密获得明文信息的过程。
Hash算法可以将一个数据转换为一个标志,这个标志和源数据的每一个字节都有十分紧密的关系。简单来说,它接受任何输入,将其映射称一个固定长度的字符串。
但是,这些函数需具备以下四种特性才能满足区块链加密需求:
1. 正向固定:输入任意长度字符串,只能输出固定统一长度的字符串(hash 值)。
2. 逆向困难:给定(若干)hash 值,在有限时间内很难(基本不可能)逆推出明文。
3. 输入敏感:只要对原始输入信息作出丝毫修改,则产生的hash 值就会完全不同。
4. 冲突避免:几乎不会找到两段内容不同的明文,它们的hash值是一致(发生冲突)。

Hash算法加密过程
这些特点为比特币挖矿提供了安全的技术保障。具体来说,比特币的创建者中本聪采用了 SHA-256 hash 函数作为比特币挖矿的基础。这个加密 hash 函数在数学上拥有以上四个特点。它的输出结果永远是 256 比特的数字(比特是最基本的计算单位),为了人类阅读方便,通常用 64 个字符的十六进制数表示。
SHA-256 函数的输出通常称为其输入的 hash。
hash 函数的输入会产生唯一的输出
下面是一个 SHA-256 函数的输入和输出的例子(http://www.xorbin.com/tools/sha256-hash-calculator)可以亲自尝试):
Input to SHA-256:
Output to SHA-256:
77077b1f4c3ad44c83dc0bdb8d937e9b71c0ef07a35c2664bb7da85be738eacf
有意思的是,在比特币协议中,使用 hash 的地方用的都是双 hash。这就是说,SHA-256 函数的原始输出会被放回到 SHA-256 函数中,获得另一个输出。其过程如下所示:
Input to SHA-256(first round):
Output (first round):
77077b1f4c3ad44c83dc0bdb8d937e9b71c0ef07a35c2664bb7da85be738eacf
Input to SHA-256 (second round):
77077b1f4c3ad44c83dc0bdb8d937e9b71c0ef07a35c2664bb7da85be738eacf
Output (second round and final result):
3c6c55b0e4b607b672b50f04e028a6951aed6dc97b91e103fb0f348c3f1dfa00
双 hash 可以用于防止生日攻击。生日攻击是一种密码学攻击手段,所利用的是概率论中生日问题的数学原理。生日攻击是指攻击者利用完全不同的输入生成相同的 hash(称为冲突)。这会打破上述第四个特点:冲突避免。没有了唯一性,两个完全不同的比特币区块有可能会表示成完全相同的 hash,这样攻击者就有可能会替换区块。

有了 SHA-256 函数,这种攻击可能实施的可能就几乎不可能了。否则,就可以认为 SHA-256 被攻破了。
但是,其他 hash 函数被攻破的情况以前发生过。为了防止以后 SHA-256 被攻破(这样比特币的安全模型也被攻破了),最好是对 hash 再次进行 hash。这样能降低一半冲突的概率,让协议更安全。
简单地说,比特币挖矿就是个将所有比特币交易发送给比特币矿工的过程。矿工选择一兆字节的交易,打包后作为 SHA-256 函数的输入,然后尝试寻找一个网络能接受的输出。第一个找到符合条件的输出的矿工将公布该区块到网络上,并以交易费或新比特币的形式获得一点奖励。
感谢您一直以来对Mex Group的支持与信任,若您想了解更多信息与服务,可进入Mex Group官方网站:https://cn.mexmarkets.com/
更多交流讨论进入官方汇聊群:303161,官方汇聊号:1293
若您有任何疑问,可通过以下方式联系我们,我们将竭诚为您服务:
电话:400-120-8619 (7×24小时)
邮件: cs@mexmarkets.com
IB 支持: ibsupport@mexmarkets.com
【风险披露声明】MEX Group的所有文章以及公告都是从通常可访问的数据源分析或总结获得,不应被理解为包含了个人和/或其他投资建议和/或提议和/或邀请进行任何金融工具交易和/或保证和/或预测未来的业绩。MEX Group不对任何特殊的、间接的、偶然的或后果性的损害承担责任,包括但不限于可能导致的损失或未实现的收益。任何信息如有更改,恕不另行通知。
