挖矿方法、挖矿装置和区块链系统与流程

文档序号:15802629发布日期:2018-11-02 21:33阅读:193来源:国知局
挖矿方法、挖矿装置和区块链系统与流程

本发明属于区块链技术领域,具体涉及一种挖矿方法、挖矿装置和区块链系统。

背景技术

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。

目前在区块链中的不可否认性和信任程度是靠挖矿来提供的,所谓“挖矿”实质上是用计算机解决一项复杂的数学问题,来保证网络分布式记账系统的一致性。挖矿的过程就是找到一个随机数使得区块的哈希值小于提前设定的值,该计算得到的结果本身并无实际意义,只是为了计算而计算。大量的矿工机器抢夺记账权,仅仅为了抢夺到记账权而去计算随机数,造成了大量资源的浪费,白白的耗费了大量的资源和时间。

改善区块链中资源浪费严重的状况成为目前亟待解决的技术问题。



技术实现要素:

本发明所要解决的技术问题是针对现有技术中上述不足,提供一种挖矿方法、挖矿装置和区块链系统,能有效改善区块链中资源浪费严重的状况。

解决本发明技术问题所采用的技术方案是该挖矿方法,包括步骤:

步骤s1:区块链中的某一节点在所述区块链中发起一个悬赏难题,并广播所述悬赏难题对应的难题编号、难题内容和对应的悬赏额;

步骤s2:所述区块链中除发起所述悬赏难题的悬赏节点以外的至少一个挖矿节点,计算所述悬赏难题并广播所述悬赏难题的破解答案,以抢夺记账权;

步骤s3:所述区块链中除广播所述悬赏难题的破解答案的挖矿节点以外的其他节点,验证破解答案是否与所述悬赏难题相匹配,以确定记账权。

优选的是,步骤s1中:

将当前发起的所述悬赏难题的难题编号设置为,本地区块链的账本中已有所述悬赏难题数量的编号的下一个;

所述悬赏难题的难题内容为具有实际现实应用意义的、具备确定答案的问题,包括现实生活中的各领域、各行业中待计算的多种问题。

优选的是,步骤s2中:选择求解所述悬赏难题来争夺区块的记账权的挖矿节点,在计算得到所述悬赏难题的破解答案后,在自身生成的区块的区块头中写入自身所选择计算的所述悬赏难题的难题编号和的破解答案。

优选的是,步骤s3中:所述区块链中除广播所述破解答案的所述挖矿节点以外的其他节点,将所述破解答案带入相应的所述悬赏难题来验证所述破解答案和所述悬赏难题是否匹配,包括:

如果所述破解答案能解决所述悬赏难题的实际现实应用,则所述悬赏难题的所述破解答案得到确认,生成新的区块有效;

如果所述破解答案不能解决所述悬赏难题的实际现实应用,所述悬赏难题的所述破解答案不能得到确认,生成新的区块无效。

优选的是,还包括:重复上述步骤s1-步骤s3中至少一步。

一种挖矿装置,包括发布模块、计算模块和验证模块,其中:

所述发布模块,配置为使得区块链中的某一节点在所述区块链中发起一个悬赏难题,并广播所述悬赏难题对应的难题编号、难题内容和对应的悬赏额;

所述计算模块,配置为使得所述区块链中除发起所述悬赏难题的悬赏节点以外的至少一个挖矿节点,计算所述悬赏难题并广播所述悬赏难题的破解答案,以抢夺记账权;

所述验证模块,配置为使得所述区块链中除广播所述悬赏难题的破解答案的挖矿节点以外的其他节点,验证破解答案是否与所述悬赏难题相匹配,以确定记账权。

优选的是,所述发布模块中:

使得当前发起的所述悬赏难题的难题编号设置为,本地区块链的账本中已有所述悬赏难题数量的编号的下一个;

所述悬赏难题的难题内容为具有实际现实应用意义的、具备确定答案的问题,包括现实生活中的各领域、各行业中待计算的多种问题。

优选的是,所述计算模块:使得选择求解所述悬赏难题来争夺区块的记账权的挖矿节点,在计算得到所述悬赏难题的破解答案后,在自身生成的区块的区块头中写入自身所选择计算的所述悬赏难题的难题编号和的破解答案。

优选的是,所述验证模块:所述区块链中除广播所述破解答案的所述挖矿节点以外的其他节点,将所述破解答案带入相应的所述悬赏难题以验证所述破解答案和所述悬赏难题是否匹配,包括:

如果所述破解答案能解决所述悬赏难题的实际现实应用,则所述悬赏难题的所述破解答案得到确认,生成新的区块有效;

如果所述破解答案不能解决所述悬赏难题的实际现实应用,所述悬赏难题的所述破解答案不能得到确认,生成新的区块无效。

一种区块链系统,包括上述的挖矿装置。

本发明的有益效果是:

该挖矿方法和相应的挖矿系统,在抢夺区块链记账权的过程中每个挖矿节点都进行有价值的悬赏难题的计算,从而不浪费节点资源,以此来创造出更多的价值;

基于上述挖矿装置的区块链系统,能吸引更多的挖矿节点参与到区块链的记账权的抢夺中,加速和活跃区块链的运营,使得区块链创造出更多的价值。

附图说明

图1为本发明实施例中挖矿方法的流程图;

图2为本发明实施例中挖矿装置的结构示意图;

附图标识中:

1-发布模块;2-计算模块;3-验证模块。

具体实施方式

为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明挖矿方法、挖矿装置和区块链系统作进一步详细描述。

本实施例提供一种挖矿方法、相应的挖矿系统和区块链系统,通过采用有价值的悬赏难题(即一个计算难题)替代传统的区块链中单纯的为了抢夺记账权而去寻找随机数的方式,从而将挖矿的过程变得更有意义,而不是仅仅为了计算而计算,由于在抢夺区块链记账权的过程中每个挖矿节点都进行有价值的悬赏难题的计算,因此能极大提升区块链本身的价值,从而创造更多的价值和减少资源的浪费。

如图1所示,该挖矿方法包括如下步骤:

步骤s1:区块链的某一节点在区块链中发起一个悬赏难题,并广播该悬赏难题对应的难题编号、难题内容和对应的悬赏额。

区块链的任一节点作为参与节点都可以发起一个悬赏难题,悬赏难题的难题内容为具有实际现实应用意义的、具备确定答案的问题,可以包括现实生活中的各领域、各行业中待计算的多种问题,比如:悬赏难题为密码破译c=fk(t),其中的明文为t,密文为c,密钥为k,在悬赏难题中明确c和t,求解k;悬赏难题为应用数学优化路径m=fk(n),其中出发地、目的地之间各建筑物、可选路径之间的距离集合为n,最优路径为m,优化限制参数集合为f,在悬赏难题中明确m和n,求解k。

在广播消息时参与节点根据本区块链中发布所有悬赏难题的历史记录的顺序来对自身发布的悬赏难题进行按序编号,以提供区块链中的所有参与节点进行记录悬赏难题的内容和对应的编号。例如,参与节点a经查询该账本获知本区块链已有w个悬赏难题发布的历史记录,则参与节点a自身发布的这个悬赏难题的难题编号为第w+1个,其中w为正整数。当w为0时,说明该悬赏难题是本区块链中发起的第一个悬赏难题。

区块链的某个参与节点a在区块链中发起一个具有实际现实应用意义的悬赏难题,参与节点a查询自身实时同步的本地区块链的账本,将当前发起的悬赏难题的难题编号设置为紧接已有悬赏难题数量(相应于编号)的下一个。这样,参与节点a在区块链交易中发送广播消息进行对该悬赏难题的计算进行悬赏,也就是说谁计算出了该悬赏难题就可以获得该悬赏难题发布者的悬赏额。该广播消息的内容包括:悬赏难题编号w+1,悬赏难题内容以及该悬赏难题对应的悬赏额等信息,区块链中的所有参与节点可以通过记录悬赏难题的难题内容和对应的难题编号来对悬赏难题进行溯源。

发起一个悬赏难题通常限制在一个区块链中即可,而暂不扩展到具有n个链的全网区块链,n为自然数。

步骤s2:区块链中除发起悬赏难题的悬赏节点以外的至少一个挖矿节点,计算悬赏难题并广播悬赏难题的破解答案,以抢夺记账权。

区块链中的其他参与节点可以选择传统的挖矿方式,也就是依旧是寻找随机数来抢夺记账权的方式来进行挖矿,也可以选择求解该区块链其他参与节点发布的悬赏难题来争夺区块的记账权。如果选择传统的挖矿方式,可获得区块链的系统奖励;如果选择计算悬赏难题的方式来挖矿,则可获得发布悬赏难题的悬赏节点的悬赏额(即悬赏奖励),也就是说,两种挖矿方式种的任何一种方式都可以获得区块的记账权。抢夺到记账权的节点可以生成下一个区块公布出去,供其他参与节点对该区块的随机数或者是悬赏难题的破解答案进行验证。

数据以文件的形式被永久记录即称之为区块,每个区块记录了它被创建之前发生的所有事件。也就是说,每个区块包括一些或所有近期交易、前一个区块的引用、以及其他数据,还包括一个挖矿难度的答案,该答案对每个区块是唯一的。在绝大多数情况下,新区块被加入到记录最后,一旦写上,就再也不能改变或删除。

选择求解该区块链中悬赏节点发布的悬赏难题来争夺区块的记账权的挖矿节点(区块链中的所有节点并非都有意愿参与悬赏难题计算,这里的挖矿节点特指区块链中参与计算悬赏难题的节点),在计算得到破解答案后,在自身生成的区块的区块头中写入自身所选择计算的悬赏难题的难题编号和悬赏难题的破解答案。

也即,抢夺到第n个区块记账权的参与节点b在第n个区块中记录参与节点a广播消息中发布的难题编号w+1,难题内容以及该悬赏难题对应的悬赏额。事实上,任何节点都可以参与悬赏节点的悬赏难题的计算,直到参与节点h在第n+i个区块的生成时计算出来参与节点a发布的该悬赏难题的破解答案,则参与节点h则拥有本区块链的n+i个区块的记账权,参与节点h在第n+i个区块头中记录悬赏难题的编号以及对应的破解答案k。其中,n和i为自然数。

步骤s3:区块链中除广播悬赏难题的破解答案的挖矿节点以外的其他节点,验证破解答案是否与悬赏难题相匹配,以确定记账权。

“挖矿”的过程本质上是在竞争中“解决”当前区块。区块中的悬赏问题出现了一个有效解,其他网络节点很容易验证这个解的正确性。区块链中除广播悬赏难题的破解答案的挖矿节点以外的其他节点,将破解答案带入悬赏难题以验证破解答案和悬赏难题是否匹配,如果破解答案能解决悬赏难题的实际现实应用,说明破解答案和悬赏难题匹配,则该悬赏难题的破解答案得到确认,新区块的生成有效;否则,悬赏难题的所述破解答案不能得到确认,新区块的生成无效。也就是说区块链中的其他参与节点将该破解答案k带入到该悬赏难题中,如果破解答案能解答悬赏难题,则参与节点h抢夺到第n+i个区块的记账权得到了整个区块链中其他节点的认可,该第n+i个区块成立。

第n+i个区块成立后,第n+i个区块的区块头中的传统挖矿方法的随机数的位置上以0标示,用以区分是通过哪种挖矿方法来抢夺到的第n+i个区块的记账权。

步骤s4:重复上述步骤s1-步骤s3中至少一步。

该挖矿方法还包括,区块链中的各节点可以根据自身情况,选择参与发布悬赏难题、计算悬赏难题或验证悬赏难题的任一动作,保持节点活跃度。

第n+i个区块成立后,区块链中的各节点完全或不完全的重复上述步骤s1-步骤s3,在该区块链中存在悬赏难题的情况下,区块链的其他挖矿节点则进入到该区块链下一个区块针对悬赏难题的记账权的争夺中,并由抢夺到第n+i+1个区块的记账权的节点在第n+i+1个区块中,将上一个区块(也就是第n+i个区块)的记账权的节点应该获得的第n+i个区块中解决的参与节点a发布的悬赏难题的悬赏额记录到抢夺到第n+i个区块的记账权的节点参与节点b名下。

如图2所示,本实施例还提供一种挖矿装置,包括发布模块1、计算模块2和验证模块3,其中:

发布模块1,配置为使得区块链中的某一节点在区块链中发起一个悬赏难题,并广播悬赏难题对应的难题编号、难题内容和对应的悬赏额;

计算模块2,配置为使得区块链中除发起悬赏难题的悬赏节点以外的至少一个挖矿节点,计算悬赏难题并广播悬赏难题的破解答案,以抢夺记账权;

验证模块3,配置为使得区块链中除广播悬赏难题的破解答案的挖矿节点以外的其他节点,验证破解答案是否与悬赏难题相匹配,以确定记账权。

其中,发布模块1中:使得当前发起的悬赏难题的难题编号设置为,本地区块链的账本中已有悬赏难题数量的编号的下一个;

悬赏难题的难题内容为具有实际现实应用意义的、具备确定答案的问题,包括现实生活中的各领域、各行业中待计算的多种问题。

计算模块2:使得选择求解悬赏难题来争夺区块的记账权的挖矿节点,在计算得到悬赏难题的破解答案后,在自身生成的区块的区块头中写入自身所选择计算的悬赏难题的难题编号和的破解答案。

验证模块3:区块链中除广播破解答案的挖矿节点以外的其他节点,将破解答案带入相应的悬赏难题以验证破解答案和悬赏难题是否匹配,包括:

如果破解答案能解决悬赏难题的实际现实应用,则悬赏难题的破解答案得到确认,生成新的区块有效;

如果破解答案不能解决悬赏难题的实际现实应用,悬赏难题的破解答案不能得到确认,生成新的区块无效。

该挖矿装置中,区块链中的各节点可以根据自身情况,选择参与发布悬赏难题、计算悬赏难题或验证悬赏难题的任一动作,保持节点活跃度。

本实施例提供的挖矿方法和相应的挖矿系统,在抢夺区块链记账权的过程中每个挖矿节点都进行有价值的悬赏难题的计算,从而不浪费节点资源,以此来创造出更多的价值。

基于上述的挖矿装置,本实施例的区块链系统,能吸引更多的挖矿节点参与到区块链的记账权的抢夺中,加速和活跃区块链的运营,使得区块链创造出更多的价值。

可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

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