近年来,比特币的概念非常流行。然而,“比特币”和“区块链”是非常难以理解的概念。知道为什么容易,知道为什么难。诚然,用来构建比特币世界的知识非常广泛,如密码学、概率论、数据结构、博弈论等。而且这些学科也比较难。所以关于比特币的学术文献一般都比较晦涩难懂。在看科普文章的同时,很难用几千字说出比特币的本质。
“详解比特币”系列文章致力于用通俗易懂的方式详细全面地讲解比特币的原理。
可以断言,比特币完全是基于密码学,没有密码学就没有比特币。如果理解比特币的难度是五颗星,那么其中四颗在密码学。所以我会用很大的篇幅来重点介绍比特币中的密码学原理。本文将介绍——哈希函数的灵魂部分。哈希函数和三角函数一样,是一类函数的统称。1、SHA256、MD5等。都属于哈希函数。名字再奇怪,也只是一个函数,就像一阶函数和二阶函数一样。每次输入一个数字,这个函数都会输出一个数字。但无论是哪种哈希函数,其算法本身就非常复杂,无法像线性函数和二次函数那样简洁明了地给出一个表达式。直接写具体算法意义不大,所以本文只描述hash函数的性质。(由于比特币使用的是SHA256,除非下文另有说明,哈希函数指的是SHA256这个特定的哈希函数。)
1.哈希函数可以生成内容摘要。
首先,以文献的摘要作为类比。任何学术论文都应该写摘要,因为学术论文通常很长,很难在短时间内全部读完。当我拿到一个文档,不看全文怎么知道是不是我要查阅的文档?答案是看总结。合格的内容摘要具有以下特点:第一,任何文档的内容摘要都不可能与其他文档的内容摘要完全相同;第二,摘要必须比文献本身短得多;第三,通过内容总结,可以反向找到这篇文章的全文。下面可以看到,hash函数的属性和内容摘要的属性几乎一模一样。
哈希函数是一种256位二进制输出,由特定算法针对任何长度的二进制输入进行计算。(特别说明:所有计算机使用相同的方法计算哈希函数,即相同的输入,无论哪台计算机计算,输出值都是一样的。)在某种意义上,哈希函数是生成任意二进制数的汇总的函数。
#比特币[超级对话] # #欧亿OKEx##数字货币#