简洁明了的标题可以是:区块链挖矿:了解“挖矿”本质

OKX欧易app

OKX欧易app

欧易交易所app是全球排名第一的虚拟货币交易所,注册领取6万元盲盒礼包!

APP下载   官网注册

文章中留言里经常有朋友用比特币来解释区块链,那么区块链和比特币的关系到底是什么?答案是,区块链是一种分布式存储技术,而比特币则是基于区块链的应用。类似的还有莱特币、以太币等基于区块链的电子货币。理论上来说,用上层应用来解释底层存储是不合适的。就像在图中所示的,mysql是底层存储,wechat是上层应用,用wechat来解释mysql是不合适的。

今天我们从技术的角度来讲讲区块链中的“挖矿”是什么意思。

首先说结论,挖矿的本质就是生成一个区块,并将其链接到区块链的分布式存储中。而进行挖矿的人就是矿工。

那什么是区块呢?区块是一种存储空间,可以用来存储数据。就像图中所示的,区块分为区块头(header)和区块体(body)两部分。

区块体存储的数据是与上层应用有关的,就像mysql里存什么数据依赖于上层应用。比如比特币使用的区块链,区块体里存储的是比特币的交易记录。

而区块头则存储了与该区块和整个区块链相关的一些元数据。图中所示的区块头有三个常见的属性,分别是前一个区块的哈希值、区块生成的时间戳和一个随机数。

那么什么是区块链呢?区块链是由一个个区块链接起来的,就像图中所示的链表一样。每个区块的唯一标识就是它的哈希值,下一个区块通过存储上一个区块的哈希值来链接起来。这就是区块链的概念。

讲完了区块和区块链的概念,接下来我们来讲讲挖矿,也就是生成新区块的过程。

在讲挖矿之前,先来说说区块链的三个特性。首先,历史生成的区块是无法改变的,只能像写日志一样追加写,不能像mysql一样随机写。其次,新的区块只能在最新的区块后面生成,必须先完成同步全网最新的区块链数据,才能开始生成新区块。最后,生成新区块很难,必须满足一定的条件才算有效。

那么要满足什么条件才算生成一个新的区块,才算挖矿成功呢?答案是对最新的区块头进行两次SHA256计算,得到的256bit哈希值必须满足高位48bit是0x00000000FFFF才算挖矿成功。

为什么大家都说挖矿很难呢?难道我们不能根据符合条件的哈希值推导出区块头的其他属性吗?额,哈希算法是不可逆的,不能从哈希值反推出数据。就像大家都知道,由字符串计算出对应的md5值很容易,但是反过来却是不可能的。所以要满足前48位是0x00000000FFFF的哈希值,就像连续抛48次硬币,每次都能得到想要的结果一样,概率非常小。

那么怎么才能找到符合条件的区块头,从而成功挖到矿呢?答案是穷举法。区块头中有一个随机属性nonce,从0开始依次遍历到2^32,计算对应的区块头的哈希值,如果得到的哈希值满足条件,就算挖矿成功。

上面是挖矿的伪代码,只要程序运行足够长的时间,理论上总能挖到矿。但是如果其他人的计算能力比你强,在你挖到矿之前,他们可能已经生成了新的区块并将其广播到整个区块链网络,这时你本地的数据就不是最新的了,你挖到的矿就作废了。所以你需要放弃之前的工作,先同步最新的数据,然后重新开始挖矿。

有没有什么方法可以提升挖矿的速度呢?当然有,从架构的角度来看。首先,缓存基本没用,因为每个区块的哈希值都不一样,时间戳也都不一样,无法通过查表来节省时间。其次,提升单个CPU的计算能力,比如使用GPU代替CPU,使用特殊的芯片计算SHA256D等都是有效的优化方法。但是单机的优化总会有极限,所以如果单机性能不够,可以通过并行计算来提升速度,比如建立一个集群。这也是为什么会有很多比特币矿场的原因。

综上所述,区块链中的挖矿就是在最新的区块链数据上生成一个符合条件的区块,并将其链接到区块链中的过程。希望通过这篇文章,你能了解挖矿的本质。接下来,还会继续解答关于区块链和挖矿的其他疑问,比如如何保证数据的一致性,挖矿有什么意义,比特币和挖矿的关系以及比特币的总量是如何保证有限的等等。

本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://czxurui.com/zx/11160.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年07月09日
下一篇 2023年07月09日

相关推荐

  • 什么是ETH

    本文目次导读:什么是ETH以太坊?详细解读以太坊的概念、特点和应用以太坊(Ethereum)的定义以太坊的特点以太坊的应用范畴什么是ETH以太坊?详细解读以太坊的概念、特点和应用以太坊(Ethereum)的定义以太坊(Ethereum)是一

    2024-05-21 00:30:18
    158 0
  • Ordi币是什么币 orl是什么币

    本文目次导读:Ordi币是什么币及orl是什么币Ordi币orl币Ordi币是什么币及orl是什么币Ordi币,Ordi币是一种虚拟货币,也被称为数字货币或加密货币,它是基于区块链手艺的一种数字资产,具有去中心化、匿名性和平安性等特点,Or

    2024-05-20 14:00:04
    165 0
  • Sui主网发布

    本文目次导读:随主网发布:开启区块链新纪元随主网发布区块链随主网发布:开启区块链新纪元随主网随主网是一个全新的区块链收集,旨在供给更快速、更平安、更可扩展的区块链处理计划。随主网的发布标记着区块链手艺的又一次前进,为整个行业带来了新的可能性

    2024-05-20 12:00:08
    159 0
  • WNCG是什么币种 wlcc是什么币

    详细介绍WNCG和WLCC的特点和用处WNCG是什么币种?本文目次导读:WNCG和WLCC是什么币种?详细介绍WNCG和WLCC的特点和用处WNCG是什么币种?WNCG的特点WNCG的用处WLCC是什么币种?WLCC的特点WLCC的用处WN

    2024-05-20 11:30:21
    183 0
  • BICO币是什么币

    本文目次导读:BICO币是什么币?详细解读BICO币的布景、特点和将来开展布景特点将来开展BICO币是什么币?详细解读BICO币的布景、特点和将来开展布景BICO币是一种加密货币,它基于区块链手艺,旨在打造一个去中心化的数字货币生态系统。B

    2024-05-20 11:30:08
    158 0
  • 国内区块链APP

    本文目次导读:国内区块链APP:摸索数字货币世界的新时代区块链手艺数字货币国内区块链APP国内区块链APP:摸索数字货币世界的新时代区块链手艺区块链手艺是一种去中心化的散布式账本手艺,通过将交易数据以区块的形式链接在一路,构成一个不成窜改的

    2024-05-20 10:00:20
    164 0

发表回复

8206
验证码

评论列表(0条)

    暂无评论

ok交易所
已有100万用户加入ok交易所

立即下载