5行python代码讲清楚如何在区块链挖矿

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gshengod/article/details/79725419

之前发了好几篇讲区块链的,还有同学说不懂,今天我就试试用最少的话讲明白挖矿,背景知识可以参考下我之前发的内容。

  • 先说下哈希是啥,哈希就是每个东西的唯一标识,比如x的哈希:hash(x)=ga8e9hea7h8ae89h78aeh9r
  • 区块链就是一个一个区块,每个区块是一个哈希
  • 挖矿就是已知上一个区块链的哈希值,找到与其匹配的下一个哈希值,这个匹配关系可以自己定义,比如上一个区块链的值和下一个区块链的值的乘积的哈希最后一位是0

ok,我们来看下代码,假设有一个区块它的值是5,那么它的哈希值就是hash(5),我们定义一个规则:假设5的下一个区块链的值为y,那么y必须满足hash(5*y)的最后一位是0,就定义y是5的下一个区块链。要做的事情就是遍历全部数值,知道找到符合条件的y,假设在比特币的区块链上,一旦找到y,就会有好几个比特币的奖励。

代码在此python2.7环境:

from hashlib import sha256

x = 5

y = 0  

while sha256(str(x*y)).hexdigest()[-1] != "0":

    y += 1

print('The solution is y = '+str(y))

结果是y从0开始试,循环到21的时候满足条件,也就是在这个规则下5的下一个区块链就是21。

猜你喜欢

转载自blog.csdn.net/gshengod/article/details/79725419