基于区块链的挖矿奖励方法、系统、计算机设备及介质与流程

文档序号:22549108发布日期:2020-10-17 02:22阅读:130来源:国知局
基于区块链的挖矿奖励方法、系统、计算机设备及介质与流程

本公开涉及通信技术领域,尤其涉及一种基于区块链的挖矿奖励方法、一种基于区块链的挖矿奖励系统、一种计算机设备以及一种计算机可读存储介质。



背景技术:

随着区块链技术的飞速发展,区块链的相关应用也越来越多,矿工在里面起到了举重轻重的作用,对矿工的挖矿奖励也会变的很重要。如果对矿工的奖励过少,会影响矿工的积极性;如果对矿工奖励过多,会影响整个区块链的稳定运行,这样就会大大降低整个区块链的使用满意度。

目前,对矿工的挖矿奖励的处理方案主要是给矿工固定的挖矿奖励,并未考虑区块中包含的交易数量,或者区块中包含的交易数量对挖矿奖励影响不大,导致某些矿工为了更早的挖到矿,故意在区块内减少待打包的交易,而正常的矿工即使打包了合适的交易数量,也得不到合理的奖励,这大大降低了挖矿奖励的公平性和科学性,影响了整个区块链的使用满意度。

因此,提出一种可以提高挖矿奖励的公平性和科学性的方案是目前亟待解决的问题。



技术实现要素:

为了至少部分解决现有技术中存在的技术问题而完成了本公开。

根据本公开实施例的一方面,提供一种基于区块链的挖矿奖励方法,所述方法包括:

在区块生成后,获取该区块内包含的所有交易数量;以及,

根据该区块内包含的所有交易数量确定给生成该区块的矿工的挖矿奖励。

可选地,所述根据该区块内包含的所有交易数量确定给生成该区块的矿工的挖矿奖励,包括:

若该区块内包含的所有交易数量n大于预设的阈值n,则给生成该区块的矿工的挖矿奖励m=a*n;

其中,a为区块链中记账的单个交易的奖励数,且a>0。

可选地,所述根据该区块内包含的所有交易数量确定给生成该区块的矿工的挖矿奖励,包括:

若该区块内包含的所有交易数量n不大于预设的阈值n,则判断该区块的生成时间与前一区块生成时间的时间差δt1是否大于预设的阈值t1;

若δt1>t1,则给生成该区块的矿工的挖矿奖励m=m1;

其中,m1为第一设定奖励数,当n=n时,m1=a*n;当n<n时,a*n<m1<m0,且m0为预设的奖励数上限值,a为区块链中记账的单个交易的奖励数,且a>0。

可选地,所述方法还包括:

若δt1≤t1,则继续判断该区块内包含的所有交易里,最晚一笔交易时间与第一笔交易时间的时间差δt2是否大于预设的阈值t2;

若δt2>t2,则给生成该区块的矿工的挖矿奖励m=m2;

其中,m2为第二设定奖励数,且m2<m1,t1>t2。

可选地,所述方法还包括:

若δt2≤t2,则给生成该区块的矿工的挖矿奖励m=a*n。

根据本公开实施例的另一方面,提供一种基于区块链的挖矿奖励系统,所述系统包括:

获取模块,其设置为在区块生成后,获取该区块内包含的所有交易数量;以及,

确定模块,其设置为根据该区块内包含的所有交易数量确定给生成该区块的矿工的挖矿奖励。

根据本公开实施例的又一方面,提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行前述基于区块链的挖矿奖励方法。

根据本公开实施例的再一方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,所述处理器执行前述基于区块链的挖矿奖励方法。

本公开的实施例提供的技术方案可以包括以下有益效果:

本公开实施例提供的基于区块链的挖矿奖励方法,不同于现有技术中给矿工分配固定挖矿奖励的方案,而是根据区块内包含的所有交易数量确定给生成该区块的矿工的挖矿奖励,从而根据区块内包含的交易数量不同而动态调整矿工的挖矿奖励,可有效提高挖矿奖励的公平性和科学性,进而提高矿工挖矿的积极性,增强了整个区块链的使用满意度。

本公开的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本公开技术方案的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。

图1为本公开实施例提供的一种基于区块链的挖矿奖励方法的流程示意图;

图2为本公开实施例提供的另一种基于区块链的挖矿奖励方法的流程示意图;

图3为本公开实施例提供的基于区块链的挖矿奖励系统的结构示意图;

图4为本公开实施例提供的计算机设备的结构示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序;并且,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互任意组合。

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本公开的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。

图1为本公开实施例提供的一种基于区块链的挖矿奖励方法的流程示意图。如图1所示,所述方法包括如下步骤s101和s102。

s101.在区块生成后,获取该区块内包含的所有交易数量;

s102.根据该区块内包含的所有交易数量确定给生成该区块的矿工的挖矿奖励。

本公开实施例中,不同于现有技术中给矿工分配固定挖矿奖励的方案,而是根据区块内包含的所有交易数量确定给生成该区块的矿工的挖矿奖励,从而根据区块内包含的交易数量不同而动态调整矿工的挖矿奖励,可有效提高挖矿奖励的公平性和科学性,进而提高矿工挖矿的积极性,增强了整个区块链的使用满意度。

在一种实施方式中,步骤s102包括:

若该区块内包含的所有交易数量n大于预设的阈值n,则给生成该区块的矿工的挖矿奖励m=a*n;其中,a为区块链中记账的单个交易的奖励数,且a>0。a和n的取值可由本领域技术人员根据实际情况进行设定。

本公开实施例中,当区块内包含的交易数量累积达到一定量时,可根据区块内当前交易数量与单个交易的奖励数的乘积来计算挖矿奖励,从而鼓励矿工在满足验证的情况下,将尽量多的待打包交易打包到区块内,也能防止矿工为了更早的挖到矿,故意在区块内减少待打包的交易。

在一种实施方式中,步骤s102还包括:

若该区块内包含的所有交易数量n不大于预设的阈值n,则判断该区块的生成时间与前一区块生成时间的时间差δt1是否大于预设的阈值t1;

若δt1>t1,则给生成该区块的矿工的挖矿奖励m=m1;

其中,m1为第一设定奖励数,当n=n时,m1=a*n;当n<n时,a*n<m1<m0,且m0为预设的奖励数上限值,a为区块链中记账的单个交易的奖励数,且a>0。t1和m0的取值可由本领域技术人员根据实际情况进行设定。

本公开实施例中,考虑到当前时间段内包含到区块里的交易数量较少,且较长一段时间内没有发布新交易的情况下,为了避免没有矿工愿意生成区块(因为区块内当前交易数量较少,故而a*n的奖励数太少),则通过判断生成该区块与前一区块的时间差δt1与t1进行比较,如果δt1>t1,则给生成该区块的矿工m1个挖矿奖励,可有效避免该情况下没有矿工愿意生成区块而导致待打包交易等待时间过长。

在一种实施方式中,若δt1≤t1,则继续判断该区块内包含的所有交易里,最晚一笔交易时间与第一笔交易时间的时间差δt2是否大于预设的阈值t2;

若δt2>t2,则给生成该区块的矿工的挖矿奖励m=m2;

其中,m2为第二设定奖励数,且m2<m1,t1>t2。

本公开实施例中,考虑到交易比较稀疏,区块内当前待打包的第一笔交易与最后一笔交易之间时间间隔比较久的情况,比如待打包交易里第一笔交易发出后,直到过了t2时间后才有下一笔交易发出,此时为了避免第一笔交易等待时间过长,可以鼓励矿工对该时间段内交易打包生成区块,并给予m2个挖矿奖励。

在一种实施方式中,若δt2≤t2,则给生成该区块的矿工的挖矿奖励m=a*n。

本公开实施例中,在区块内包含的所有交易数量n不大于预设的阈值n、该区块的生成时间与前一区块生成时间的时间差δt1不大于预设的阈值t1,以及该区块内包含的所有交易里,最晚一笔交易时间与第一笔交易时间的时间差δt2不大于预设的阈值t2,这三项条件同时满足的情况下,可根据区块内当前交易数量与单个交易的奖励数的乘积来计算挖矿奖励。

经前述分析可知,当n>n时,a*n>m1>m2。

本公开实施例中,在区块内包含的所有交易数量n大于预设的阈值n的情况下,给生成该区块的矿工的挖矿奖励最多,以鼓励矿工将尽量多的待打包交易打包到区块内。

需要说明的是,矿工在生成的区块内打包待打包交易时,需按照交易的时间戳先后顺序来打包,否则判断该区块无效。

图2为本公开实施例提供的另一种基于区块链的挖矿奖励方法的流程示意图。如图2所示,所述方法包括如下步骤s201至s207。

s201.在区块生成后,获取该区块内包含的所有交易数量;

s202.判断该区块内包含的所有交易数量n是否大于预设的阈值n,若n>n,则执行步骤s205,若n≤n,则执行步骤s203;

s203.判断该区块的生成时间与前一区块生成时间的时间差δt1是否大于预设的阈值t1,若δt1>t1,则执行步骤s206,若δt1≤t1,则执行步骤s204;

s204.判断该区块内包含的所有交易里,最晚一笔交易时间与第一笔交易时间的时间差δt2是否大于预设的阈值t2,若δt2>t2,则执行步骤s207,若δt2≤t2,则执行步骤s205;

s205.给生成该区块的矿工的挖矿奖励m=a*n,a为区块链中记账的单个交易的奖励数,且a>0;

s206.给生成该区块的矿工的挖矿奖励m=m1;

其中,m1为第一设定奖励数,当n=n时,m1=a*n;当n<n时,a*n<m1<m0,m0为预设的奖励数上限值;

s207.给生成该区块的矿工的挖矿奖励m=m2;

其中,m2为第二设定奖励数,且m2<m1,t1>t2。

本公开实施例提供的基于区块链的挖矿奖励方法,综合考虑了区块中包含的交易数量、区块中交易的时间差以及区块间的生成时间差,在不同情况下动态调整矿工的挖矿奖励,从而能有效提高挖矿奖励的公平性和科学性,进而提高矿工挖矿的积极性,增强了整个区块链的使用满意度。

图3为本公开实施例提供的基于区块链的挖矿奖励系统的结构示意图。如图3所示,所述系统3包括:获取模块31和确定模块32。

其中,获取模块31设置为在区块生成后,获取该区块内包含的所有交易数量;确定模块32设置为根据该区块内包含的所有交易数量确定给生成该区块的矿工的挖矿奖励。

本公开实施例中,不同于现有技术中给矿工分配固定挖矿奖励的方案,而是根据区块内包含的所有交易数量确定给生成该区块的矿工的挖矿奖励,从而根据区块内包含的交易数量不同而动态调整矿工的挖矿奖励,可有效提高挖矿奖励的公平性和科学性,进而提高矿工挖矿的积极性,增强了整个区块链的使用满意度。

在一种实施方式中,确定模块32包括:第一判断单元和奖励单元。

其中,第一判断单元设置为,判断该区块内包含的所有交易数量n是否大于预设的阈值n;奖励单元设置为,在第一判断判断单元判断为n>n时,给生成该区块的矿工的挖矿奖励m=a*n;其中,a为区块链中记账的单个交易的奖励数,且a>0。

在一种实施方式中,确定模块32还包括:第二判断单元。

其中,第二判断单元设置为,在第一判断单元判断为n≤n时,继续判断该区块的生成时间与前一区块生成时间的时间差δt1是否大于预设的阈值t1;奖励单元还设置为,在第二判断单元判断为δt1>t1时,给生成该区块的矿工的挖矿奖励m=m1;其中,m1为第一设定奖励数,当n=n时,m1=a*n;当n<n时,a*n<m1<m0,m0为预设的奖励数上限值。

在一种实施方式中,确定模块32还包括:第三判断单元。

其中,第三判断单元设置为,在第二判断单元判断为δt1≤t1时,继续判断该区块内包含的所有交易里,最晚一笔交易时间与第一笔交易时间的时间差δt2是否大于预设的阈值t2;奖励单元还设置为,在第三判断单元判断为δt2>t2时,给生成该区块的矿工的挖矿奖励m=m2;其中,m2为第二设定奖励数,且m2<m1,t1>t2。

在一种实施方式中,奖励单元还设置为,在第三判断单元判断为δt2≤t2时,给生成该区块的矿工的挖矿奖励m=a*n。

本公开实施例提供的基于区块链的挖矿奖励系统,综合考虑了区块中包含的交易数量、区块中交易的时间差以及区块间的生成时间差,在不同情况下动态调整矿工的挖矿奖励,从而能有效提高挖矿奖励的公平性和科学性,进而提高矿工挖矿的积极性,增强了整个区块链的使用满意度。

基于相同的技术构思,本公开实施例相应还提供一种计算机设备,如图4所示,所述计算机设备4包括存储器41和处理器42,所述存储器41中存储有计算机程序,当所述处理器42运行所述存储器41存储的计算机程序时,所述处理器42执行前述基于区块链的挖矿奖励方法。

基于相同的技术构思,本公开实施例相应还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,所述处理器执行前述基于区块链的挖矿奖励方法。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1