请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
发布
  • QQ空间
  • 回复
  • 收藏

比特币和区块链是啥原理?挖矿是咋回事?(2)

2021-3-5 16:14


比特币和区块链是啥原理?挖矿是咋回事?(2)


本期我们讲一下挖矿的具体原理。

首先我们先回忆一下,以前我们讲过一种叫做哈希函数的东西,这个哈希函数他也可以叫数字摘要或者散列函数他的意思是说我们可以把一个字符串通过一定的运算转化成一个摘要的形式, 而且你正着算比较容易反着算很难.

比如说哈希算法里面有一个著名的算法叫做SHA256( SHA256这是美国国家安全局发明的一种算法)如果我们把一个字符串输入到这个SHA256函数里,比如这个字符串叫apple , apple输出了多少呢?输出的是一个二进制数,这个二进数有256位。

比如说SHA256(“apple”)=101011010....

没有什么规律一共256位所以叫做SHA256。而且这个算法就是不管你前面输入的是什么,那后面它结果都是256位的一个二进制数,你把一个10个G的电影放进去,他最后输出的还是256位的数.

而且你改一点点他的这个数都不一样,比如我们在apple加一个点,多了一个点最后这每一位的数字都有可能会发生变化,这就是它的一个特点。

而且哈希算法的难度就在于它正向算比较容易但是它反向算非常困难,这是它算法的一个特点。

我们举个例子比如有这么一个函数

你给我X让我算出Y其实并不是很难,但是你给我Y问我X是多少就很难。

哈希函数比这个还复杂得多,所以它反算基本上是不可能的事,我们只能一个一个去试,假如你告诉我一个结果,你问我为什么结果是这个那我就只能一个一个试,一直把它试出来为止。

这就是哈希算法的一个基本问题,那么这个挖矿就是基于这个SHA256的这么一个运算。

我们再来说一下挖矿的具体原理是什么?


比特币和区块链是啥原理?挖矿是咋回事?(2)



之前我们说过区块链其实是一大推的交易信息,比如说这个区块链已经连接到了某一个位置,从最开始第一块开始链一直链,链到了某个位置,这个块里并不只有交易信息,它实际上是有一个块的头部,还有它里面有一些内容。

这个内容其实就是信息,就是我们交易的这个记录账单,这时就有很多人说我现在就想要进行打包,为什么呢?

因为打包有奖励还有手续费,每个人都有自己的一个账单,这个账单是他收集了周围一大堆人造成的账单每一个都拿着账单准备去网上接块,但是在接块的时候他必须算一个数学题,什么数学题呢?

首先它会有一个字符串,这个字符串里边的内容非常多。

首先就是我们包含目前的这个块,也就是前块,这个前块的头部是第一个部分,第二个部分就是他现有的账单信息还有比如说像时间之类的时间戳之类的一大堆乱七八糟的东西,然后就是一个很重要的一个随机数。


比特币和区块链是啥原理?挖矿是咋回事?(2)


这是你的一个字符串,现在你对这个字符串做两次哈希运算:

哈希值Hash=SHA256(SHA256(字符))

这个速度其实非常快,我们一下子就能算出数是几,算出来的结果你会得到一个256位的数。这个256位数我们要求前N位必须是0。

比如你算出来的这么个数结果是0000000001011...1一直到最后256位,假如我们的要求就是前九位是都是0那你就算对了,你算对了你就有资格去打包(这里有资格打包的意思是你要把你算出来的这个哈希值作为一个新块的头部打一个包,打完这个包之后再把你的这个包接到前一个块的后面去于是你就接出一个新块来)接出新块你就获得了你的奖励。

那么我们怎么能算出来前面这几位都是0呢?

我们需要改变一个内容,就是改变这个随机数,其他的内容你是改不了的,随机数最开始从0开始算,看看是不是满足条件,不满足则换1,1不行换2它们都是二进制,你就不停的这样试直到把试出来为止。而且大家要注意每个人在计算的时候题目难度是不一样的。

为什么呢?因为每一个人虽然前块的头部大家都一样,但是你所打包的这个账单可能是不一样的,你的时间,开始的时间可能是不一样的,还有你的个人信息是不一样的所以造成了这个随机数大小不同。

有人运气好第一个数就算出来了那就直接打包了,有人运气不好但它计算能力强,算了好长时间最后也算不出来。不过平均来讲是这样的,谁的计算能力强谁就更有希望打包这个块,谁就更有可能去挖到这个矿。


比特币和区块链是啥原理?挖矿是咋回事?(2)

添加新手交流群:币种分析、每日早晚盘分析

添加助理微信,一对一亲自指导:YoYo8abc

相关新闻