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

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日

相关推荐

  • 底层DAG技术是什么,什么叫区块链

    一、什么叫区块链区块链是一个可以共同记账的数字账本,会记录所有曾经发生并经过系统一致认可的交易。相当于全家总动员的方式记账,你在记账,你爸爸和妈妈也在记账,他们都能看到总账,但是已经被保存的信息就无法再被篡改。区块链具有去中心化、开放性、安全性特征。区块链

    2024-11-22 16:00:01
    2 0
  • 比特股好用在什么地方,区块链什么公链好

    一、区块链什么公链好全球公认的五大公链NO.1、以太坊(ETH)NO.2、小蚁(NEO)NO.3、量子(QTUM)NO.4、EOSNO.5、夸克(QKI)。拓展资料:1、量子是致力于打造不同于比特币和以太坊的另外一种区块链系统,希望能通过价值传输协议,实现点对点价值转移,拓展区块链技术和应用的

    2024-11-22 14:30:01
    1 0
  • 哪些是银行区块链系列,区块链的类型有哪些

    一、区块链金融企业有哪些(区块链金融领域)区块链公司有哪些?如下:目前几乎所有互联网公司都开始做区块链了。传统的金融公司大都有参与。纯区块链正经公司有做一些技术研发的,包括云象、趣链、太一;也有做公链主链的,比如迅雷、小蚁、比原等。还有很多实实在在做区块链技

    2024-11-22 11:00:01
    3 0
  • 区块链 如何广播,区块链如何广播全网

    一、区块链如何广播全网区块链的具体工作流程是怎样的?对于区块链的工作流程金窝窝集团认为可以总结为以下几步:1、发送节点将新的数据记录向全网进行广播2、接受节点对收到的数据进行记录和检验3、全网所有接受节点对区块执行共识算法4、区块通过共识算法过程后被正式纳入区

    2024-11-22 04:30:01
    3 0
  • 怎么查全网区块,怎么查询所有区块链公链

    一、怎么查询区块链币(怎么查询区块链币余额)币安链怎么查区块区块链信息服务备案管理系统是网信办主办的网站,有多个模块组成,所有的区块链备案服务都在这个系统进行。切记只有这个官方网站。1、备案信息查询:直接输入主体名称或完整的备案编号进行查询。特别注意:(1)主体

    2024-11-22 02:30:01
    4 0
  • 区块链 如何 被攻击,区块链被攻击达到多少才能被篡改记录

    一、区块链如何被攻击***区块链被攻击达到多少才能被篡改记录***区块链科普指南:什么是51%攻击?在加密世界中,当一个人或一群人控制了50%+1的网络单元时,就会发生51%的攻击。没有人说50%+1单位,所以简称为51%攻击。当一个团队设法控制链接到一个特定区块链的网络的大部分

    2024-11-22 00:30:02
    4 0

发表回复

8206
验证码

评论列表(0条)

    暂无评论

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

立即下载