前言

比特币和区块链如此火爆,挖矿早已不是一个新鲜的名词了,很多人都知道挖矿,挖矿只不过是一个形象的比喻,那么挖矿到底是干什么呢?今天和大家聊聊什么是挖矿,是时候普及一波知识点了,所以,认真阅读,掌握了知识点,装X都可以了。哈哈,言归正传,开始干活。

区块链和挖矿有什么不同(什么是比特币挖矿)(1)

挖矿

帮你理解哈希函数

哈希函数是区块链系统中的一个重要概念,哈希函数的作用就是把一个任意的输入值转化为定长字符串。这个概念可能比较晦涩,没关系,通过一个小例子来告诉你哈希函数的作用。

99fa786dfdf2fd5b80e2da63faef0c5724ef303c224a2e75ecce0f6c82cfb080

接下来我把输入值稍微改一下变成:“我爱今日头条.” 注意,我加了一个小小的点,那么看一下哈希函数输出的值:

eeebb195284d3371464b2b2c9c01bbc2003a17dc3dfe52da6ebd3bb829bcda9a

由此可见,输入值微小的变化就能导致输出值的巨大变化,这就是哈希函数的作用,此外更重要的是:输入值不同,那么哈希函数计算的结果一定不同。其实哈希函数的作用就是获得数据的信息摘要。设想一下,你在今日头条上写了一篇文章,结果别人剽窃你的文章,一字不差地发表了。那么今日头条如何判断你俩文章是完全一样的呢?一个一个字的比对么?他才不会这么傻,有了哈希函数,只要把你俩的文章都通过哈希函数计算一遍,得出来的值不同就说明你俩的文章还是有不一样的地方的。

哈希函数还有一个比较常用的例子就是文件的下载和上传。通常我们会去某个网站下载资源,如果一个资源很大或者很重要,那么如何保证你下载过程中没有被篡改或者损坏呢?一种方式就是下载后用哈希函数计算一下,然后把结果与下载网站上的结果比对,如果相同,说明你的文件是没被损坏的。

比特币系统中的哈希函数

在比特币系统中,需要大量地进行哈希函数运算。比特币系统是这样规定的:每隔十分钟,大家都需要计算哈希函数,计算的值必须符合我的规定。如果谁计算的快,谁就会获得比特币奖励。

我们知道一个输入值只能有唯一一个哈希值,那么为什还要进行很对次哈希运算的?原因在于,比特币要求你计算的哈希值必须满足他的条件,所以你就不得更改输入值,不停地计算,直到满足他的条件。通常在比特币系统中,更改输入值的办法是在原来的输入值上一次加1.例如:原始输入值是:“我爱今日头条” 如果这个计算后不满足条件,就需要计算:“我爱今日头条1”。在不满足就计算:”我爱今日头条2“ 以此类推。

通常,在比特币系统中,想要计算出符合条件的值需要进行上万亿次的哈希运算,因此,矿工们的挖矿,实际在进行这种重复的哈希运算。

挖矿

所以我们经常看到,有些矿工为了能挖到比特币,不断提高自己的挖矿设备的配置。实则是提高自己计算机计算哈希函数的速度,当然,速度越快,算的越快,越能更快地拿到比特币奖励。

当然,挖矿不是那么容易的,因为在一段时间中,你需要和全世界的所有矿工公共同竞争一份奖励。这里有个概率给大家算一下:假设你的算力为 i ,全世界总的算力为 N 那么你能挖到比特币的概率就是:

P = i / N

因此,你能有多大概率挖到比特币,取决于你的算力占全世界算力的比例。由此看来,挖矿还是很难的。

,