员外今天跟大家透露一个惊天大秘密,其实类似跑男这样的真人秀节目我国老早就出现了,因为员外就曾参加过,哈哈!身外员外总是免不了参加一些活动,话说员外在参加这个节目的过程中,最后一个环节需要再一个人群中,找出持有通关文牒的人,暗号是员外有几房老婆?如果对方答对,则取到通关文牒,成功通关!一同参加比赛的还有天宇、雪球、死磕侠、追风等10个人,所以员外为了赢得比赛,必须尽可能快的从人群中找到持有通关文牒的人,才能取得胜利,得到奖牌。
工作量证明(PoW)
接触区块链的朋友们都听过这个概念,但是对于刚入币圈不久的朋友们来说,也只是听过而已,并不明白它到底是个什么东西,解决了什么问题。如果从字面意思来看的话,就是你做了多少工作的证明,其实意思是相差不大的。
在区块链中如果需要新产生一个区块的话,需要先求解一个哈希值,得到正确的答案,才能获得这个区块的记账权,得到这个区块里面的奖励。就是之前我们讲过哈希算法,如果还不懂的朋友们欢迎翻看一下。说是求解,其实就是靠矿机大量的运算能力来猜这个哈希值是多少,对,这个数学上的哈希值不是求解,而是靠猜。就像员外在人群中找人一样,没有任何规律,没有任何头绪可言,就是挨个问,问的越多,就越有可能找到此人。
啥意思?没听懂
我们都知道哈希值就是对一个文件进行哈希算法之后得到的一串字符,比如这样的:
0e306561559aa787d00bc6f70bbdfe3404cf03659e704f8534c00ffb659c4c8740cc。
假如使用哈算法对员外有两房老婆这句话进行哈希计算得到这个值:
0e306561559aa787d00bc6f70bbdfe3404cf03659e704f8534c00ffb659c4c8740cc
到这儿还看不出什么端倪来,如果我把这句话改成员外有三房老婆进行哈希计算,可能会得到这样的值:
00ffb659c4c8740cc942feb2da115a3f4155cbb8607497386656d7d1f34a42059d78
这么一看,还是一串字符串啊,细心的朋友可以发现这个哈希值的前两位是两个 0 。那这意味着什么呢?
如果约定只能改动“员外有三房老婆”这句话中间的数字,会发现其实不是所有的都能算出前面两位是 0 的哈希值。因为开头是两个 0 的哈希值出现的概率实在是太低了。当然还有可能计算出开头是多个 0 哈希值,只要不停的改变这句话中的数字,不停的计算,就有可能计算得出,哪怕你想计算出开头是20个 0 也可以,只是时间问题,可能几小时也可能几天或者更久,因为这是个概率问题,就是一个不停试错的过程。
所以员外在开始就说了,通过大量计算求出的值,其实不是求解,而是靠运气!
这求的是什么解?
比特币现在每10分钟产出一个区块,如果矿工打包成功这个区块,就可以获得区块内部的 12.5 个比特币的奖励。但是获得打包这个区块的前提就是计算出这个区块给出的哈希难题。比如我设定的题目是哈希出前面带有10个 0 的哈希值来,还规定你只能通过改动“员外有n房老婆”这句话中的n来求解。但是你又不知道这个n到底是几,所以就只能不停地试了。当你试出来之后,在这个答案上写上自己的名字,告诉其他矿工,说你找到答案了,然后其他矿工进行验证之后,确认你的答案正确,你便可以拥有这个区块的打包权,获得这个区块内部的奖励。
因为需要大量的试错计算,所以叫做工作量证明(PoW)。