主页 > imtoken支持bcc > 哈希函数——区块链的支柱

哈希函数——区块链的支柱

imtoken支持bcc 2023-03-28 06:15:39

640?wx_fmt=png

点击上方“蓝字”关注我们!

640?wx_fmt=jpeg

作者:比特币杂志

了解比特币和区块链很简单,只要了解三部分,第一是了解它的数据结构,第二是分布式存储和共识,第三是网络和节点。

哈希函数在数据结构和分布式共识中都非常重要。

那么什么是哈希函数呢?

一般来说,哈希函数是一类数学函数,可以将任意数据转换成固定长度的输出(也就是我们所说的哈希值),并且可以高效计算,所以我们一般用它来构建哈希表, ETC。 。

在此基础上,密码哈希又多了三个特性。

没有冲突

可以隐藏原始数据

可用于创建搜索难题

没有冲突

比特币查看_如何查看比特币大盘相关股票_比特币分叉影响比特币总量

无冲突意味着哈希函数永远不会将两个不同的数字转换成相同的哈希值。

640?wx_fmt=jpeg

我们以sha-256为例(sha-256也是比特币中使用的哈希函数,属于sha-2系列),无论数据(输入)大小,都可以转换成256 位,这是一个 32 字节的哈希值。

640?wx_fmt=jpeg

即使数据(输入)只是换了一个标点符号,生成的哈希值也完全不同。

但是理论上是存在hash值重复的情况。 我们称这种情况为冲突,因为你认为,这个输入是无限的,你可以输入任何数据,无论大小。 而这个输出,哈希值是有限的。 (32个字母和数字的组合,组合次数有限)但是这个数很大,如果想找出sha-256 hash值重复的情况,试试输入2的130次方,这个数字是个天文数字,我的电脑都打不出来。 所以没有人能找到一个冲突比特币查看,也就是一个重复的散列值。

在确定了哈希值的唯一性之后,我们就可以将哈希值作为一个标识文件。 它在大文件的情况下非常有用。 当然,这只是针对初级玩家。

高水平的玩家玩起来更滑。

相信玩编程的朋友都知道一种数据结构,叫做链表。

640?wx_fmt=jpeg

单向链表

如何查看比特币大盘相关股票_比特币查看_比特币分叉影响比特币总量

就是用指针把不同的数据块按顺序链接起来,那么既然我们确定了哈希值的唯一性,那么这个哈希值是不是就可以当作指针使用呢?

如何实现?

先计算第一个数据块的哈希值,然后把这个值放到第二个数据块中,再计算第二个数据块的值(包括第一个数据块的哈希值),以此类推,得到一种新的数据结构,通常称为区块链。

640?wx_fmt=jpeg

当然,这只是区块链数据结构,并不是我们现在说的区块链技术(后者还包括分布式存储、分布式共识、点对点网络)而且这种数据结构比链表多了一个特性,这是防篡改的。 任何人想要修改这条链中数据块的消息都会很容易被发现,因为哈希值不会匹配。

可以隐藏原始数据

密码哈希函数的第二个特点是它可以隐藏原始数据比特币查看,因为哈希函数是单向函数,你可以将数据转换成哈希值,但不能将哈希值转换成原始数据。 因此,哈希函数具有隐藏原始数据的特性。

这非常有用,最著名的应用是存储密码。

比如你在某个网站的密码,如果网站直接把你的密码存储在他们的服务器上,是很不安全的,但是如果存储了你的密码对应的hash值,每次你输入密码的时候后台都会自动转换成一个hash值,只要hash值匹配,就可以登录,这样安全性提高了很多。

但是为什么还有那么多被盗号码和密码呢? 那可能是因为你的密码很常见,所以黑客只需要输入所有常见的密码并与哈希值进行比较就可以知道了。

因此,为了安全地隐藏“原始数据”,对输入的随机性和广泛性都有要求。 这就是为什么很多网站硬性要求密码必须有符号、大写字母、小写字母、数字等。

比特币分叉影响比特币总量_比特币查看_如何查看比特币大盘相关股票

可用于创建搜索难题

第三个特征是创建搜索谜题,也就是我用哈希函数创建一系列数学谜题,然后给出一定范围内的可能答案(难度随着范围的大小增减),然后让你一个一个的试试看,(注意没有捷径,就像我们之前说的,改变一个标点哈希值就会完全不一样,而且这个哈希值的生成没有任何逻辑和规则可循,所以你只能一个一个地尝试)如果你幸运地找到了正确的答案,将答案与你解出的谜题的信息进行哈希运算,得到一个特殊的哈希值。 (例如以多个 0 开头,或以多个 x 结尾)。

这在比特币挖矿中使用,如果你找到答案(nonce),然后将它与区块头中的信息进行散列,你将得到一个以很多0开头的特殊散列值。

640?wx_fmt=jpeg

本文仅代表作者个人观点,不代表区块链铅笔立场,不构成投资建议,内容仅供参考。

640?wx_fmt=jpeg

| (英文动画)

|

|

|

|

比特币查看_如何查看比特币大盘相关股票_比特币分叉影响比特币总量

关注本公众号后,进入公众号

您可以通过回复关键词查看信息,以下是部分关键词

回复WEF,查看《WEF:世界经济论坛认为区块链是互联网金融行业的未来报告》

回复智能合约,见巴克莱银行报告

回复穆迪,查看《穆迪120区块链项目报告》

回复SWIFT并查看SWIFT报告《区块链对证券交易全流程的影响与潜力》

回复论文11,查看论文《可扩展的去中心化区块链》

回复埃森哲2,查看埃森哲《区块链每年可为投行节省120亿美元》报告

回复联合国报告查看联合国报告《数字货币和区块链技术在建设社会和可信金融中的作用》

回复用户特征,查看普林斯顿大学第一本比特币教材《比特币用户特征(Characteristics of Bitcoin Users)》初稿

回复普林斯顿,查看普林斯顿大学第一本比特币教材《比特币与加密货币技术》初稿

如何查看比特币大盘相关股票_比特币分叉影响比特币总量_比特币查看

回复IMF,查看国际货币基金报告《Virtual Currencies and Beyond: Initial Considerations》

回复DTCC,查看美国存管清算公司报告《DTCC:拥抱分布式》

回复广发,查看报告《​​技术前沿报告:区块链:正在迅速进入公众和政策视野》

回复川财1,查看报告《​​川财证券:区块链技术研究报告一:颠覆所有行业的可能性》

回复川财2,查看报告《​​川财证券:区块链技术研究报告二:区块链技术的演进——区块链技术的国内实践与展望》

回复桑坦德,查看桑坦德银行报告《金融科技2.0论文:重启金融服务》

回复拜占庭,见《拜占庭将军问题解释》

回复论文1,查看论文《比特币闪电网络:可扩展离线即时支付》

回复论文2,查看论文《比特币骨干协议》

回复论文3,见论文《Should Digital Currency Be Into the Barbados Central Bank's International Reserve Currency Portfolio》

回复帮助,查看本公众号所有关键词列表

640?wx_fmt=jpeg

点击下方“阅读原文”查看更多,出现页面后点击“出处”查看原文链接↓↓↓