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

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等都是有效的优化方法。但是单机的优化总会有极限,所以如果单机性能不够,可以通过并行计算来提升速度,比如建立一个集群。这也是为什么会有很多比特币矿场的原因。

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

本文来自用户投稿,不代表币大大立场,如若转载,请注明出处:https://czxurui.com/zx/11160.html

上一篇 2023年07月09日
下一篇 2023年07月09日

相关推荐

  • 当币安Web3区块链研究院的Offer叩响职业之门,一场技术与未来的双向奔赴

    当币安Web3区块链研究院的Offer叩响职业之门,一场技术与未来的双向奔赴 当一封来自币安Web3区块链研究院的Offer递到手中时,收件箱里躺着的不仅是一份工作邀请,更是一张通往Web3前沿赛场的“通行证”,作为全球加密货币生态的领军者,币安研究院自成立以来便以“推动区块链

    2026-10-21 10:10:01
    4 0
  • 代码之争,当EOS开发者将矛头指向以太坊—一场关于区块链未来的攻击

    代码之争,当EOS开发者将矛头指向以太坊—一场关于区块链未来的攻击 在区块链的世界里,“攻击”一词往往与黑客、漏洞和恶意代码联系在一起,当“EOS开发者”和“以太坊”这两个关键词放在一起时,一场截然不同性质的“攻击”正在上演,这不是一次破坏性的网络入侵,而是一场

    2026-10-19 22:10:01
    20 0
  • 欧区块链交易所链易,构建欧洲数字资产新生态的桥梁

    欧区块链交易所链易,构建欧洲数字资产新生态的桥梁 在全球区块链产业加速落地的浪潮中,欧洲正以严谨的监管框架与开放的创新姿态,成为数字资产发展的重要试验场,在此背景下,欧区块链交易所链易(ChainEase)应运而生,致力于打造连接欧洲市场与全球区块链生态的合规、高效

    2026-10-19 20:10:01
    7 0
  • 探索以太坊新入口,ISE中文浏览器,让区块链世界触手可及

    探索以太坊新入口,ISE中文浏览器,让区块链世界触手可及 随着区块链技术的飞速发展,以太坊作为全球领先的智能合约平台和去中心化应用(DApp)生态系统的基石,吸引了越来越多的用户关注,对于中文用户而言,在浩如烟海的以太坊信息和应用中找到便捷、高效、本土化的入口,有

    2026-10-19 16:10:01
    16 0
  • V神,以太坊创始人,区块链世界的革新者与梦想家

    V神,以太坊创始人,区块链世界的革新者与梦想家 在区块链技术波澜壮阔的发展史上,有一个名字始终与“以太坊”紧密相连,他就是被全球加密货币爱好者尊称为“V神”的维塔利克布特林(Vitalik Buterin),作为以太坊的联合创始人兼首席科学家,V神以其超前的技术视野、深邃的哲

    2026-10-19 04:10:01
    14 0
  • 币安Web3投资版图,区块链创新生态的加速器

    币安Web3投资版图,区块链创新生态的加速器 在全球Web3浪潮中,币安(Binance)凭借其战略性的区块链项目投资,已成为推动行业创新的核心力量,作为全球最大加密货币交易所,币安通过旗下风投部门Binance Labs,不仅为早期区块链项目提供资金支持,更依托其生态资源网络,覆盖

    2026-10-19 00:10:01
    21 0

发表回复

8206

评论列表(0条)

    暂无评论

binance币安交易所
已有2000万用户加入币安交易所

立即下载