面向智能数据处理的区块链算力优化调度方法转让专利

申请号 : CN202011548455.9

文献号 : CN112769641B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 韦云凯肖明月杨宁冷甦鹏杨鲲刘强沈军

申请人 : 电子科技大学长三角研究院(衢州)

摘要 :

本发明公开一种面向智能数据处理的区块链算力优化调度方法,应用于智能数据处理与区块链领域,针对现有的物联网中海量数据处理存在的效率低下、精度低的问题;本发明将物联网海量数据处理的外部计算任务与区块链矿工的算力资源结合,将计算任务发布者和基于不完全信息的矿工之间的关系构建为斯塔克尔伯格博弈模型;然后通过迭代算法求解纳什均衡得到双方各自最优的策略,最终结果是根据最优价格完成了外部计算任务分配并且矿工们各自以最优比例分配为外部计算和挖矿计算的计算资源,提升了物联网海量数据的处理效率,并提高了数据处理精度。

权利要求 :

1.一种面向智能数据处理的区块链算力资源优化调度方法,其特征在于,包括:S1、记物联网中向外发布计算任务的节点为需求方,记接受任务并提供计算服务的节点为服务方;记负责收集整理需求方发布的任务并将任务分配给服务方的节点为协作方;

将协作方与服务方分别定义为斯塔克尔伯格模型博弈中的领导者和跟随者;其中领导者首先公布策略,跟随者之间为非合作博弈关系,每个跟随者随后对领导者公布的策略以及其他跟随者的策略做出最佳反应;

S2、作为领导者的协作方发布计算任务时根据自身效用函数,制定并公布统一的单位任务的定价策略,使得自身效用最大化;

S3、作为跟随者的服务方根据协作方提供的定价策略做出最佳反应,做出用于挖矿计算和为计算任务的资源分配比例的最佳策略,得到所有服务方的最佳策略组合;

S4、如果此时协作方的效用在矿工们的最佳策略组合下效用最优,认为双方达到了均衡点,则停止迭代;否则协作方根据矿工们的计算资源分配策略调整价格策略,重复步骤S2‑S3。

2.根据权利要求1所述的一种面向智能数据处理的区块链算力资源优化调度方法,其特征在于,步骤S2所述的协作方的效用函数具体为:协作方的收益与其支付给服务方的成本的差值。

3.根据权利要求2所述的一种面向智能数据处理的区块链算力资源优化调度方法,其特征在于,协作方的收益根据单位任务的定价与服务方的资源分配确定。

4.根据权利要求3所述的一种面向智能数据处理的区块链算力资源优化调度方法,其特征在于,步骤S4具体采用分布式迭代算法来获得斯塔克尔伯格模型博弈的均衡点:包括以下分步骤:

A1、设p(t)是协作方在时间t广播给每个服务方的价格策略,服务方根据p(t)调整其算力资源的分配策略,以最大化该服务方的效用函数,服务方分配比例的变化率与自身的效用函数的梯度成正比;

A2、协作方的效用函数为凹函数,收敛时矿工达到纳什均衡,协作方根据所有矿工愿意承担的子任务总数来调整价格。

5.根据权利要求4所述的一种面向智能数据处理的区块链算力资源优化调度方法,其特征在于,步骤A1所述的服务方的效用函数具体为服务方提供计算服务获得的收益与为计算服务付出的计算资源开销之差。

6.根据权利要求5所述的一种面向智能数据处理的区块链算力资源优化调度方法,其特征在于,服务方的收益具体为:为需求方任务提供计算服务得到的收益和为其自身任务提供的计算服务得到的收益之和。

7.根据权利要求6所述的一种面向智能数据处理的区块链算力资源优化调度方法,其特征在于,步骤A2还包括采用边际效用表示价格的变化率。

说明书 :

面向智能数据处理的区块链算力优化调度方法

技术领域

[0001] 本发明属于智能数据处理与区块链领域,特别涉及一种面向智能数据处理的计算资源优化调度技术。

背景技术

[0002] 随着物联网技术的发展,大量的终端设备如监控设备、检测设备等被广泛部署,带来了海量的数据,这些数据需要被进一步进行分析和处理才能提供更高的应用价值,为做
出科学决策与实施有效管理提供有利条件。然而传统的数据分析技术存在着效率低下、精
度低的问题,难以满足如今复杂的数据处理需求。人工智能技术的发展可以优化数据分析
能力,并提高分析效率,是目前研究的重要方向,但是这也带来了海量的计算资源需求,这
些计算资源的需求方总是希望能够以尽量低的代价获得这些资源。
[0003] 同时,随着2008年比特币的提出,区块链技术在各界引起了广泛关注,而比特币区块链网络的共识—PoW(Proof of Work,工作量证明)共识作为一种完全去中心化、安全的
共识机制,也广泛应用于各种区块链中。PoW共识通过依靠矿工的算力解决复杂的数学问题
从而获得挖矿奖励的方式,激励矿工们竞争计算从而保障整个区块链网络的安全性。然而
由于矿工的净收益来自于挖矿成功的奖励与计算资源消耗的差值,基于以虚拟货币形式发
放的奖励呈现大幅度振荡的趋势,不少矿工为了及时止损,不得不停止挖矿,带来算力闲置
的问题。
[0004] 区块链网络中富余的计算资源与智能数据处理的计算资源需求恰好形成了良好的匹配,矿工支持计算类型的多样化也使得这种匹配成为可能。区块链中的矿工如果能够
高效调度所拥有的计算资源,在挖矿的同时为外界提供计算服务,不仅可以提高自身收益,
还可以更低的成本和价格满足外界的计算需求,并且富余的算力资源能够提供智能数据处
理服务,提升海量数据分析的准确性、实时性、高效性。

发明内容

[0005] 为解决上述技术问题,本发明提供了一种面向智能数据处理的区块链算力资源优化调度方法,对于降低面向智能数据处理的计算资源需求方和矿工的计算成本、提高系统
资源使用率和双方收益,具有重要的作用。
[0006] 本发明采用的技术方案为:一种面向智能数据处理的区块链算力资源优化调度方法,包括:
[0007] S1、记物联网中向外发布计算任务的节点为需求方,记接受任务并提供计算服务的节点为服务方;记负责收集整理需求方发布的任务并将任务分配给服务方的节点为协作
方;
[0008] 将协作方与服务方分别定义为斯塔克尔伯格模型博弈中的领导者和跟随者;其中领导者首先公布策略,跟随者之间为非合作博弈关系,每个跟随者随后对领导者公布的策
略以及其他跟随者的策略做出最佳反应;
[0009] S2、作为领导者的协作方发布计算任务时根据自身效用函数,制定并公布统一的单位任务的定价策略,使得自身效用最大化;
[0010] S3、作为跟随者的服务方根据协作方提供的定价策略做出最佳反应,做出用于挖矿计算和为计算任务的资源分配比例的最佳策略,得到所有服务方的最佳策略组合;
[0011] S4、如果此时协作方的效用在矿工们的最佳策略组合下效用最优,认为双方达到了均衡点,则停止迭代;否则协作方根据矿工们的计算资源分配策略调整价格策略,重复步
骤S2‑S3。
[0012] 步骤S2所述的协作方的效用函数具体为:协作方的收益与其支付给服务方的成本的差值。
[0013] 协作方的收益根据单位任务的定价与服务方的资源分配确定。
[0014] 步骤S4具体采用分布式迭代算法来获得斯塔克尔伯格模型博弈的均衡点:包括以下分步骤:
[0015] A1、设p(t)是协作方在时间t广播给每个服务方的价格策略,服务方根据p(t)调整其算力资源的分配策略,以最大化该服务方的效用函数,服务方分配比例的变化率与自身
的效用函数的梯度成正比;
[0016] A2、协作方的效用函数为凹函数,收敛时矿工达到纳什均衡,协作方根据所有矿工愿意承担的子任务总数来调整价格。
[0017] 步骤A2所述的服务方效用函数具体为服务方提供计算服务获得的收益与为计算服务付出的计算资源开销之差。
[0018] 服务方的收益具体为:为需求方任务提供计算服务得到的收益和为其自身任务提供的计算服务得到的收益之和。
[0019] 步骤A2还包括采用边际效用表示价格的变化率。
[0020] 本发明的有益效果:本发明的方法将智能数据处理的外部计算任务与区块链矿工的算力资源结合,将计算任务发布者和基于不完全信息的矿工之间的关系构建为斯塔克尔
伯格博弈模型;然后通过迭代算法求解纳什均衡得到双方各自最优的策略,最终结果是根
据最优价格完成了外部计算任务分配并且矿工们各自以最优比例分配为外部计算和挖矿
计算的计算资源,保证整个网络的安全性和计算积极性;本发明的方法包括以下优点:
[0021] 1、在区块链网络中,每一轮挖矿前都要执行外部智能数据处理的计算任务分配与矿工自身计算资源分配,提供了一种新的算力资源分配策略,使得每一轮挖矿结束后矿工
的效用得到了保证;
[0022] 2、相比起传统的仅为PoW运算的矿工而言,本发明中的矿工解放了部分算力,使得矿工收益多元化,同时由于矿工出于自身效用最大化的角度出发,仍会拿出部分算力用于
挖矿,激励矿工们继续竞争计算哈希值从而保障了整个区块链网络的安全性;
[0023] 3、作为面向智能数据处理的协作方最终能以较低的价格完成较多的任务分配,优化了自身收益,外界的计算需求能够与区块链网络富余的计算资源相结合,为未来市场需
求与区块链算力闲置的现状提供了解决方案,并且提供了高效的数据处理能力,推进了未
来数据处理的智能化发展。

附图说明

[0024] 图1为本发明的区块链与外部需求结合的场景图;
[0025] 图2为本发明的基于斯塔克尔伯格模型博弈的区块链矿工算力资源分配流程图;
[0026] 图3为本发明的迭代算法流程图。

具体实施方式

[0027] 为便于本领域技术人员理解本发明的技术内容,下面结合附图对本发明内容进一步阐释。
[0028] 物联网中存在汇聚了大量数据、并需要对这些数据进行智能分析处理的节点。这种智能处理需要耗费大量的计算资源。在这些节点计算资源不足的情况下,它们可以向外
发布计算任务,由其他算力富余的节点(如接入网关、专用服务器等)辅助完成数据的智能
处理。这种向外发布计算任务的节点称为需求方,接受任务并提供计算服务的节点称为服
务方。为了便于需求方与服务方之间的任务匹配,中间设置一类特殊的节点,称为协作方,
协作方负责收集整理需求方发布的任务,并分配给服务方;“协作方”可以是一个设备,也可
以是几个设备的集成,典型模式是,物联网中有一个或者多个节点负责收集需求方发布的
任务,这些任务传递给一个可信第三方服务器,该服务器将任务整理、发布给服务方(也就
是本发明中所说的矿工节点)。完成以上功能的设备与流程集合,在本发明中统称为“协作
方”。
[0029] 本领域的技术人员应注意,本发明中的节点应理解为如接入网关、专用服务器等具备计算能力的设备。
[0030] 在我们的系统中,由于区块链中的矿工节点存在富余算力,可以通过协作方承接需求方发布的任务,因此,我们所说的服务方,就由愿意为需求方提供算力服务的矿工节点
构成。
[0031] 本发明所考虑的是在区块链矿工的算力分配与外界计算需求结合的场景,如图1所示。此场景中的需求方为产生数据智能处理需求的外部网络,协作方为图中的协调节点
(Coordinating Node,CN),服务方为N={m1,…,mn}个矿工。其中,CN作为任务发布者负责协
调外部任务并将它们统一处理为计算复杂度相同的若干个子任务,并分发给各矿工。需求
方根据子任务的工作量大小提供给CN相应的奖励,为了激励矿工们拿出算力资源提供计算
服务,CN将拿出一部分的奖励给矿工促使任务成功完成。CN获取了足够多的计算任务,其每
一轮都能满足矿工提供计算服务的子任务数量意愿。考虑到基于PoW共识的矿工之间依靠
竞争获取挖矿奖励,矿工之间的关系构建为非合作博弈模型。
[0032] 如图2所示,本发明的一种面向工作量证明机制的算力资源优化调度方法,包括以下步骤:
[0033] 步骤1:CN通过分配任务奖励给矿工并激励矿工完成任务的方式获取系统奖励,矿工通过合理分配算力资源,获得挖矿和计算任务双重奖励的方式优化个人收益。CN首先声
明其价格策略,并将价格策略公告给所有的矿工。矿工们根据收到的价格策略,确定自己的
计算资源分配策略。
[0034] 步骤2:将CN与矿工之间的关系建立为单主多从斯塔克尔伯格模型博弈模型,分两个阶段完成。在第1阶段,CN首先声明其价格策略,并将价格策略公告给所有的矿工。矿工根
据收到的价格策略,确定自己的计算资源分配策略。在第2阶段,CN获知各矿工的分配资源
结果后,又会调整自己的价格来进一步获取最优的效用。
[0035] 求取博弈双方的效用函数:
[0036] 对于矿工mi而言,其效用函数由收益和开销两部分组成,表示在平均出矿时间以内的总收益,包含为需求方提供服务的收益和挖矿成功的收益,开销包含为这两种计算付
出的计算资源开销。定义为:Ui(p,xi,x‑i),表达式为
[0037]
[0038] M表示挖矿,S表示提供计算服务,E是表示该矿工为新型矿工,Ti表示矿工mi在平均M S
出块时间λ以内的资源总消耗,Ii(xi)表示挖矿得到的收入,Ii(xi)表示为需求方任务提供
计算服务得到的收入,与矿工mi用来分配出挖矿的计算资源有关,表示为
[0039]
[0040] 其中矿工mi的总计算资源为CiE,分配给挖矿计算的资源比例为xi,x‑i表示除了矿工mi以外的其他矿工的分配策略。矿工的固定收益为R,区块打包的交易数量为ti,每笔交易
的手续费为r,Pi表示成功挖矿的概率。
[0041] 成功挖出一个区块包括两个步骤,即挖掘步骤和传播步骤。在挖掘步骤中,矿工mi挖掘出该区块的概率与其相对于全局哈希算力的计算能力成正比。用Hi表示矿工mi的哈希
算力在全局哈希算力中所占的比重,则:
[0042]
[0043] 在传播步骤中,一个区块可能会因为传播时间过长而成为孤块。考虑到这一事实,矿工成功开采区块的概率被该区块成为孤块的概率所影响,因此成功挖矿的概率表示为
[0044]
[0045] 其中, 表示区块成为孤块的概率,此概率由平均出块时间λ、打包的交易数量ti、以及网络延迟参数∈决定。
[0046] 因此,对于总算力资源为CiE,分配给挖矿计算的比例为xi的矿工mi而言,成功出块的概率Pi表示为:
[0047]
[0048] IiS(xi)表示为外部计算提供服务的收入,
[0049] IiS(xi)=pli                           (6)
[0050] 其中,li表示为矿工mi在平均出块时间λ以内完成的计算子任务的数量。
[0051] 单位子任务的计算复杂度为α,即完成子任务需要的计算资源为α,已知矿工mi分配给挖矿计算的比例为xi,则剩下提供计算服务的资源比例为(1‑xi)。对于矿工mi,完成单
位子任务所需要的时间为 则在平均出块时间λ以内完成的计算子任务的数量表
示为
[0052]
[0053] 考虑两种不同类型的计算对计算资源的消耗不同,假设对于挖矿计算而言,单位计算资源的消耗为η1,对于计算任务而言,单位计算资源的消耗为η2,因此矿工mi在平均出
块时间λ以内的资源总消耗表示为:
[0054]
[0055] 在平均出块时间λ以内,矿工们完成的总任务数量为
[0056] CN的效用函数:CN的效用函数等于其来自系统的收益减去支付给矿工的成本,即
[0057] S(p,x)=cL‑pL                           (9)
[0058] 其中,c表示系统为CN提供的成功完成单位任务分配的奖励,p表示CN支付给矿工的单位任务的价格。CN的收益不仅受到自身价格策略的影响,还受矿工的资源分配策略的
影响。
[0059] 步骤3:确认模型均衡存在的条件。
[0060] 各矿工的资源分配策略空间为[0,1],为欧几里得空间的有界闭集,并且矿工的效用函数在策略空间是连续的,只需要证明效用函数为凹函数,即可证明非合作博弈均衡的
存在。
[0061] 对矿工mi的效用函数 先求一阶偏导可得:
[0062]
[0063] 再求二阶偏导得:
[0064]
[0065] 由于矿工mi的效用函数 的二阶偏导恒小于0,则其为函数,矿工之间的*
非合作博弈存在均衡点xi,使得 成立。
[0066] 通过矿工mi的效用函数 的一阶偏导等于0,我们可以得到达到均衡点的各矿工分配策略:
[0067]
[0068] 考虑到计算资源分配比例的约束条件,矿工mi的最佳响应为:
[0069]
[0070] 将矿工的最佳响应代入CN的效用函数:
[0071]
[0072] 其中Call表示区块链网络里所有矿工的算力资源总和。
[0073] 对CN的效用函数求一阶偏导:
[0074]
[0075] 在一阶偏导的基础上,对CN的效用函数求二阶偏导:
[0076]
[0077] 其中假设挖矿计算的资源消耗大于计算任务的资源消耗,即η1>η2,则* * * *
恒成立,因此CN的效用函数为凹函数,存在最佳的p使得S(p ,x)≥S(p,x)。斯塔克尔伯格
模型博弈的均衡点存在。
[0078] 步骤4:迭代算法寻找均衡点。区块链网络的隐私和匿名性使博弈双方无法获得彼此的完整信息。因此,本发明采用分布式迭代算法来获得斯塔克尔伯格模型博弈的均衡点。
[0079] 如图3所示,假设p(t)是CN在时间t广播给每个矿工的价格策略。此时,矿工需要根据价格p(t)调整其算力资源的分配策略,以最大化其效用函数。假设矿工分配比例的变化
率与他们的效用函数的梯度成正比,则:
[0080]
[0081] 其中,τ表示时间t和时间t+1之间粒度更小的时隙。
[0082] 由于效用函数 已被证明是一个凹函数,因此迭代算法收敛时可以达到Nash平衡点。
[0083] 在当前时间t和下次时间t+1之间,矿工的算力资源分配策略的迭代方程可表示为:
[0084]
[0085] 其中,v表示每一次调整的步长,v>0,本实施例中v的取值为0.0000000001。
[0086] 当矿工达到纳什均衡后,CN根据所有矿工愿意承担的子任务总数来调整价格,价格的变化率由微观经济学的边际效用表示。价格的迭代策略为:
[0087]
[0088] 其中,w代表CN调整价格策略的步长,本实施例中w的取值为0.0001。
[0089] 然后,我们使用一个很小的价格变化δ来计算对CN效用的影响并计算其边际效用具体计算式如下所示:
[0090]
[0091] 本实施例中δ的取值为0.0001。
[0092] 对于整个区块链网络,迭代的结果是CN获得了最优价格策略,并且所有矿工都得到自己的最优计算资源分配策略。由于CN和矿工都达到了均衡点,两阶段斯塔克尔伯格模
型博弈处于均衡状态。
[0093] 各矿工将分配结果X=(x1,x2,…,xn)发送给CN,n表示有n个矿工。
[0094] 本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。对于本领
域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的
任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。