logo好方法网

一种自适应POW计算分配的区块链分配方法及其系统


技术摘要:
本发明提出了一种自适应POW计算分配的区块链分配方法,其特征在于,包括如下步骤:S1,定义矿机进行POW计算的计算量;S2,分别计算矿机以及支撑服务器进行POW计算的开销,并设置约束条件;S3,以所述约束条件为前提,计算所述支撑服务器综合效用最大化时,所述区块链每  全部
背景技术:
区块链系统是一种分布式架构的数据存储和共识认证系统,在区块链中,分布式 的各个网络端共享一个基于哈希链连接在一起的“区块”数据结构构成的“账本”,在“账本” 更新的过程中,需要不断地添加新的“区块”,此时新的“区块”与现有“区块”通过哈希计算 连接在一起,由于哈希计算具有一定的必要的先决条件,因而形成了一个计算量极大的共 识认证过程,该共识认证过程被称之为POW,也称之为“挖矿”,参与该计算的计算设备则被 称之为“矿机”;一个区块链系统拥有若干个“矿机”,为了鼓励“矿机”加入POW计算,“矿机” 之间采用竞争机制,彼此独立且并行的开展POW计算,直至其中一台“矿机”成功完成满足先 决条件的POW计算,实现“账本”的更新,即将新的“区块”与“账本”中现有“区块”连接在一起 的过程,该成功完成POW计算的“矿机”会获得一定的收益,例如,在比特币的机制中,成功完 成POW计算的“矿机”可以获得一定数量的比特币作为奖励,然后,各个“矿机”针对下一个新 的“区块”以及更新后的现有“账本”,开始新一轮的POW计算。 但是,作为“矿机”的计算设备,需要具有一定的计算能力,由于普通电子设备的计 算能力无法支撑POW计算的极大的计算量,在使用普通电子设备作为“矿机”时,会影响“账 本”更新的效率,因而不能够满足使用的需求;有鉴于此,需要建立支撑服务器来协助普通 电子设备进行POW计算,即将普通电子设备进行POW计算时产生的计算量适当的分配给支撑 服务器共同执行。 因此,由于支撑服务器的计算资源有限,如何将“矿机”与支撑服务器之间的POW计 算分配实现整体效能的优化,以及均衡“矿机”与支撑服务器的开销和收益,是本领域技术 人员亟待解决的问题。
技术实现要素:
有鉴于此,本发明提供了一种自适应POW计算分配的区块链分配方法及其系统,通 过计算支撑服务器的综合效用的最大化时所述区块链每次成功完成POW计算所承担的数据 计算量以及计算线程数,进而确定支撑服务器所承担的POW计算,以期实现“矿机”与支撑服 务器之间的POW计算分配实现整体效能的优化,以及均衡“矿机”与支撑服务器的开销和收 益。 为了实现上述目的,本发明采用如下技术方案: 一种自适应POW计算分配的区块链分配方法,包括如下步骤: S1,定义矿机进行POW计算的计算量; 优选的,所述矿机进行POW计算的计算量In=(dn,bn);其中,dn为进行POW计算预计 需要的计算线程数,bn为进行POW计算预计的数据量,依据进行POW计算所需的预计计算线 4 CN 111581275 A 说 明 书 2/6 页 程数和预计数据量,对矿机进行POW计算的计算量进行总体的估计,为后续对矿机和支撑服 务器之间的POW计算的分配提供基础。 S2,分别计算矿机以及支撑服务器进行POW计算的开销,并设置约束条件; 具体的,所述矿机进行POW计算的开销为 所述支撑服务器针对所 述矿机进行POW计算的开销为 其中,n为矿机编号, 表示第n个矿 机的总开销, 表示时间开销权重, 表示时间开销, 表示矿机本地单位时间可启 用的计算线程数, 表示运算资源开销权重, 表示运算资源开销, 表示 每个计算线程的运算资源开销, 表示单位数据量的运算资源开销, 表示将POW计算 任务从矿机上传到支撑服务器的时间, 表示支撑服务器的计算时间,C表示支撑服务 器单位时间可启用的计算线程数,πn表示支撑服务器在完成POW计算后获得的收益值。 优选的,所述约束条件为所述矿机进行POW计算的开销 大于所述支撑服务器进 行POW计算的开销 所述约束条件的设置有利于均衡矿机和支撑服务器的开销。 S3,以所述约束条件为前提,计算所述支撑服务器综合效用最大化时,所述区块链 每次成功完成POW计算后所述支撑服务器获得的收益值、承担的数据计算量以及开启的计 算线程数,实现对所述支撑服务器和所述矿机之间POW计算的分配。 具体的,所述支撑服务器综合效用为 其中,R表示支撑服务器的综合效用,K表示所述支撑服务器对应的区块链编号,K表示利用 支撑服务器执行POW计算的区块链个数,Nk表示第K个区块链中在效用统计窗口内成功完成 POW计算的矿机数量,πk表示第K个区块链每次成功完成POW计算后支撑服务器获得的收益 值,prb表示支撑服务器的单位数据计算量的成本,prd表示支撑服务器的单位计算线程数的 成本,bk表示第k个区块链每次成功完成POW计算所承担的数据计算量,dk表示第k个区块链 每次成功完成POW计算所开启的计算线程数;所述计算结果有利于保证在所述支撑服务器 综合效用最大且开销较小时进行对所述支撑服务器和所述矿机之间POW计算的分配,保证 了在所述支撑服务器实现矿机与支撑服务器之间的POW计算分配实现整体效能的优化。 基于上述方法,设计如下系统: 一种自适应POW计算分配的区块链系统,包括矿机、支撑服务器,还包括分配模块; 其中, 所述分配模块包括定义单元、约束条件设置单元以及计算量分配单元; 所述定义单元用于定义所述矿机进行POW计算的计算量; 所述约束条件设置单元用于分别计算所述矿机以及所述支撑服务器进行POW计算 的开销,并设置约束条件; 所述计算分配单元用于以所述约束条件为前提,计算所述支撑服务器综合效用最 大化时,所述区块链每次成功完成POW计算后所述支撑服务器获得的收益值、承担的数据计 算量以及开启的计算线程数,实现对所述支撑服务器和所述矿机之间POW计算的分配。 优选的,所述矿机进行POW计算的计算量In=(dn,bn);其中,dn为进行POW计算预计 5 CN 111581275 A 说 明 书 3/6 页 需要的计算线程数,bn为进行POW计算预计的数据量,依据进行POW计算所需的预计计算线 程数和预计数据量,对矿机进行POW计算的计算量进行总体的估计,为后续对矿机和支撑服 务器之间的POW计算的分配提供基础。 优选的,所述矿机进行POW计算的开销为 所述支撑服务器针对所 述矿机进行POW计算的开销为 其中,n为矿机编号, 表示第n个矿 机的总开销, 表示时间开销权重, 表示时间开销, 表示矿机本地单位时间可启 用的计算线程数, 表示运算资源开销权重, 表示运算资源开销, 表示每 个计算线程的运算资源开销, 表示单位数据量的运算资源开销, 表示将POW计算任 务从矿机上传到支撑服务器的时间, 表示支撑服务器的计算时间,C表示支撑服务器 单位时间可启用的计算线程数,πn表示支撑服务器在完成POW计算后获得的收益值。 优选的,所述约束条件为所述矿机进行POW计算的开销 大于所述支撑服务器进 行POW计算的开销 所述约束条件的设置有利于均衡矿机和支撑服务器的开销。 优选的,所述支撑服务器综合效用为 其中,R表示支撑服务器的综合效用,K表示所述支撑服务器对应的区块链编号,K表示利用 支撑服务器执行POW计算的区块链个数,Nk表示第K个区块链中在效用统计窗口内成功完成 POW计算的矿机数量,πk表示第K个区块链每次成功完成POW计算后支撑服务器获得的收益 值,prb表示支撑服务器的单位数据计算量的成本,prd表示支撑服务器的单位计算线程数的 成本,bk表示第k个区块链每次成功完成POW计算所承担的数据计算量,dk表示第k个区块链 每次成功完成POW计算所开启的计算线程数;所述计算结果有利于保证在所述支撑服务器 综合效用最大且开销较小时进行对所述支撑服务器和所述矿机之间POW计算的分配,保证 了在所述支撑服务器实现矿机与支撑服务器之间的POW计算分配实现整体效能的优化。 本发明具有以下有益效果: 经由上述的技术方案可知,基于现有技术,本发明提出了一种自适应POW计算分配 的区块链分配方法及其系统,有利于实现“矿机”与支撑服务器之间的POW计算分配的整体 效能的优化,以及均衡“矿机”与支撑服务器的开销和收益。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据 提供的附图获得其他的附图。 图1为本发明的一种自适应POW计算分配的区块链分配方法流程图; 图2为本发明的一种自适应POW计算分配的区块链系统框图。 6 CN 111581275 A 说 明 书 4/6 页
分享到:
收藏