掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及涉及区块链中的矿池领域,具体涉及一种区块链矿池挖矿策略的博弈优化方法。

背景技术

在加密货币挖掘的背景下,矿池是矿工通过网络共享其处理能力的资源汇集,根据他们为查找区块的可能性所做的工作量进而平均分配奖励。矿工们向矿池提供有效的部分工作证明也就是所谓的“份额”。实际上,矿池就是一种类似包工头的代理机构,按照比特币的原理全网算力与挖矿难度成正比,与矿工收益成反比。因此,对于每一个只有几百G或者几T算力的矿工来说,成功挖出区块的概率变得非常小。

目前,因为比特币本身的巨大价值,矿池的运作受到了很多关注。例如,利用联盟博弈方法研究矿工们在不同的矿池中选择加入哪个矿池实现利益最大化;利用期望效用理论模型化矿池中存在的风险实现矿工们的社会福利最大化,并将该理论应用在一种叫做几何支付的矿池中;利用进化博弈通过设置哈希率和区块传播延迟来研究矿池选择的动态性。

但是目前,矿池的研究主要还是在多个矿池之间的策略选择上,矿池的主要分配方式有PROP、PPLNS、PPS三种,矿池内部因为对算力和份额没有严格的限制,无论是否有成功挖掘出有效资料块,皆可经由对矿池的贡献来获得少量比特币奖励,虽然可能会减少矿工的收益风险,但是也因此增加了矿池管理员的风险,另外,矿池管理员在发布挖矿任务时,具体设置什么样的挖矿难度也是需要考虑的问题。

发明内容

针对上述问题,本发明提供了一种区块链矿池挖矿策略的博弈优化方法,解决针对矿池挖矿难度设置、矿工投入挖矿的算力大小以及提升矿池工作性能的问题。

本发明的技术方案是:一种区块链矿池挖矿策略的博弈优化方法,具体步骤如下:

步骤(1)、根据矿池的奖励分配机制,建立矿池管理员和矿工的效用函数;

步骤(2)、利用斯塔克尔伯格博弈,对矿池管理员和矿工之间的关系进行建模;

步骤(3)、根据建立的斯塔克尔伯格博弈模型,计算斯塔克尔伯格博弈的纳什均衡,使矿工们的策略处于稳定的状态;

步骤(4)、采用组合方案,将不参与挖矿的矿工进行组合,激励不参与挖矿的矿工组合后参加下一轮斯塔克尔伯格博弈,从而优化矿工组合之后的效用。

进一步的,在所述步骤(1)中,建立矿池管理员和矿工的效用函数的具体操作如下:

根据按算力比例分配矿池的奖励模式,即一旦产生区块会,根据每个矿工提交的工作量证明进行奖励分配:

(1.1)、设任意矿工i获得的预期区块数n

式(1)中,p

定义矿工i的效用函数u

式(2)中,U代表矿池中的所有矿工集合,c

将公式(1)代入公式(2),从而得到:

定义矿池管理员的效用函数u

式(4)中,p

进一步的,在所述步骤(2)中,对矿池管理员和矿工之间的关系进行建模的具体操作如下:

在斯塔克尔伯格博弈中,矿池管理员确定矿池中每轮的挖矿难度d,同时每个矿工i∈U确定各自的投入算力p

进一步的,在所述步骤(3)中,计算斯塔克尔伯格博弈的纳什均衡的具体操作步骤如下:

(3.1)、关于矿工i的最佳响应策略的分析如下:

对公式(3)求关于p

对公式(3)求关于p

此时,公式(5)是关于算力p

故,当

给定任意的难度0<d<D,任意矿工i的最佳响应策略B

式(8)中,p

(3.2)、将每个矿工根据各自的单位算力成本按照非递减顺序进行排序,设排序结果为c

(3.3)、初始化集合S为步骤(3.2)所述排序中的前两个矿工,即S←{1,2},集合S代表参与挖矿的矿工集合;

(3.4)、取关健值

(3.5)、按照步骤(3.2)所述排序,依次执行步骤(3.4),直至c

(3.6)、设

如i∈S且

如i∈S且

(3.7)、得到算力决定博弈的纳什均衡

(3.8)、确定矿池管理员的最佳策略,其操作过程如下:

作为斯塔克尔伯格博弈的领导者,矿池管理员通过选择最佳难度来最大化自身的效用;

最后,如

式(12)中,

公式(12)对d求一阶导,可得

进一步的,在所述步骤(4)中,组合不参与挖矿的矿工参加下一轮斯塔克尔伯格博弈的具体操作步骤如下:

(4.1)、计算矿工i的单位算力成本为:

式(13)中,

(4.2)、令在步骤(3)中计算的斯塔克尔伯格均衡中投入算力为0的矿工集合为:M=U\S,将M中的矿工进行组合,组合后的矿工整体视为特殊的挖矿用户,对任意组合

式(14)中,

(4.3)、组合的目标是建立一个组合G,使M中尽可能多的矿工参与组合G,并且使得组合能够在赢得下一轮斯塔克尔伯格博弈,具体问题定义如下:

式(15)中,

(4.4)、初始化组合G=U\S;

(4.5)、当

(4.6)、令矿工i为G中单位算力租赁成本和运营成本总和最高的矿工,即

(4.7)、将矿工从组合G中删除,即G=G\{i};

(4.8)、如|G|>1,则返回组合G,否则表明不需要组合;

(4.9)、结束。

本发明的有益效果是:本发明所述的一种区块链矿池挖矿策略的博弈优化方法,通过挖矿策略能够稳定地获得区块奖励,从而获得矿池管理员和矿工双方在按算力比例分配矿池中的最佳策略;另外通过降低挖矿成本,使矿池中更多的矿工投入算力,提升了矿池的挖矿性能,并且矿池管理员和矿工都能从低成本中获益。

附图说明

图1为本发明的区块链矿池挖矿策略的场景示意图;

图2为本发明的区块链矿池挖矿策略的优化方法流程图;

图3为本发明中计算斯塔克尔伯格博弈的纳什均衡的流程图;

图4为本发明中采用组合方案,将不参与挖矿的矿工进行组合的流程图。

具体实施方式

为了更清楚地说明本发明的技术方案,下面结合附图对本发明的技术方案做进一步的详细说明:

本发明所述的矿池挖矿策略的场景如图1所示,矿池管理者发布挖矿难度,矿工们以该难度选择各自的算力策略。再此基础上,矿工们可以通过组合控制挖矿时间降低组合成本。

本发明中各个名词解释如下:

纳什均衡:一组策略中每个玩家拥有其中一个策略,并且没有玩家可以通过单方面改变其策略来提高收益。

斯塔克尔伯格博弈:参与者包括一个领导者和一个或多个跟随者,领导者先行动,然后跟随者采取行动,领导者的最佳策略和跟随者的纳什均衡构成斯塔克尔伯格博弈的纳什均衡。

组合:多个单独挖矿用户组成的一个特殊网络结点。

由图2的流程图可知,一种区块链矿池挖矿策略的博弈优化方法,具体步骤如下:

步骤(1)、根据矿池的奖励分配机制,建立矿池管理员和矿工的效用函数;

步骤(2)、利用斯塔克尔伯格博弈,对矿池管理员和矿工之间的关系进行建模;

步骤(3)、根据建立的斯塔克尔伯格博弈模型,计算斯塔克尔伯格博弈的纳什均衡,使矿工们的策略处于稳定的状态;

步骤(4)、采用组合方案,将不参与挖矿的矿工进行组合,激励不参与挖矿的矿工组合后参加下一轮斯塔克尔伯格博弈,从而优化矿工组合之后的效用。

进一步的,在所述步骤(1)中,建立矿池管理员和矿工的效用函数的具体操作如下:

根据按算力比例分配矿池的奖励模式,即一旦产生区块会,根据每个矿工提交的工作量证明进行奖励分配:

(1.1)、设任意矿工i获得的预期区块数n

式(1)中,p

定义矿工i的效用函数u

式(2)中,U代表矿池中的所有矿工集合,c

将公式(1)代入公式(2),从而得到:

定义矿池管理员的效用函数u

式(4)中,p

进一步的,在所述步骤(2)中,对矿池管理员和矿工之间的关系进行建模的具体操作如下:

在斯塔克尔伯格博弈中,矿池管理员确定矿池中每轮的挖矿难度d,同时每个矿工i∈U确定各自的投入算力p

进一步的,在所述步骤(3)中,计算斯塔克尔伯格博弈的纳什均衡的具体操作步骤如下:

(3.1)、关于矿工i的最佳响应策略的分析如下:

对公式(3)求关于p

对公式(3)求关于p

此时,公式(5)是关于算力p

故,当

给定任意的难度0<d<D,任意矿工i的最佳响应策略B

式(8)中,p

(3.2)、将每个矿工根据各自的单位算力成本按照非递减顺序进行排序,设排序结果为c

(3.3)、初始化集合S为步骤(3.2)所述排序中的前两个矿工,即S←{1,2},集合S代表参与挖矿的矿工集合;

(3.4)、取关健值

(3.5)、按照步骤(3.2)所述排序,依次执行步骤(3.4),直至c

(3.6)、设

如i∈S且

如i∈S且

(3.7)、得到算力决定博弈的纳什均衡

理论1:算力决定博弈纳什均衡的存在性;

证明:首先,证明p

其次,证明对于任意

然后,证明对于任意i∈S且

最后,证明对于任意i∈S且

因此,p

理论2:算力决定博弈纳什均衡的唯一性;

证明:令集合

条件1:假设|S'|=0,矿工1可以单方面将其算力从0更改到

然后,假设|S'|=1,根据公式(3)矿工k的当前效用为

条件2:令n

因为

条件3:根据集合S'的定义,对于每一个i∈S'满足

假设存在矿工q的成本满足但是矿工q不在集合S'中;因为

条件4:假设矿工按照成本排序为c

假设q<h,则得到

上述条件表明算力决定博弈存在惟一的纳什均衡,由步骤(3.2)-(3.7)计算获得;

(3.8)、确定矿池管理员的最佳策略,其操作过程如下:

作为斯塔克尔伯格博弈的领导者,矿池管理员通过选择最佳难度来最大化自身的效用;

最后,考虑到如

式(12)中,

公式(12)对d求一阶导,可得

进一步的,在所述步骤(4)中,组合不参与挖矿的矿工参加下一轮斯塔克尔伯格博弈的具体操作步骤如下:

(4.1)、计算矿工i的单位算力成本为:

式(13)中,

(4.2)、令在步骤(3)中计算的斯塔克尔伯格均衡中投入算力为0的矿工集合为:M=U\S,将M中的矿工进行组合,组合后的矿工整体视为特殊的挖矿用户,对任意组合

式(14)中,

(4.3)、组合的目标是建立一个组合G,使M中尽可能多的矿工参与组合G,并且使得组合能够在赢得下一轮斯塔克尔伯格博弈,具体问题定义如下:

式(15)中,

(4.4)、初始化组合G=U\S;

(4.5)、当

(4.6)、令矿工i为G中单位算力租赁成本和运营成本总和最高的矿工,即

(4.7)、将矿工从组合G中删除,即G=G\{i};

(4.8)、如|G|>1,则返回组合G,否则表明不需要组合;

(4.9)、结束。

进一步的,步骤(4.4)-步骤(4.7)所述的组合算法是一个多项式时间算法:

证明:步骤(4.4)中获得集合S需要O(nlogn)时间,步骤(4.5)最坏情况需要进行

本实施例中,设置R=10为区块的奖励,设置D=2d

如果随机选取4名矿工的单位算力成本全部相同c

如果随机选取8名矿工的单位算力成本不全部相同,这8名矿工的最大算力和单位算力成本信息如下表所示:

根据步骤(3.5)计算得到S={1,2},key=2,所以矿工3,矿工4,矿工5,矿工6在第一轮斯塔克尔伯格博弈后不投入算力;根据步骤(3.6)计算得到

最后,应当理解的是,本发明中所述实施例仅用以说明本发明实施例的原则;其他的变形也可能属于本发明的范围;因此,作为示例而非限制,本发明实施例的替代配置可视为与本发明的教导一致;相应地,本发明的实施例不限于本发明明确介绍和描述的实施例。

相关技术
  • 一种区块链矿池挖矿策略的博弈优化方法
  • 基于区块链的服饰或鞋驱动云矿池挖矿的商业装置及方法
技术分类

06120113003989