基于区块链的挖矿方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:29221689 阅读:22 留言:0更新日期:2021-07-10 01:01
本发明专利技术实施例公开了一种基于区块链的挖矿方法、装置、计算机设备及存储介质。该方法包括:获取区块链发布的待生成区块的区块头信息;根据第一矿工的身份信息以及物理交互信息生成随机项;根据区块头信息和随机项计算哈希值;若哈希值满足出块条件,则生成待生成区块。本发明专利技术实施例所提供的技术方案,通过利用矿工之间的物理交互信息生成随机项代替传统方法中使用大量计算资源高速生成的随机项来进行区块链挖矿,基于真实世界物理交互的有限性和置信性来确保挖矿设备平等,降低了挖矿过程对计算资源的依赖,从而节约了计算资源和电力资源,而且挖矿方式便捷并降低了挖矿成本,从而可以提高用户参与挖矿的积极性。可以提高用户参与挖矿的积极性。可以提高用户参与挖矿的积极性。

【技术实现步骤摘要】
基于区块链的挖矿方法、装置、计算机设备及存储介质


[0001]本专利技术实施例涉及区块链
,尤其涉及一种基于区块链的挖矿方法、装置、计算机设备及存储介质。

技术介绍

[0002]区块链是一种基于P2P网络、共识机制、加密算法等技术的由许多网络节点共同参与和维护的分布式数据存储技术模式。其共识机制是指全部记账节点之间达成的共识,从而确定区块链内容的有效性,这是保证区块链稳定工作的重要机制。其中,最常用的共识机制为工作量证明机制(POW)、股权证明机制(POS)和委任权益证明(DPOS)等。其中,POW是最常用的,其核心设计思路是提出一个具有不对称特性的计算难题,即寻找出这个难题的答案是困难的,但将这个难题答案进行验证是非常容易的。适用于POW共识机制的挖矿算法大致分为两类,第一类叫做计算困难,第二类叫内存困难。虽然这两种方式算法简单,容易实现,但两者都不产生任何实际的社会价值,并且浪费了大量的计算资源和电力资源,区块的确认时间难以缩短。同时由于挖矿和计算资源密切相关,随着矿池的出现将计算资源集中,基于原有的POW共识机制方案设计的区块链系统也就容易受到比特币网络的算力攻击和分叉攻击。

技术实现思路

[0003]本专利技术实施例提供一种基于区块链的挖矿方法、装置、计算机设备及存储介质,以解决挖矿过程中造成的计算资源与电力资源浪费、计算难度大以及易于被攻击等问题。
[0004]第一方面,本专利技术实施例提供了一种基于区块链的挖矿方法,该方法包括:
[0005]获取区块链发布的待生成区块的区块头信息;
[0006]根据第一矿工的身份信息以及物理交互信息生成随机项;
[0007]根据所述区块头信息和所述随机项计算哈希值;
[0008]若所述哈希值满足出块条件,则生成所述待生成区块。
[0009]第二方面,本专利技术实施例还提供了一种基于区块链的挖矿装置,该装置包括:
[0010]信息获取模块,用于获取区块链发布的待生成区块的区块头信息;
[0011]随机项生成模块,用于根据第一矿工的身份信息以及物理交互信息生成随机项;
[0012]哈希值计算模块,用于根据所述区块头信息和所述随机项计算哈希值;
[0013]区块生成模块,用于若所述哈希值满足出块条件,则生成所述待生成区块。
[0014]第三方面,本专利技术实施例还提供了一种计算机设备,该计算机设备包括:
[0015]一个或多个处理器;
[0016]存储器,用于存储一个或多个程序;
[0017]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术任意实施例所提供的基于区块链的挖矿方法。
[0018]第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机
程序,该程序被处理器执行时实现本专利技术任意实施例所提供的基于区块链的挖矿方法。
[0019]本专利技术实施例提供了一种基于区块链的挖矿方法,首先获取区块链发布的待生成区块的区块头信息,并根据矿工的身份信息以及与其他矿工之间的物理交互信息生成区块头中的随机项,然后根据该区块头信息和该随机项计算用于验证的哈希值,并当该哈希值满足出块条件时,生成所需的待生成区块。本专利技术实施例所提供的方法,通过利用矿工之间的物理交互信息生成随机项代替传统方法中使用大量计算资源高速生成的随机项来进行区块链挖矿,基于真实世界物理交互的有限性和置信性来确保挖矿设备平等,降低了挖矿过程对计算资源的依赖,从而节约了计算资源和电力资源,而且挖矿方式便捷并降低了挖矿成本,从而可以提高用户参与挖矿的积极性。同时,由于用户之间进行物理交互的次数有限,不容易出现超强算力节点,从而使得计算资源分散,可有效防范攻击。
附图说明
[0020]图1为本专利技术实施例一提供的基于区块链的挖矿方法的流程图;
[0021]图2为本专利技术实施例二提供的基于区块链的挖矿方法的流程图;
[0022]图3为本专利技术实施例三提供的基于区块链的挖矿装置的结构示意图;
[0023]图4为本专利技术实施例四提供的计算机设备的结构示意图。
具体实施方式
[0024]下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。
[0025]在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0026]实施例一
[0027]图1为本专利技术实施例一提供的基于区块链的挖矿方法的流程图。本实施例可适用于使用普通移动设备通过物理交互的方式进行挖矿的情况,该方法可以由本专利技术实施例提供的基于区块链的挖矿装置来执行,该装置可以由硬件和/或软件的方式来实现,一般可集成于计算机设备中,该计算机设备可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备等。
[0028]如图1所示,具体包括如下步骤:
[0029]S11、获取区块链发布的待生成区块的区块头信息。
[0030]其中,区块头信息可以包括区块版本号、父区块哈希值、默克尔树根哈希值、时间戳、难度目标等等,根据该区块头信息可以确定出块条件。示例性的,基于比特币的出块算法,可以通过安全散列算法SHA

256对区块头进行哈希计算,则出块条件可以是计算产生的256位数值小于区块头信息中的难度目标。为了将出块时间控制在预设时间,可以定期调整挖矿难度,即重新确定所需的难度目标,示例性的,假设预设时间为K,并在每产生N个区块
之后进行一次调整,则调整的周期约为K/1440N天,具体可以通过如下公式进行调整:
[0031][0032]其中,target表示新难度目标,current_target表示原难度目标,actual_time表示真实平均出块时间,通过上述公式定期对难度目标进行上调或者下调,从而使得出块时间趋于稳定。同时,出块时间与用户规模相关,当用户规模大量增加后,总体发生物理信息交互量随之增加,得益于共识机制的保护,可以将出块时间下调,以使交易可以更快的被确认。
[0033]S12、根据第一矿工的身份信息以及物理交互信息生成随机项。
[0034]具体的,从第一矿工的角度为例进行说明,当第一矿工与其他矿工的距离在一定范围内时,第一矿工即可与其他矿工之间发生物理交互。其中,物理交互信息即为真实物理世界中两个用户发生的基于时间和/或空间的连接或检测。可选的,该物理交互的过程可以采取蓝牙、无线热点WIFI、红外以及近场通信NFC等方式,具体的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的挖矿方法,其特征在于,包括:获取区块链发布的待生成区块的区块头信息;根据第一矿工的身份信息以及物理交互信息生成随机项;根据所述区块头信息和所述随机项计算哈希值;若所述哈希值满足出块条件,则生成所述待生成区块。2.根据权利要求1所述的基于区块链的挖矿方法,其特征在于,在所述根据第一矿工的身份信息以及物理交互信息生成随机项之前,还包括:确定所述第一矿工与至少一个第二矿工发生密接交互,所述密接交互为在预设距离范围内持续预设时长的交互状态;所述物理交互信息包括所述至少一个第二矿工的身份信息、所述密接交互的时间以及物理交互数据中的至少一种。3.根据权利要求2所述的基于区块链的挖矿方法,其特征在于,在所述若所述哈希值满足出块条件,则生成所述待生成区块之后,还包括:根据预设出块确认机制确认所述待生成区块完成出块;根据所述随机项对出块奖励进行结算。4.根据权利要求3所述的基于区块链的挖矿方法,其特征在于,在所述获取区块链发布的待生成区块的区块头信息之前,还包括:创建志愿者用户,所述志愿者用户开启被获取实时物理交互次数的权限;从所述志愿者用户中随机选择至少一个样本作为基准志愿者用户;将所述基准志愿者用户的实时物理交互次数的中位数确定为基准交互次数;所述根据所述随机项对出块奖励进行结算,包括:根据所述随机项以及所述基准交互次数对出块奖励进行结算。5.根据权利要求4所述的基于区块链的挖矿方法,其特征在于,在所述根据预设出块确认机制确认所述待生成区块完成出块之后,还包括:对所述基准志...

【专利技术属性】
技术研发人员:宋轩庄湛张浩然邹若彤聂雨荷云沐晟潘泰仰
申请(专利权)人:南方科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1