在本文中,我们将首先介绍比特币使用的加密技术:哈希。什么是哈希有点类似于“混洗”概念。这些“改组”不是对卡进行改组,而是对数据进行改组,而是对数据进行改组。严格定义过程,结果将为固定长度。常见的哈希算法包括MD5,RIPEMD-160,SHA1,SHA256等。不同哈希算法的处理过程不同,并且生成的哈希值的长度也不同。例如,MD5最终将生成128位,而不管输入到其中的数据量如何。 SHA256的结果以及SHA256生成的哈希值将为256位。一个好的哈希算法通常需要具有以下特征:1.输入任意长度的数据,并且生成的哈希值是固定长度的; 2.获取哈希值的计算过程很快; 3.输入数据有任何变化,导致哈希值将有很大的不同。 4.这是一种单向方式,可以轻松地输入数据以获得哈希值,但无法从哈希值知道原始数据的内容。哈希可以用于什么?如果Aniu在今天下班之前键入了500页的重要文件,因为该文件非常重要并且无法从公司带走,他怎么知道有人晚上上班时是否潜入公司来修改他的文件?第二天?简单的方法是获取整个文档的哈希值。例如,使用SHA256获取256位哈希值,然后将其写在纸上或其他地方。第二天到达公司时,您只需要获取该文档的哈希值,然后按照昨天的方法进行工作,就可以对256位哈希值进行比较。如果两者之间存在差异,则表示有人篡改了此文档。 Aniu必须再次检查此文件。如果两者相同,则表示文档尚未修改。 Niu可以放心地继续编辑他的文件。让我们回顾一下为什么要获得良好的哈希值需要上述四点? 1.固定长度:因为结果是固定长度,所以Aniu可以知道要准备多少纸张进行复印,而且有时不会太长有时会很短,因此比较起来不方便。对于该程序,设计人员可以提前计划要放置多少空间来放置哈希值,而不必担心溢出问题。 2.快速获得结果:尽管输入数据越大,散列的计算时间就会增加,但是整个过程仍然不必要计算太复杂,因此即使Aniu的文档为500页,散列值也可以为快速获得。 3.任何更改都会产生完全不同的结果:Aniu的整个500页文档,即使有人添加了额外的空间,第二天Aniu也可以清楚地知道哈希值是不同的,而第三个原因还有另一个重要原因功能,即原始数据和哈希值不能被视为相关性,因此即使原始数据发生任何变化,结果也完全不同。 4.单向:如果Aniu今天不小心将一张便条丢在电梯中,并被其他人捡起,则不必担心重要文档的信息会泄漏出去,因为无法返回哈希值。原始数据的内容哈希被广泛使用。例如,当网站登录时,密码首先会转换为哈希值。如果有人检索到该信息,密码将不会泄漏出去。一些软件还提供哈希值。下载后,用户可以比较文件哈希,以了解下载的软件是否已被篡改。数字签名还使用哈希来减少需要加密的数据。但是,不再建议使用某些哈希算法,例如MD5和SHA1。那么哈希值与比特币有什么关系呢?所谓的“采矿”就是指实际上,比特币的价值在于不断地计算哈希值,直到找到合法的哈希值为止。该合法散列值是“三叶草”值。我们在上一篇文章中提到过。在第一篇文章中,我们提到了“难于篡改”的区块链特征之一是使用哈希值一个接一个地连接以生成“链”的概念,其中任何数据都是篡改将使原始合法哈希值无效,从而导致“链”被破坏。接下来,让我们讨论一下比特币“块”中的数据,“挖掘”如何计算哈希值,以及如何将“块”连接到“区块链”。