哈希:从数字签名到挖矿过程


开采比特币的过程类似于彩票。比特币矿工正在竞争产生哈希值-固定长度的字母数字字符串,该字符串是根据任意长度的数据计算得出的。他们通过结合以下三个数据来产生哈希:新的比特币交易块;区块链上的最后一块; 和一个随机数。在本文中,我们将分析散列和数字签名过程,以了解它们单独用于比特币交易验证之前的用途。 

深入研究尽可能简化的一些技术细节,对任何数字签名进行签名的第一步就是对所签名内容进行哈希处理。要安全地进行哈希运算并不容易,而256位安全哈希算法(SHA-256)可确保两个关键的内容。

首先,对散列算法的暴力攻击必须像通过256位的所有二进制组合一样在计算上昂贵。但是,目前期望攻击者完成对小型比特币交易的搜索是不现实的,例如,因为存在256个二进制位(2 * 2 * 2 * ... 256次)的2 ^ 256个组合。这是一个很大的数字。

其次,对散列算法的另一种蛮力攻击必须像处理256位所有二进制组合的很大一部分一样,在计算上昂贵。这个很大一部分是复杂的,可证明的公式,与理论输入大小有关(对于SHA-256,它不受限制,除了受万维网上通常使用的限制),而且256位无疑将需要与支持这一点。

碰撞?那是什么?

9个输入必须碰撞为一个具有8个“空洞”的3位哈希。为了简化和清楚起见,此简化的示例生成一个3位散列而不是256位散列。3个二进制位(每个为0或1)有2 * 2 * 2 = 8个组合。然而,如果有9项散列,则具有为至少其导致相同的3位的散列输出两个输入。通过一般逻辑,可以立即看到一些输入因此  必须  哈希到同一输出。

更好地理解了哈希之后,回到它的用法:合法合同是一种用途,但是比特币矿工和以太坊的伪造者也严重依赖哈希来维持生计。加密货币投资者还通过传递性财产(传递性属性,简化为:A = B,并且B = C,ergo A = C)以某种方式使用它们。

篡改数字签署的法律合同是如此明显,但从未发生过。即使是单个字符更改,SHA-256也会产生完全不同的哈希,例如:

“比特币区块链”散列为:  b43636e6232a977b6a614c93da701f938f9faa90d355a74d71aa8210474c8ebf

“比特币区块链”散列为:  7c96cf30947914ab1d9844d93707baf2435f9d9b290c8258622ab635054c8041

只是一个字符差异–大写字母“ B”和散列是完全不同的位集。

工作量证明与权益证明

对于像比特币这样的区块链类型网络中网络计算资源的网络分布的工作量证明(PoW)方法,在反向上大量使用哈希。如前所述,蛮力方法是计算密集型的。因此,全面的黑客攻击存在一些子问题,这可能是相当困难的。通过不断提高问题难度(但只是略有提高),比特币在工作量证明模型上运行,在该模型中,矿工证明他们已经通过解决这些超级难题来花费了大量的资源和力量来运营网络(并且首先是声称“先来者”)。奖励”)。但是,该模型的能源效率极低,并且并非以比特币和区块链技术为目的。

股权证明(PoS)的能源效率要低得多,因为“矿工”(在权益证明网络中,那些表现网络容量的人被称为伪造者,不会获得任何先来者的费用,而是通过确定性系统获得奖励)在网络上提供计算资源,并反过来伪造自己的新硬币。从经济学的角度来说,矿工的工作得到了回报,而伪造者实际上是在铸造自己的钱。

但是,在两种情况下,都使用散列来提供这些计算量大的问题,这些问题将新货币自然分配到网络中。请记住,比特币将只能铸造2100万枚硬币,其中许多已经在流通中,因为其代码中内置了指数补偿功能。以太坊是一种大型的PoS加密货币,随着伪造者的加入,以太坊也将不得不限制其新的货币流出,因为如果不加以适当控制,这可能导致不希望的通货膨胀。

结论

因此,哈希提供了一种健壮的机制来模糊数据,特别是在数字签名中,但在其他应用程序中也是如此。除此之外,尽管散列的确切原因是,但它的反向问题(用于解码散列值)现在被用于使基于区块链的网络上网络资源的使用民主化。

本文链接地址:https://www.wwsww.cn/btbwhy/1617.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读