一种区块链的矿池形成方法、装置、系统及可读存储介质
文献发布时间:2023-06-19 09:35:27
技术领域
本发明实施例涉及区块链技术领域,特别是涉及一种区块链的矿池形成方法、装置、系统及计算机可读存储介质。
背景技术
随着6G海量物联网和边缘计算领域的快速发展,海量物联网环境中设备节点数量剧增,边缘服务器和设备之间的资源交易十分频繁,虽然区块链技术可以验证交易合法性并且保证交易数据不可篡改,但是庞大的交易数据会造成区块链技术中合格矿工筛选的效率和质量降低,导致形成优质矿池的时间较长、质量受影响,会进一步影响挖矿过程。
鉴于此,如何提供一种解决上述技术问题的区块链的矿池形成方法、装置、系统及计算机可读存储介质成为本领域技术人员目前需要解决的问题。
发明内容
本发明实施例的目的是提供一种区块链的矿池形成方法、装置、系统及计算机可读存储介质,在使用过程中有利于提高矿工质量及筛选效率,缩短优质矿池形成时间,提高矿池质量,有利于推进挖矿过程。
为解决上述技术问题,本发明实施例提供了一种区块链的矿池形成方法,包括:
为一个社区内的各个用户节点和各个边缘服务器节点分别分配一个ID,以便用户节点与边缘服务器节点依据对应的ID进行通信;
依据当前评分周期中、各个所述用户节点针对相应的边缘服务器节点的初始评分,计算出每个所述边缘服务器节点在所述当前评分周期中的第一信誉值;
依据所述当前评分周期中每个所述用户节点的活跃度,计算出各个所述用户节点在所述当前评分周期的第二信誉值;
从各个所述边缘服务器节点中筛选出第一信誉值满足第一筛选条件的各个边缘服务器节点作为各个诚实边缘服务器节点;
从各个所述用户节点中筛选出第二信誉值满足第二筛选添加的各个用户节点作为各个诚实用户节点;
将各个所述诚实边缘服务器节点和各个所述诚实用户节点组成矿池。
可选的,所述依据当前评分周期中、各个所述用户节点针对相应的边缘服务器节点的初始评分,计算出每个所述边缘服务器节点在所述当前评分周期中的第一信誉值的过程为:
获取第i个用户节点对第j个边缘服务器节点的初始评分,其中,i∈[1,M],j=1,2,3…,N,其中,M为所述社区内用户节点总数,N为所述社区内边缘服务器节点总数;
当所述初始评分不为0时,判断所述初始评分是否在第一预设范围内,若是,则所述第i个用户节点为诚实节点,并依据第一计算关系式计算出所述第i个用户节点针对所述第j个边缘服务器节点的实际评分;若否,则所述第i个用户节点为不诚实节点,并确定所述第i个用户节点针对所述第j个边缘服务器节点的实际评分为0;
依据所述当前评分周期内、针对所述第j个边缘服务器节点的各个所述用户节点各自对应的实际评分,计算出每个所述用户节点各自的评分权重;
依据针对所述第j个边缘服务器节点的各个用户节点各自对应的实际评分和评分权重,计算出所述第j个边缘服务器节点在所述当前评分周期中的第一信誉值。
可选的,所述第一计算关系式为
则,所述方法还包括:在所述依据第一计算关系式计算出所述第i个用户节点针对所述第j个边缘服务器节点的实际评分之后,依据第二计算关系式
或,在所述第i个用户节点为不诚实节点之后,依据第三计算关系式
或,当所述初始评分为0时,所述第i个用户节点针对所述第j个边缘服务器节点的实际评分为0,并保持所述
可选的,所述依据所述当前评分周期内、针对所述第j个边缘服务器节点的各个用户节点各自对应的实际评分,计算出每个所述用户节点各自的评分权重的过程为:
依据第四计算关系式计算出及所述当前评分周期内、针对所述第j个边缘服务器节点的各个所述用户节点各自对应的实际评分,计算出每个所述用户节点各自的评分权重,其中,第四计算关系式为:
则,所述依据针对所述第j个边缘服务器节点的各个用户节点各自对应的实际评分和评分权重,计算出所述第j个边缘服务器节点在所述当前评分周期中的第一信誉值的过程为:
依据所述第五计算关系式、针对所述第j个边缘服务器节点的各个用户节点各自对应的实际评分和评分权重,计算所述第j个边缘服务器节点在所述当前评分周期中的第一信誉值,其中,第五计算关系式为:
可选的,所述从各个所述边缘服务器节点中筛选出第一信誉值满足第一筛选条件的各个边缘服务器节点作为各个诚实边缘服务器节点的过程为:
依据与每个所述边缘服务器节点各自对应的历史信誉值,计算出各个所述边缘服务器节点各自的第一信誉值阈值,其中:
第j个边缘服务器节点的第一信誉值阈值为
依据各个所述第一信誉值阈值,计算出第一信誉值阈值平均值,并将所述第一信誉值阈值平均值作为服务器信誉阈值;
从各个所述边缘服务器节点中筛选出满足第六计算关系式的各个边缘服务器节点作为各个诚实边缘服务器节点,其中,所述第六计算关系式为:
可选的,所述依据所述当前评分周期中每个所述用户节点的活跃度,计算出各个所述用户节点在所述当前评分周期的第二信誉值的过程为:
依据所述第i个用户节点在当前评分周期内进行资源请求的次数f、所述第i个用户节点的算力
依据所述第i个用户节点的各个历史矿工年龄
可选的,所述从各个所述用户节点中筛选出第二信誉值满足第二筛选添加的各个用户节点作为各个诚实用户节点的过程为:
依据与每个所述用户节点各自对应的历史信誉值,计算出各个所述用户节点各自的第二信誉值阈值,其中:
第i个边缘服务器节点的第一信誉值阈值为
依据各个所述第二信誉值阈值,计算出第二信誉值阈值平均值,并将所述第二信誉值阈值平均值作为用户信誉阈值;
从各个所述用户节点中筛选出满足第九计算关系式的各个用户节点作为各个诚实用户节点,其中,所述第九计算关系式为:
本发明实施例还提供了一种区块链的矿池形成装置,包括:
分配模块,用于为一个社区内的各个用户节点和各个边缘服务器节点分别分配一个ID,以便用户节点与边缘服务器节点依据对应的ID进行通信;
第一计算模块,用于依据当前评分周期中、各个所述用户节点针对相应的边缘服务器节点的初始评分,计算出每个所述边缘服务器节点在所述当前评分周期中的第一信誉值;
第二计算模块,用于依据所述当前评分周期中每个所述用户节点的活跃度,计算出各个所述用户节点在所述当前评分周期的第二信誉值;
第一筛选模块,用于从各个所述边缘服务器节点中筛选出第一信誉值满足第一筛选条件的各个边缘服务器节点作为各个诚实边缘服务器节点;
第二筛选模块,用于从各个所述用户节点中筛选出第二信誉值满足第二筛选添加的各个用户节点作为各个诚实用户节点;
组矿模块,用于将各个所述诚实边缘服务器节点和各个所述诚实用户节点组成矿池。
本发明实施例还提供了一种区块链的矿池形成系统,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述区块链的矿池形成方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述区块链的矿池形成方法的步骤。
本发明实施例提供了一种区块链的矿池形成方法、装置、系统及计算机可读存储介质,该方法通过为一个社区内的所有用户节点和边缘服务器节点分配ID,用于用户节点与边缘服务器节点进行资源交易,根据各个用户节点在当前评分周期中针对相应的边缘服务器节点的初始评分得到每个边缘服务器节点的第一信誉值,根据每个用户节点在当前评分周期中的活跃度得到各个用户节点的第二信誉值,然后根据第一筛选条件和第二筛选条件对各个第一信誉值和各个第二信誉值进行筛选,筛选出满足要求的各个诚实服务器节点和各个诚实用户节点组成矿池,本发明有利于提高矿工质量及筛选效率,缩短优质矿池形成时间,提高矿池质量,有利于推进挖矿过程。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种区块链的矿池形成方法的流程示意图;
图2为本发明实施例提供的一种区块链的矿池形成装置的结构示意图。
具体实施方式
本发明实施例提供了一种区块链的矿池形成方法、装置、系统及计算机可读存储介质,在使用过程中有利于提高矿工质量及筛选效率,缩短优质矿池形成时间,提高矿池质量,有利于推进挖矿过程。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明实施例提供的一种区块链的矿池形成方法的流程示意图。该方法包括:
需要说明的是,预先将海量物联网节点划分为若干个社区,每个社区包括多个用户节点和多个边缘服务器节点,对于每个社区采用本申请所提供的方法来筛选诚实用户节点和诚实边缘服务器节点来组成矿池,其中,本发明实施例中所提供的区块链的矿池形成方法为对POR(Proof of Reputation,共识机制)机制的矿工筛选策略的优化,每个社区在一次矿池形成周期中实施以下方法进行矿池形成:
S110:为一个社区内的各个用户节点和各个边缘服务器节点分别分配一个ID,以便用户节点与边缘服务器节点依据对应的ID进行通信;
具体的,在实际应用中可以在接收到各个用户节点和各个边缘服务器节点发送的申请ID请求后,向每个用户节点和每个边缘服务器节点分配ID,其中,具体可以分配匿名ID,以便保护每个节点的隐私,用户节点和边缘服务器节点之间便可以通过ID进行通信,其中,在一个评分周期中多个用户节点可以向多个边缘服务器节点进行资源请求,边缘服务器节点可以为若干个用户节点提供资源,并且这些资源交易记录均存储在区块链的区块体内。其中,用户节点和边缘服务器节点具体可以向评估中心节点发送申请ID请求,并由评估中心节点向各个用户节点和各个边缘服务器节点分配ID。
S120:依据当前评分周期中、各个用户节点针对相应的边缘服务器节点的初始评分,计算出每个边缘服务器节点在当前评分周期中的第一信誉值;
需要说明的是,对于当前评分周期,在各个用户节点进行资源请求并获取资源后,用户节点会向为其提供资源的边缘服务器节点进行评分,其中,对一个边缘服务器节点来说,可以根据对其进行评分的各个用户节点的初始评分计算出该边缘服务器节点的第一信誉值,从而计算出每个边缘服务器节点各自的第一信誉值。
S130:依据当前评分周期中每个用户节点的活跃度,计算出各个用户节点在当前评分周期的第二信誉值;
需要说明的是,活跃度是衡量每个用户节点在一个评分周期中积极参与资源交易以及对边缘服务器节点进行诚实评分的依据,也是评估用户节点信誉的指标之一,活跃度越高越代表此用户节点可能为诚实节点,否则可能是懒惰或者恶意用户节点。具体的,在当前评分周期中,依据用户节点的活跃度即可计算出该用户节点在当前评分周期中的第二信誉值。
具体的,在实际应用中S120和S130中计算在当前评分周期中每个边缘服务器节点的第一信誉值和每个用户节点的第二信誉值的过程均可以由评估中心节点完成。
S140:从各个边缘服务器节点中筛选出第一信誉值满足第一筛选条件的各个边缘服务器节点作为各个诚实边缘服务器节点;
S150:从各个用户节点中筛选出第二信誉值满足第二筛选添加的各个用户节点作为各个诚实用户节点;
S160:将各个诚实边缘服务器节点和各个诚实用户节点组成矿池。
具体的,可以预先设置用于筛选诚实边缘服务器节点的第一筛选条件,和用于筛选诚实用户节点的第二筛选条件,然后根据这两个筛选条件分别从各个边缘服务器节点中筛选出诚实边缘服务器节点,从各个用户节点中筛选出诚实用户节点,并将各个诚实边缘服务器节点和各个诚实用户节点加入矿池以组成矿池。其中,具体可以通过过滤节点对各个边缘服务器节点和各个用户节点进行诚实节点的筛选。
进一步的,上述S120中依据当前评分周期中、各个用户节点针对相应的边缘服务器节点的初始评分,计算出每个边缘服务器节点在当前评分周期中的第一信誉值的过程,具体可以为:
获取第i个用户节点对第j个边缘服务器节点的初始评分,其中,i∈[1,M],j=1,2,3…,N,其中,M为社区内用户节点总数,N为社区内边缘服务器节点总数;
当初始评分不为0时,判断初始评分是否在第一预设范围内,若是,则第i个用户节点为诚实节点,并依据第一计算关系式计算出第i个用户节点针对第j个边缘服务器节点的实际评分;若否,则第i个用户节点为不诚实节点,并确定第i个用户节点针对第j个边缘服务器节点的实际评分为0;
依据当前评分周期内、针对第j个边缘服务器节点的各个用户节点各自对应的实际评分,计算出每个用户节点各自的评分权重;
依据针对第j个边缘服务器节点的各个用户节点各自对应的实际评分和评分权重,计算出第j个边缘服务器节点在当前评分周期中的第一信誉值。
需要说明的是,本实施例中针对一个边缘服务器节点,该边缘服务器节点向多个用户节点提供资源,这些用户节点为其进行评分给出各个初始评分,并且各个初始评分不为零,对于其他没有为该边缘服务器节点进行评分的用户节点,可以认为这些用户节点针对该边缘服务器节点的初始评分为0 。
具体的,本实施例中的j=1,2,3…,N,针对第j个边缘服务器节点,其中,第i个用户节点对第j个边缘服务器节点的初始评分为
需要说明的是,每个用户节点会对应一个用户诚实评分行为参数,第i个用户节点诚实评分行为参数用
由于一个边缘服务器节点可能会给多个用户节点提供资源,因此在一个评分周期内,用户节点数量会大于边缘服务器节点的数量,这会导致边缘服务器节点信誉远大于用户节点信誉,因此为了保持用户节点信誉和边缘服务器节点信誉在一个范围内,可以计算多个用户节点的实际评分的加权平均值,其中,也即在得到各个用户节点对第j个边缘服务器节点的实际评分后,可以根据各个实际评分得到每个用户节点针对第j个边缘服务器节点的评分权重,即每个边缘服务器节点均对应各个用户各自的评分权重,然后根据各个评分权重和各个实际评分得到第j个边缘服务器的第一信誉值,具体的:
依据第四计算关系式计算出及当前评分周期内、针对第j个边缘服务器节点的各个用户节点各自对应的实际评分,计算出每个用户节点各自的评分权重,其中,第四计算关系式为:
也即,当某个用户节点为不诚实节点,或者是没有对第j个边缘服务器节点进行评分时,对应的实际评分为0,则对应的评分权重也为0。
则,相应的,上述依据针对第j个边缘服务器节点的各个用户节点各自对应的实际评分和评分权重,计算出第j个边缘服务器节点在当前评分周期中的第一信誉值的过程为:
依据第五计算关系式、针对第j个边缘服务器节点的各个用户节点各自对应的实际评分和评分权重,计算第j个边缘服务器节点在当前评分周期中的第一信誉值,其中,第五计算关系式为:
需要说明的是,j=1,2,3…,N,从而得到各个边缘服务器的第一信誉值,还可以将计算得到的第一信誉值存储至区块体中,其中,具体可以存储至区块体中与第j个边缘服务器节点对应的历史信誉列表中。
更进一步的,在得到各个第一信誉值后,上述S10中从各个边缘服务器节点中筛选出第一信誉值满足第一筛选条件的各个边缘服务器节点作为各个诚实边缘服务器节点的过程,具体可以为:
依据与每个边缘服务器节点各自对应的历史信誉值,计算出各个边缘服务器节点各自的第一信誉值阈值,其中:
第j个边缘服务器节点的第一信誉值阈值为
依据各个第一信誉值阈值,计算出第一信誉值阈值平均值,并将第一信誉值阈值平均值作为服务器信誉阈值;
从各个边缘服务器节点中筛选出满足第六计算关系式的各个边缘服务器节点作为各个诚实边缘服务器节点,其中,第六计算关系式为:
需要说明的是,具体可以从区块体内获取与每个边缘服务器节点各自对应的各个历史信誉值,其中,第j个边缘服务器节点的各个历史信誉值可以为{
进一步的,上述S130中依据当前评分周期中每个用户节点的活跃度,计算出各个用户节点在当前评分周期的第二信誉值的过程,具体可以为:
依据第i个用户节点在当前评分周期内进行资源请求的次数f、第i个用户节点的算力
依据第i个用户节点的各个历史矿工年龄
需要说明的是,用户节点的算力和对应的各个历史矿工年龄均存储在区块体中,在使用过程中可以通区块体中获取与用户节点对应的算力和各个历史矿工年龄,以及当前矿工年龄,其中,用户每次参与矿池组成时,其当前的矿工年龄就会在上一个矿工年龄上增加1,并且在参与矿池组成后该用户节点矿工会贡献出计算资源并挖矿成功后,会获得相应的代币奖励,一个用户节点(如第i个用户节点)矿工在一个挖矿周期所获得的代币奖励
更进一步的,上述S150中从各个用户节点中筛选出第二信誉值满足第二筛选添加的各个用户节点作为各个诚实用户节点的过程,具体可以为:
依据与每个用户节点各自对应的历史信誉值,计算出各个用户节点各自的第二信誉值阈值,其中:
第i个边缘服务器节点的第一信誉值阈值为
依据各个第二信誉值阈值,计算出第二信誉值阈值平均值,并将第二信誉值阈值平均值作为用户信誉阈值;其中,第二信誉值阈值平均值为
从各个用户节点中筛选出满足第九计算关系式的各个用户节点作为各个诚实用户节点,其中,第九计算关系式为:
需要说明的是,具体可以从区块体内获取与每个用户节点各自对应的各个历史信誉值,其中,第i个用户节点的各个历史信誉值可以为{
另外,在筛选出各个诚实用户节点和各个诚实边缘服务器节点组成矿池后,还可以记录矿池总算力,并进程存储,以便计算当前挖矿周期中各个诚实用户节点的代币奖励。
可见,该方法通过为一个社区内的所有用户节点和边缘服务器节点分配ID,用于用户节点与边缘服务器节点进行资源交易,根据各个用户节点在当前评分周期中针对相应的边缘服务器节点的初始评分得到每个边缘服务器节点的第一信誉值,根据每个用户节点在当前评分周期中的活跃度得到各个用户节点的第二信誉值,然后根据第一筛选条件和第二筛选条件对各个第一信誉值和各个第二信誉值进行筛选,筛选出满足要求的各个诚实服务器节点和各个诚实用户节点组成矿池,本发明有利于提高矿工质量及筛选效率,缩短优质矿池形成时间,提高矿池质量,有利于推进挖矿过程。
在上述实施例的基础上,本发明实施例还提供了一种区块链的矿池形成装置,具体请参照图2,该装置包括:
分配模块21,用于为一个社区内的各个用户节点和各个边缘服务器节点分别分配一个ID,以便用户节点与边缘服务器节点依据对应的ID进行通信;
第一计算模块22,用于依据当前评分周期中、各个用户节点针对相应的边缘服务器节点的初始评分,计算出每个边缘服务器节点在当前评分周期中的第一信誉值;
第二计算模块23,用于依据当前评分周期中每个用户节点的活跃度,计算出各个用户节点在当前评分周期的第二信誉值;
第一筛选模块24,用于从各个边缘服务器节点中筛选出第一信誉值满足第一筛选条件的各个边缘服务器节点作为各个诚实边缘服务器节点;
第二筛选模块25,用于从各个用户节点中筛选出第二信誉值满足第二筛选添加的各个用户节点作为各个诚实用户节点;
组矿模块26,用于将各个诚实边缘服务器节点和各个诚实用户节点组成矿池。
需要说明的是,本实施例中所提供的区块链的矿池形成装置具有与上述实施例中所提供的区块链的矿池形成方法相同的有益效果,并且对于本实施例中所涉及到的区块链的矿池形成方法的具体介绍请参照上述实施例,本申请在此不再赘述。
在上述实施例的基础上,本发明实施例还提供了一种区块链的矿池形成系统,该系统包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述区块链的矿池形成方法的步骤。
具体的,本实施例中的处理器具体可以用于实现为一个社区内的各个用户节点和各个边缘服务器节点分别分配一个ID,以便用户节点与边缘服务器节点依据对应的ID进行通信;依据当前评分周期中、各个用户节点针对相应的边缘服务器节点的初始评分,计算出每个边缘服务器节点在当前评分周期中的第一信誉值;依据当前评分周期中每个用户节点的活跃度,计算出各个用户节点在当前评分周期的第二信誉值;从各个边缘服务器节点中筛选出第一信誉值满足第一筛选条件的各个边缘服务器节点作为各个诚实边缘服务器节点;从各个用户节点中筛选出第二信誉值满足第二筛选添加的各个用户节点作为各个诚实用户节点;将各个诚实边缘服务器节点和各个诚实用户节点组成矿池。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述区块链的矿池形成方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory ,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
- 一种区块链的矿池形成方法、装置、系统及可读存储介质
- 一种区块链存储方法、系统、装置及计算机可读存储介质