会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 资料储存系统 / 工作量证明 / 一种利用区块链共识算力实现优化运算的系统

一种利用区块链共识算力实现优化运算的系统

阅读:1148发布:2020-07-16

IPRDB可以提供一种利用区块链共识算力实现优化运算的系统专利检索,专利查询,专利分析的服务。并且本发明公开了一种利用区块链共识算力实现优化运算的系统。本发明的核心创新点是提出了一种新的工作量证明算法,利用求解标准化的排序问题实现区块链系统的共识,同时提出了一种将实际最优化问题转化为一系列标准化的排序问题,并分发给区块链系统的各个记账节点去求解,并最终将各个子问题的解合并为原问题解的系统。使用本发明提供的系统可以将原本完全无用的区块链系统共识算力充分利用起来,为求解各类最优化问题提供强大的算力支持,从而发挥出巨大的经济和社会效益。,下面是一种利用区块链共识算力实现优化运算的系统专利的具体信息内容。

1.一种利用区块链共识算力实现优化运算的系统,其特征在于,包括实际最优化问题处理层、标准排序问题处理层、uPoW共识层及区块链账本/应用层,其中:实际最优化问题处理层,用于与实际用户进行交互,接受用户输入的实际问题,并经过模型转化、标准化和模型拆解,将实际问题分解为若干个标准排序子问题;实际最优化问题处理层将反馈自标准排序问题处理层的相应标准排序子问题的解再组装成原有的实际问题的解;

标准排序问题处理层包括待解问题池和已解问题池,实际最优化问题处理层分解得到的标准排序子问题存入待解问题池内;标准排序问题处理层对待解问题池收到返回的解后,进行有效性验证,并将一段时间内收到的最优解作为当前标准排序子问题的解记录下来,将当前标准排序子问题及其解移动到已解问题池中;标准排序问题处理层将已解问题池中的标准排序子问题及其解反馈给实际最优化问题处理层;

uPoW共识层从待解问题池内取出标准排序子问题进行求解,将针对标准排序问题的求解运算过程作为共识算法的工作量证明机制,用来生成新的区块以及驱动整个区块链系统;uPoW共识层将求得的满足条件的标准排序问题的解返回给待解问题池;

区块链账本/应用层,用于支持区块链系统上的业务逻辑和应用运行。

2.如权利要求1所述的一种利用区块链共识算力实现优化运算的系统,其特征在于,所述实际最优化问题处理层将实际问题分解为若干个标准排序子问题包括以下步骤:步骤A.1、用户根据标准问题模型,提交实际的最优化问题到实际最优化问题处理层,并选择和配置优化参数;

步骤A.2、实际最优化问题处理层将实际的最优化问题转化为无约束的标准排序问题,并生成用于问题求解的问题空间测度矩阵;

步骤A.3、如果实际的最优化问题规模不大于标准排序问题规模,则直接将标准排序问题提交至标准排序问题处理层的待解问题池,如果实际的最优化问题规模大于标准排序问题规模,则构造一个用于将原有的实际问题进行最优拆分的标准排序问题P0;

步骤A.4.将标准排序问题P0提交到标准排序问题处理层的待解问题池,从标准排序问题处理层的已解问题池得到标准排序问题P0的解后,根据算法将原有的实际问题拆分成相互独立的若干个标准排序子问题,得到子问题集合S;

步骤A.5、将子问题集合S提交到标准排序问题处理层的待解问题池。

3.如权利要求1所述的一种利用区块链共识算力实现优化运算的系统,其特征在于,所述步骤A.1中,将实际的最优化问题都转化为最优排序问题,最优排序问题的数学模型为:式中,n为最优排序问题中所有参与排序的节点个数;下标集合I包含了所有节点的下标;xij是待求解的有向序列,当节点i到节点j有弧连接时,则xij=1,否则xij=0;dij是节点i与节点j之间两两距离;fmin是优化目标函数;

最优排序问题的约束条件归纳为两种类型,分别是具有总量限制的约束条件和零和约束条件,表达式如下:式中,cijk表示连接节点i和节点j的弧上第k个具有总量限制约束的条件取值;Tk表示第k个具有总量限制约束的限制阈值;c'ijk表示连接节点i和节点j的弧上第k个零和限制约束的条件取值。

4.如权利要求3所述的一种利用区块链共识算力实现优化运算的系统,其特征在于,所述步骤A.2中,通过引入惩罚因子的方法,将步骤A.1的最优排序问题的约束条件合并到目标函数的表达式中,把带约束的最优排序问题转化为无约束的标准排序问题,标准排序问题的目标函数为:式中,P1k和P2k'为两个足够大的正数。

5.如权利要求4所述的一种利用区块链共识算力实现优化运算的系统,其特征在于,所述步骤A.3中,设标准排序问题的节点数为m,实际的最优化问题的节点数nm,且npm,则需要构造一个新的标准排序问题,通过求解这个排序问题得到子集拆分方案,则构造一个用于将原有的实际问题进行最优拆分的标准排序问题P0包括以下步骤:步骤D.1、在距离dij中找到距离最小的一个向量,并取得这个距离的两个下标变量i0和j0;

步骤D.2、寻找以下标i0为终点的最短距离,得到起点的下标i1;

步骤D.3、寻找以下标j0为起点的最短距离,得到终点的下标j1;

步骤D.4、重复步骤D.2和步骤D.3,找到 和 直到p1+p2>p;

步骤D.5、将上述这些下标的点打包成一个新的点,并用中心点i0代表这个新的节点,同时从候选节点集合中将这些节点剔除,回到步骤D.1,重复上述过程,直到候选节点中剩下的节点数量小于p,这时,使用新的节点集合和新的距离有向图,就构造出一个标准排序问题P0。

6.如权利要求1所述的一种利用区块链共识算力实现优化运算的系统,其特征在于,所述uPoW共识层从待解问题池内取出标准排序子问题进行求解,将针对标准排序问题的求解运算过程作为共识算法的工作量证明机制,用来生成新的区块以及驱动整个区块链系统包括以下步骤:步骤C.1、记账节点访问待解问题池,根据时间顺序读取池中的标准排序问题;

步骤C.2、记账节点使用标准的优化算法求解标准排序问题;

步骤C.3、记账节点进行计算将求得的满足条件的标准排序问题的解返回给待解问题池,并将解打包到新生成的区块中,进行全网广播;

步骤C.4、接收到新区块广播的节点进行新区块有效性验证,如果通过验证则停止本节点正在进行的求解工作,写入新区块,同时将该区块进行全网广播;

步骤C.5、经过一段时间后,区块链系统中的多数节点均确认并接受了该高度的新区块,则共识过程结束,区块链系统进入下一个高度的区块生成程序。

7.如权利要求6所述的一种利用区块链共识算力实现优化运算的系统,其特征在于,所述步骤C.1至所述步骤C.3包括以下步骤:(1)记账节点在待打包交易池中的交易数量足够时,访问待解问题池,根据时间顺序,获取一个标准排序问题作为新区块的生成依据;

(2)记账节点通过Merkle树算法将待打包的交易集合取Hash值作为数据部分的Hash值,再将上一个区块的头部Hash、交易部分Hash值、时间戳、区块高度,再加上标准排序问题的Hash值一起再取Hash值,作为区块特征Hash值;

(3)将区块特征Hash值通过映射函数map,得到m’个新节点加入到标准排序问题中,并更新距离图和约束值图,得到新的优化排序问题;

(4)使用标准的优化算法求解优化排序问题;

(5)经过一定时间的迭代,当结果满足优化目标时,即视为求解过程结束,记账节点将求得的解返回给待解问题池,并将解打包到新生成的区块中,进行全网广播。

说明书全文

一种利用区块链共识算力实现优化运算的系统

技术领域

[0001] 本发明涉及一种利用区块链系统共识算法运算能力来求解实际最优化问题的系统,属于信息技术应用领域。

背景技术

[0002] 区块链技术是2008年被提出的,中本聪发布了《比特币白皮书》阐述了比特币及作为其底层的区块链技术的原理和特点。2009年该构想被中本聪及其他一些人所实现,比特币正式诞生。而区块链作为比特币背后的技术,近年来得到了越来越多的关注,甚至超越比特币本身,被视为整个加密电子货币浪潮中最具发展和应用潜力的一项技术。可以把区块链理解为一个在网络上的去中心化的分布式共享账本或者数据库,它可以保证这个账本或者数据库的一致性、安全性及可维护性。除了加密电子货币,它还可以应用到支付、证券交易、股票交易、物联网、身份认证、电子合同等很多领域中。
[0003] 狭义来看,区块链是一种数据结构。它由一个又一个固定大小的数据区块首尾链接地串联成一条链状的巨大数据结构。其中每一个区块由头部和身体两个部分组成,身体部分负责存放区块数据,头部主要记录了区块身体部分的摘要信息以及前一个区块头部的信息。如此一来,一旦记录着数据的区块构成链条,其先后顺序、记录的数据内容都固定,且之后也无法再做修改。因此,区块链具有不可篡改性。广义来看,区块链是一种去中心化的分布式共享账本,在点对点网络中每一个节点都具有完整的区块链数据,对区块链进行任何操作都必需得到全网节点的验证和认可,才可以被执行和生效。由于区块链网络模型中没有可信第三方的存在,因此需要设计某种算法和机制,来实现系统中不同的节点之间的分布式信息校验与可信数据同步,称为“共识机制”。共识机制是区块链技术最基础、最核心的部分之一。迄今为止,已经有很多种不同的共识机制被提出。其中,以比特币为代表的工作量证明Proof-of-Work(简称PoW)算法是最早被提出的共识机制,同时也是使用最广泛、公认最安全的共识机制。
[0004] 以比特币交易为例,假设Alice要向Bob支付50个比特币。Alice首先生成一个新的交易,选择自己的一笔60比特币的“存款”作为输入(Input),接着指明收款方Bob的“账号”,然后设置交易金额(Output)为50比特币,由于该笔“存款”大于需支付金额,因此会有一个找零(Change)即10比特币会归还Alice。最后,Alice对这笔交易进行“签名”来证明这笔交易是真实有效并且经过自己授权确认的。交易数据生成完毕。
[0005] 下一步,Alice会把这笔交易数据在区块链全网广播出去,任何接收到这条数据的节点都可以参与交易的验证和确认过程。首先,验证节点验证交易数据本身的完整性和合法性,验证收款方“账号”是否合法,验证签名是否合法。如果这些检验都通过,接着验证节点开始验证金额有效性,即输入金额是否等于输出金额加找零金额,同时验证输入金额是否大于等于输出金额或者找零金额是否大于等于0。如果这一步验证也通过,则说明该交易真实有效,于是验证方会将这笔交易写入区块链中。
[0006] 这个写入区块链的过程,需要通过一种称为“工作量证明(Proof-of-Work)”的算法来实现。而试图生成新区块的节点,称为记账节点。
[0007] 首先,记账节点将经过验证流程确认为有效的交易写入一个交易池中,等待被打包到新的区块中。当交易池中的待打包交易达到一定的数量后,记账节点根据先进先出的规则,从交易池中选择固定数量的已验证交易尝试生成新的区块。记账节点会通过Merkle树算法将这些待打包的交易取Hash值作为数据部分的Hash值,再将上一个区块的头部Hash、交易部分Hash值、时间戳等必要数据加上一个随机数再取Hash值。如果这个Hash值满足一定的难度条件,例如前N位均为0,则新的区块成功生成;否则,更换一个随机数,重新计算头部Hash值,再进行难度条件判断。重复上述过程,直到找到满足条件的随机数为止,或者同样高度的新区块被其他记账节点首先找到。
[0008] 新区块的生成是一个竞争的过程,找到满足条件的随机数的记账节点会将新生成的区块广播到网络中,每一个收到新区块的节点会验证该区块的有效性,如果有效则写入该节点本地的区块链数据文件中。而率先找到新区块并且被网络大多数节点接受的记账节点会得到系统的奖励。这个过程就是PoW共识机制。
[0009] 可以发现,整个PoW共识的过程,消耗最大计算资源的步骤,在于不停的重复寻找符合难度条件的随机数。这个过程包含三个操作:生成随机数,计算Hash值,判断难度条件是否符合。这些“掷色子”般的随机运算,其唯一目的是为“攻击者”制造一个算力门槛,让恶意操纵网络或篡改历史数据变得成本极高,而运算本身并没有任何实际意义,也不解决任何有价值的问题,只是一味的消耗算力资源。据测算,2018年为确保全球比特币网络正常运行而投入的总算力,其消耗的电力超过了发达国家瑞士一年的用电量。而这些消耗的电力除了保证了比特币网络的正常运行,产生了一些新增的比特币之外,并没有创造任何实际的价值。
[0010] 随着大数据、物联网、人工智能等新技术的兴起,全世界对数据处理和运算的需求从未如此高涨,这需要无比巨大的运算能力支持。无论是AI模型的训练,各类行业大数据的挖掘,新药物的研发,基因序列的测定等,都涉及到最优化问题求解过程,需要庞大的算力。而与上文相类似的运算操作在最优化问题求解过程中也很常见。例如,使用基因算法求解旅行商人问题时,算法就是在重复几个基本操作:随机生成新的基因,计算基因的目标函数,判断是否符合结束条件。区别在于,基因算法的最终结果对应于一个旅行商人问题的优化解,可以映射到一个实际的物流路线规划问题,或者生产调度问题的优化方案。这可以解决很多实际问题,生产很大的价值。如果可以将区块链系统中被浪费的算力用于解决这些实际问题,就可以大大减少能源的无谓消耗,提高资源的利用率,同时可以创造出巨大的价值。

发明内容

[0011] 本发明目的是:充分利用采用工作量证明共识算法的区块链系统的巨大算力,从而实现有价值的运算,减少能源浪费。
[0012] 为了达到上述目的,本发明的技术方案是提供了一种利用区块链共识算力实现优化运算的系统,其特征在于,包括实际最优化问题处理层、标准排序问题处理层、uPoW共识层及区块链账本/应用层,其中:
[0013] 实际最优化问题处理层,用于与实际用户进行交互,接受用户输入的实际问题,并经过模型转化、标准化和模型拆解,将实际问题分解为若干个标准排序子问题;实际最优化问题处理层将反馈自标准排序问题处理层的相应标准排序子问题的解再组装成原有的实际问题的解;
[0014] 标准排序问题处理层包括待解问题池和已解问题池,实际最优化问题处理层分解得到的标准排序子问题存入待解问题池内;标准排序问题处理层对待解问题池收到返回的解后,进行有效性验证,并将一段时间内收到的最优解作为当前标准排序子问题的解记录下来,将当前标准排序子问题及其解移动到已解问题池中;标准排序问题处理层将已解问题池中的标准排序子问题及其解反馈给实际最优化问题处理层;
[0015] uPoW共识层从待解问题池内取出标准排序子问题进行求解,将针对标准排序问题的求解运算过程作为共识算法的工作量证明机制,用来生成新的区块以及驱动整个区块链系统;uPoW共识层将求得的满足条件的标准排序问题的解返回给待解问题池;
[0016] 区块链账本/应用层,用于支持区块链系统上的业务逻辑和应用运行。
[0017] 优选地,所述实际最优化问题处理层将实际问题分解为若干个标准排序子问题包括以下步骤:
[0018] 步骤A.1、用户根据标准问题模型,提交实际的最优化问题到实际最优化问题处理层,并选择和配置优化参数;
[0019] 步骤A.2、实际最优化问题处理层将实际的最优化问题转化为无约束的标准排序问题,并生成用于问题求解的问题空间测度矩阵;
[0020] 步骤A.3、如果实际的最优化问题规模不大于标准排序问题规模,则直接将标准排序问题提交至标准排序问题处理层的待解问题池,如果实际的最优化问题规模大于标准排序问题规模,则构造一个用于将原有的实际问题进行最优拆分的标准排序问题P0;
[0021] 步骤A.4.将标准排序问题P0提交到标准排序问题处理层的待解问题池,从标准排序问题处理层的已解问题池得到标准排序问题P0的解后,根据算法将原有的实际问题拆分成相互独立的若干个标准排序子问题,得到子问题集合S;
[0022] 步骤A.5、将子问题集合S提交到标准排序问题处理层的待解问题池。
[0023] 优选地,所述步骤A.1中,将实际的最优化问题都转化为最优排序问题,最优排序问题的数学模型为:
[0024]
[0025] 式中,n为最优排序问题中所有参与排序的节点个数;下标集合I包含了所有节点的下标;xij是待求解的有向序列,当节点i到节点j有弧连接时,则xij=1,否则xij=0;dij是节点i与节点j之间两两距离;fmin是优化目标函数;
[0026] 最优排序问题的约束条件归纳为两种类型,分别是具有总量限制的约束条件和零和约束条件,表达式如下:
[0027]
[0028] 式中,cijk表示连接节点i和节点j的弧上第k个具有总量限制约束的条件取值;Tk表示第k个具有总量限制约束的限制阈值;c'ijk表示连接节点i和节点j的弧上第k个零和限制约束的条件取值。
[0029] 优选地,所述步骤A.2中,通过引入惩罚因子的方法,将步骤A.1的最优排序问题的约束条件合并到目标函数的表达式中,把带约束的最优排序问题转化为无约束的标准排序问题,标准排序问题的目标函数为:
[0030]
[0031] 式中,P1k和P2k'为两个足够大的正数。
[0032] 优选地,所述步骤A.3中,设标准排序问题的节点数为m,实际的最优化问题的节点数nm,且np m,则需要构造一个新的标准排序问题,通过求解这个排序问题得到子集拆分方案,则构造一个用于将原有的实际问题进行最优拆分的标准排序问题P0包括以下步骤:
[0033] 步骤D.1、在距离dij中找到距离最小的一个向量,并取得这个距离的两个下标变量i0和j0;
[0034] 步骤D.2、寻找以下标i0为终点的最短距离,得到起点的下标i1;
[0035] 步骤D.3、寻找以下标j0为起点的最短距离,得到终点的下标j1;
[0036] 步骤D.4、重复步骤D.2和步骤D.3,找到 和 直到p1+p2>p;
[0037] 步骤D.5、将上述这些下标的点打包成一个新的点,并用中心点i0代表这个新的节点,同时从候选节点集合中将这些节点剔除,回到步骤D.1,重复上述过程,直到候选节点中剩下的节点数量小于p,这时,使用新的节点集合和新的距离有向图,就构造出一个标准排序问题P0。
[0038] 优选地,所述uPoW共识层从待解问题池内取出标准排序子问题进行求解,将针对标准排序问题的求解运算过程作为共识算法的工作量证明机制,用来生成新的区块以及驱动整个区块链系统包括以下步骤:
[0039] 步骤C.1、记账节点访问待解问题池,根据时间顺序读取池中的标准排序问题;
[0040] 步骤C.2、记账节点使用标准的优化算法求解标准排序问题;
[0041] 步骤C.3、记账节点进行计算将求得的满足条件的标准排序问题的解返回给待解问题池,并将解打包到新生成的区块中,进行全网广播;
[0042] 步骤C.4、接收到新区块广播的节点进行新区块有效性验证,如果通过验证则停止本节点正在进行的求解工作,写入新区块,同时将该区块进行全网广播;
[0043] 步骤C.5、经过一段时间后,区块链系统中的多数节点均确认并接受了该高度的新区块,则共识过程结束,区块链系统进入下一个高度的区块生成程序。
[0044] 优选地,所述步骤C.1至所述步骤C.3包括以下步骤:
[0045] (1)记账节点在待打包交易池中的交易数量足够时,访问待解问题池,根据时间顺序,获取一个标准排序问题作为新区块的生成依据;
[0046] (2)记账节点通过Merkle树算法将待打包的交易集合取Hash值作为数据部分的Hash值,再将上一个区块的头部Hash、交易部分Hash值、时间戳、区块高度,再加上标准排序问题的Hash值一起再取Hash值,作为区块特征Hash值;
[0047] (3)将区块特征Hash值通过映射函数map,得到m’个新节点加入到标准排序问题中,并更新距离图和约束值图,得到新的优化排序问题;
[0048] (4)使用标准的优化算法求解优化排序问题;
[0049] (5)经过一定时间的迭代,当结果满足优化目标时,即视为求解过程结束,记账节点将求得的解返回给待解问题池,并将解打包到新生成的区块中,进行全网广播。
[0050] 本发明的核心创新点是提出了一种新的工作量证明算法,利用求解标准化的排序问题实现区块链系统的共识,同时提出了一种将实际最优化问题转化为一系列标准化的排序问题,并分发给区块链系统的各个记账节点去求解,并最终将各个子问题的解合并为原问题解的系统。使用本发明提供的系统可以将原本完全无用的区块链系统共识算力充分利用起来,为求解各类最优化问题提供强大的算力支持,从而发挥出巨大的经济和社会效益。

附图说明

[0051] 图1为整体架构图;
[0052] 图2为最优化问题层处理步骤;
[0053] 图3为标准排序问题层处理步骤;
[0054] 图4为uPoW共识层处理步骤;
[0055] 图5为总体处理步骤。

具体实施方式

[0056] 下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
[0057] 如图1所示本发明提供的一种利用区块链共识算力实现优化运算的系统分为两个主要部分,虚线上方为求解和处理最优化问题,产生生产力和实际使用价值的部分,其架构可以是中心化的。虚线下方为区块链系统部分,由uPoW共识层驱动,可以实现账本应用或其他诸如智能合约的复杂应用,其架构是去中心化的。
[0058] 最优化问题处理部分又可以分为两层,上方为实际最优化问题处理层,负责与实际用户的交互,接受实际问题,并经过模型转化、标准化和模型拆解,将实际问题分解为若干个标准排序问题,最后负责将子问题的解再组装成原问题的解。位于下方的是标准排序问题处理层,包含待解问题池和已解问题池,负责与区块链系统的共识层进行数据交互。
[0059] 区块链系统部分也可以分为两层,上方与最优化问题处理部分相衔接的是uPoW共识层(useful-Proof-of-Work),这个也是本发明的核心创新部分,负责将针对标准排序问题的求解运算过程作为共识算法的工作量证明机制,用来生成新的区块以及驱动整个区块链系统。位于下方的是区块链账本/应用层,这一层用于支持区块链系统上的业务逻辑和应用运行,它与普通的区块链系统十分相似,这种设计便于将整个技术方案在不同的区块链系统间进行移植。
[0060] 实际最优化问题处理层的运行原理包括以下步骤:
[0061] 步骤A.1、用户根据标准问题模型,提交实际的最优化问题到实际最优化问题处理层,并选择和配置优化参数;
[0062] 步骤A.2、实际最优化问题处理层根据算法将实际的最优化问题转化为无约束的标准排序问题,并生成用于问题求解的问题空间测度矩阵;
[0063] 步骤A.3、如果实际的最优化问题的规模大于无约束的标准排序问题规模,则构造一个标准排序问题P0用于将原最优化问题进行最优拆分;
[0064] 步骤A.4、将标准排序问题P0提交到标准排序问题处理层的待解问题池,转到步骤B.1;
[0065] 步骤A.5、得到标准排序问题P0的解后,根据算法将原最优化问题拆分成相互独立的若干个子标准排序问题,得到子问题集合S;
[0066] 步骤A.6、将子问题集合S提交到标准排序问题处理层的待解问题池,转到步骤B.1;
[0067] 步骤A.7、当子问题集合S中的所有子问题Pi都被求解后,根据标准排序问题P0的解将这些解进行组合,最后得到原最优化问题的解,整个求解过程结束。
[0068] 标准排序问题处理层的运行原理包括以下步骤:
[0069] 步骤B.1、标准排序问题进入待解问题池,这些问题可以被区块链记账节点访问到,并根据一定的规则被记账节点读取后进行求解,转到步骤C.1;
[0070] 步骤B.2、待解问题池收到区块链系统返回的解时,标准排序问题处理层会进行有效性验证,并将一段时间内收到的最优解作为该问题的解记录下来,然后将这个问题移动到已解问题池中;
[0071] 步骤B.3、将已解问题池中的问题和解逐一返回给提交给问题的节点,转到步骤A.5或步骤A.7。
[0072] uPoW共识层的运行原理包括以下步骤:
[0073] 步骤C.1、记账节点访问待解问题池,根据时间顺序读取池中的标准排序问题;
[0074] 步骤C.2、记账节点使用基因算法,求解标准排序问题;
[0075] 步骤C.3、记账节点进行计算将求得的满足条件的标准排序问题解返回给待解问题池,并将解打包到新生成的区块中,进行全网广播;
[0076] 步骤C.4、接收到新区块广播的节点进行新区块有效性验证,如果通过验证则停止本节点正在进行的求解工作,写入新区块,同时将该区块进行全网广播;
[0077] 步骤C.5、经过一段时间后,区块链系统中的多数节点均确认并接受了该高度的新区块,则共识过程结束,区块链系统进入下一个高度的区块生成程序。
[0078] 以上步骤大致解释了整个系统的运行原理,下面分别就每一层的具体操作步骤及核心技术进行描述。
[0079] 1)实际最优化问题处理层
[0080] 许多现实生活中的最优化问题都可以转化为最优排序问题,其数学模型可以写成如下形式:
[0081]
[0082]
[0083] 其中,n为排序问题中所有参与排序的节点个数,下标集合I包含了所有节点的下标,xij是待求解的有向序列,dij是节点i与节点j之间两两距离,fmin是优化目标函数,这里取最小值即需要求解总距离最短的一条经过所有节点的路径。
[0084] 约束条件(1)代表xij的取值为0或者1,当节点i到节点j有弧连接时,则xij=1,否则xij=0;
[0085] 约束条件(2)代表连接弧是有方向的,因此xij=1时xji=0;
[0086] 约束条件(3)和(4)代表每个节点经过且仅经过1次,既不能在序列中重复,也不能不出现在序列中。
[0087] 实际的优化问题往往还有其他的约束条件,通过恰当的建模处理,可以将很多常见的约束条件归纳为两种形式,即具有总量限制的约束条件和零和约束条件,表达式如下:
[0088]
[0089] 式中,cijk表示连接节点i和节点j的弧上第k个具有总量限制约束的条件取值;Tk表示第k个具有总量限制约束的限制阈值;c'ijk表示连接节点i和节点j的弧上第k个零和限制约束的条件取值。
[0090] 约束条件(5)规定了序列某种度量下的上限;
[0091] 约束条件(6)规定了序列在另一种度量下必需为0,即达到某种平衡。
[0092] 通过引入惩罚因子的方法,可以将这两种约束条件合并到目标函数的表达式中,这样就可以把带约束的问题转化为无约束的最优序列问题
[0093]
[0094] 其中,P1k和P2k'为两个足够大的正数。上述目标函数的表达式,也是标准排序问题的目标函数。
[0095] 经过这些处理和转化即实现了前述的步骤A.1和步骤A.2。
[0096] 设标准排序问题的节点数为m,实际的最优化问题的节点数nm,且np m,则需要构造一个新的标准排序问题,通过求解这个排序问题得到子集拆分方案,则构造一个用于将原有的实际问题进行最优拆分的标准排序问题P0包括以下步骤:
[0097] 步骤D.1、在距离dij中找到距离最小的一个向量,并取得这个距离的两个下标变量i0和j0;
[0098] 步骤D.2、寻找以下标i0为终点的最短距离,得到起点的下标i1;
[0099] 步骤D.3、寻找以下标j0为起点的最短距离,得到终点的下标j1;
[0100] 步骤D.4、重复步骤D.2和步骤D.3,找到 和 直到p1+p2>p;
[0101] 步骤D.5、将上述这些下标的点打包成一个新的点,并用中心点i0代表这个新的节点,同时从候选节点集合中将这些节点剔除,回到步骤D.1,重复上述过程,直到候选节点中剩下的节点数量小于p,这时,使用新的节点集合和新的距离有向图,就构造出一个标准排序问题P0;
[0102] 步骤D.6、求解标准排序问题P0可以得到最优排序x0,将最优排序x0展开后就可以得到n个节点的序列x;
[0103] 步骤D.7、在n个节点的序列x的基础上,按顺序每m个节点组成一个子问题,就可以得到子问题集合S;
[0104] 通过上述这些操作就可以实现步骤A.3~步骤A.5。
[0105] 最后当子问题集合S的所有标准排序问题都被求解后,将这些子序列根据最优排序x0的顺序组合在一起,就可以得到原问题的最终解。
[0106] 2)标准排序问题处理层
[0107] 标准排序问题的表达式如下:
[0108]
[0109] IS={is1,is2,is3,...,ism},isj∈I
[0110] 其中,目标函数的表达式与原问题的表达式类似,区别在于下标集合为节点子集。而节点距离图dij,约束值图cijk和c'ijk'对每个子问题都是不变的。
[0111] 当新的标准排序问题进入待解问题池时,系统可以通过启发式算法对标准排序问题进行上限的快速求解。可以使用的上限计算方法很多,不失一般性的,这里可以使用Est(Pi)来表示。
[0112] 每个标准排序问题经过上限运算,可以生成一个优化目标根据经验进行设置。求解时只要得到的结果满足优化目标条件,即可退出迭代。这个过程对应步骤B.1。
[0113] 当标准排序问题的解被求出并返回时,待解问题池会对解进行有效性验证,并判断是否满足优化目标。如果解有效,则将这个问题移动到已解问题池。这个过程对应步骤B.2。
[0114] 已解问题池是一个缓冲区,这里的问题已经有对应的解,会根据时间顺序,通知提交问题的程序,并将结果返回。这个过程对应步骤B.3。
[0115] 3)uPoW共识层
[0116] 记账节点在待打包交易池中的交易数量足够时,访问待解问题池,根据时间顺序,获取一个标准排序问题作为新区块的生成依据。
[0117] 记账节点通过Merkle树算法将待打包的交易集合取Hash值作为数据部分的Hash值,再将上一个区块的头部Hash、交易部分Hash值、时间戳、区块高度等必要数据,再加上标准排序问题的Hash值一起再取Hash值,作为区块特征Hash值。
[0118] 将区块特征Hash值通过映射函数map,得到m’个新节点加入到标准排序问题中,并更新距离图和约束值图,得到新的优化排序问题。
[0119] 使用标准的优化算法求解排序问题。可以选择的优化算法很多,诸如基因算法,模拟退火算法,粒子算法等等。不失一般性的,这里假设使用基因算法求解新得到的排序问题。
[0120] 经过一定时间的迭代,当结果满足优化目标时,即视为求解过程结束。记账节点将求得的解返回给待解问题池,并将解打包到新生成的区块中,进行全网广播。这里对应了步骤C.1~步骤C.3。
[0121] 之后的操作步骤与步骤C.4和步骤C.5的描述一致,uPoW共识过程结束,区块链系统进入下一个高度的区块生成程序。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用