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

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交易或者被查询

    2024-12-23 08:30:02
    0 0
  • 如何导入比特币私钥,怎么导入区块链私钥信息

    一、【猫说】打开比特币钱包的两把钥匙:私钥、公钥如果不了解区块链,不知道公钥、私钥这些最基本的概念,拥有钱包对币圈新人来讲,就好像拿手指头去捅鳄鱼的脑袋,风险极高。此文谨献给币圈新朋友,帮助大家梳理比特币钱包的基本常识。区块链观察网在《区块链是什么》一文中

    2024-12-23 07:30:02
    2 0
  • 区块链etc能涨到多少,etc区块链是什么

    一、区块链中的硬分叉,以太经典ETC是什么意思以太经典(ETC)简史以太经典始于一个不幸的事件。2016年5月,去中心化自治组织(DAO)举行了一次代币销售,目标是建立一个基于区块链的风险投资,以资助Ethereum生态系统内未来的去中心化应用(DApps)。基本上,DAO是一个去中心化方

    2024-12-23 06:30:01
    2 0
  • 域链什么时间送币,哔哩哔哩区块链代币怎么领

    一、哔哩哔哩区块链代币怎么领***哔哩哔哩怎么拿币***区块链怎么赚钱?区块链是一项革命性的技术,它提供了去中心化、隐私保护以及图灵完备的智能合约技术基础,被誉为下一个“互联网革命”。通过购买区块链项目的数字资产,我们可以合理配置自己的财产,合理投资,依靠代币的

    2024-12-22 23:30:01
    2 0
  • 莱特币怎么进场,区块链怎么进入圈子

    一、区块链怎么挖矿的(区块链挖矿的成本不包括)区块链是什么,怎么用区块链赚钱?区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。区块链的赚钱方法:1、推广

    2024-12-22 20:30:01
    3 0
  • 创世区块是什么,创世区块

    一、创世区块是谁创造的创世区块是由中本聪创建的。中本聪是比特币的创始人,他在2009年1月4日创建了比特币的创世区块,这是比特币区块链的第一个区块。创世区块中包含了初始的比特币奖励和创世交易信息,标志着比特币网络的诞生。中本聪的真实身份至今仍然未知,他选择保持匿

    2024-12-22 18:30:01
    4 0

发表回复

8206
验证码

评论列表(0条)

    暂无评论

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

立即下载