一文深入理解比特币挖矿机制

作者: 黑猫编程 | 来源:发表于2019-09-16 23:03 被阅读0次

根据上篇文章《一文近距离了解区块链》,我们在区块链浏览器中查看了比特币的区块信息,了解到区块当中包含的数据。新区块出现并连接到已有区块链的末端过程就是挖矿。
然而,挖矿需要满足一定的规则,以比特币挖矿为例,需要不停地计算哈希值,只有当哈希值满足要求才可以被比特币的网络所接受。

快速理解哈希算法

哈希算法可以理解为数学中的函数,y=f(x),x取值不同,y也就不同,哈希函数就是有一个函数名字叫hash,即y = hash(x),以哈希算法sha256为例,不论输入值x为何种信息,都会给我们返回一个64位16进制的字符串。

行者哈希魔法箱.jpeg

数据为t_data1,经过哈希运算后得到16进制64的字符串8c3ac413b6cf949772f8b2d9aef03fa5a717a6101fd4445b9c72751c89b90f3f。

数据味t_data2,经过哈希运算后得到另一个16进制的字符串e5194345b3632a8ca9ea2a4f9607e9ffc18106e66af92e7eba016e24405c9963。

上述程序知识看着字母很多,其实就是y=f(x)。

注:传递的数据不同,哈希值也就不同,理论上是这样,然而,不同的数据出现相同哈希也有可能出现,只是概率极小,不同哈希算法的碰撞概率也不同,sha256仅仅是众多算法中的一个品种。

哈希算法在挖矿中的应用

挖矿的过程就是计算哈希,我们传送的数据都会生成一个哈希,然而,这个值要满足一定的条件。比如规定64位字符串中,前面10位都是0的哈希就是满足条件的,即挖矿成功。

我们的交易数据生成哈希是固定的,比如,数据为t_data1,哈希值已经固定了,这时,我们就需要计算一个随机数Nonce,区块链中都这么叫,可以理解为随机数x,与我们的交易数据一起进行哈希运算,例如当我们找到一个数为12345时,生成的哈希结果前10位都是0,我们就成功了。

这种挖矿机制比拼的就是算力,即每秒钟哈希运算的次数,每个人都没有捷径可以走,但是,一旦计算出来Nonce值,验证非常快速,我们计算之后会全网广播,其他节点验证之后没有问题就可以上链了。所谓比特币10分钟出一个区块,也是动态计算的,如果全网的算力增大,系统会自动调节难度值,将哈希结果变小,难度就会上升。

链浏览器比特币区块信息

感受一下挖矿难度变化

难度值曲线.jpeg

系列文章

一文近距离了解区块链

相关文章

  • 一文深入理解比特币挖矿机制

    文/引自 币行者 币行者的网站 根据上篇文章《一文近距离了解区块链》,我们在区块链浏览器中查看了比特币的区块信息,...

  • 一文深入理解比特币挖矿机制

    根据上篇文章《一文近距离了解区块链》,我们在区块链浏览器中查看了比特币的区块信息,了解到区块当中包含的数据。新区块...

  • 在家宅着,不如了解一下比特币矿机挖矿小知识。

    ​​何为比特币挖矿? 比特币的挖矿机制是整个比特币系统赖以生存的基础,为了比特币网络能够安全运行,比特币网络平均每...

  • 一文理解51%攻击和区块链分叉

    系列文章 一文近距离了解区块链一文深入理解区块链挖矿机制

  • 比特币完成减半,WMM蓄势待发

    什么是“比特币减半”? 为了理解何为“减半”,首先介绍一下比特币的挖矿机制,挖矿的本质就是用计算机解决一项复杂的数...

  • Security of Bitcoin

    粗略说一下bitcoin的安全机制。 先理解所谓的比特币挖矿是指什么。比特币是一个块链(block chain),...

  • 为什么越来越多的人去挖比特币?

    一、比特币挖矿就是在印钞 首先我们要理解什么是比特币“挖矿”,这里不用去理解比特币的技术和什么货币价值,降低学习和...

  • 比特币的困惑?

    我不懂比特币,没有跟踪、深入了解过比特币。 看了百度百科对比特币的阐述,大概了解啥是“挖矿”,人们如何通过“挖矿”...

  • 小白科普系列:比特币以及挖矿

    比特币为什么需要挖矿? 比特币的挖矿本质上是一套奖励机制,用来奖励对系统有贡献的人,比特币系统是一套 个人对个人的...

  • OAI慧链|未来不可估量

    相比于比特币的CPU算力挖矿,OAI在挖矿机制上有所创新,由持币算力和推广算力等组成挖矿机制。 而OAI数字货...

网友评论

    本文标题:一文深入理解比特币挖矿机制

    本文链接:https://www.haomeiwen.com/subject/ysmxuctx.html