1.一种基于群体智能的区块链智能合约的冲突裁决方法,其特征在于,包括以下步骤:步骤1,裁决初始化;
步骤2,冲突匹配;
步骤3,冲突裁决;
步骤4,裁决执行;
在步骤1中,设置冲突裁决参数,多个智能合约智能体(101)采集智能合约和交易消息,通过区块链网络(102)将智能合约参数和交易消息输入冲突匹配智能体(104);
在步骤2中,多个冲突匹配智能体(104)根据智能合约智能体(101)发送来的智能合约参数和交易消息,通过区块链网络(102)检索数据区块智能体(103),进行冲突匹配,将冲突匹配结果送入冲突裁决智能体(105);
在步骤3中,多个冲突裁决智能体(105)根据冲突匹配智能体(104)发送来的冲突匹配结果进行冲突裁决,并通过区块链网络(102)将冲突裁决结果发送到裁决后执行智能体(106);
在步骤4中,多个裁决后执行智能体(106)根据冲突裁决智能体(105)发送来的裁决结果,通过区块链网络(102)控制智能合约智能体(101)和数据区块智能体(103)的执行;
在步骤1中,包括以下子步骤:
子步骤1‑1,设置冲突裁决参数;
子步骤1‑2,采集智能合约参数;
子步骤1‑3,采集交易消息;
子步骤1‑4,信息发送;
所述步骤2,具体包括以下步骤:
子步骤2‑1,智能体接收消息;多个冲突匹配智能体(104)接收智能合约智能体(101)发送来的智能合约参数和交易消息;多个冲突匹配智能体(104)对智能合约参数和交易消息进行预处理和分类,并打上智能合约类型码;
子步骤2‑2,冲突匹配;多个冲突匹配智能体(104)通过区块链网络(102)检索数据区块智能体(103),进行冲突匹配;多个冲突匹配智能体(104)检查智能合约类型码与数据区块智能体(103)中智能合约类型码相匹配的频率和不匹配的频率,由子步骤1‑1中设置的有效匹配阈值判断是否发生冲突;若匹配的频率高于设置的有效匹配阈值,则判定为无冲突,可继续执行智能合约完成交易;若匹配的频率低于设置的有效匹配阈值,则判定为有冲突,需要进行冲突裁决,方可完成交易;
子步骤2‑3,属性匹配值计算;属性匹配值用于度量智能合约冲突匹配的差异程度,包括智能合约参数和交易信息的不同属性的相异之处,全部属性匹配值用于冲突裁决时参考;可用于冲突匹配的属性,包括订单编码,时间戳或时间属性,区块链的长度,区块链的分支数,地理位置或空间属性,买家确认情况,卖家确认情况,算力值和占比,进一步地,不同智能合约设置不同匹配属性参数;若不同属性匹配的差值低于设置的有效匹配阈值,则属性匹配值越低;若不同属性匹配的差值高于设置的有效匹配阈值,则属性匹配值越高;进一步地,根据智能合约参数和交易信息计算出全部的时间属性、空间属性、智能合约匹配属性参数的属性匹配值;
子步骤2‑4,匹配值输出;计算出的智能合约类型码匹配频率和多个属性匹配值共同作为本次冲突的匹配值,并由多个冲突匹配智能体(104)将冲突匹配值送入冲突裁决智能体(105);
所述步骤3,具体包括以下步骤:
子步骤3‑1,冲突匹配值输入;
子步骤3‑2,群体智能裁决计算;多个冲突裁决智能体(105)对冲突匹配结果进行冲突裁决计算,更新交易冲突在智能合约交易中的空间位置;按照式(2)调整合约冲突智能体在智能合约编码向量空间的移动速度以及方向,再根据式(3)对合约冲突智能体的智能合约编码向量空间位置进行更新;
子步骤3‑3,群体智能优化裁决结果;使用粒子群‑遗传混合算法产生的最优裁决结果对冲突智能体进行全局搜索;粒子群‑遗传混合算法在整个智能合约冲突空间中寻找最优的裁决结果,其初始种群大小对应智能合约冲突数量,适应度值对应冲突匹配值;粒子位置对应冲突向量编号,即空间位置属性;粒子的速度对应向量变化的速度,即合约冲突的时间属性;遗传算法中选择、交叉、变异算子对应冲突向量的选择、向量的交叉和向量的变异;
子步骤3‑4,裁决结果输出;得到最优的冲突裁决结果后,可以由多个冲突裁决智能体(105)通过区块链网络(102)将冲突裁决结果发送到裁决后执行智能体(106)。
2.根据权利要求1所述的方法,其特征在于,所述步骤1,具体包括以下步骤:子步骤1‑1,设置冲突裁决参数;设置冲突裁决使用的相关参数,包括冲突匹配智能体(104)的数量,订单编码,时间戳或时间属性,区块链的长度,区块链的分支数,地理位置或空间属性,买家确认情况,卖家确认情况,算力值和占比,进一步地,不同智能合约设置不同类型码、智能合约编码、订单编码、匹配属性参数,有效匹配阈值;还包括冲突裁决智能体(105)的数量,时间属性,空间属性,裁决的准则,裁决的主要步骤和对应参数;还包括裁决后执行智能体(106)的数量,属性,执行的主要步骤和对应参数;
子步骤1‑2,采集智能合约参数;通过多个智能合约智能体(101)采集本次交易使用的智能合约,并分析智能合约使用的参数,包括智能合约类型码、智能合约编码、合约订单编码,智能合约的属性,智能合约执行的主要步骤,主要步骤的参数,智能合约签名方法,加密方式;
子步骤1‑3,采集交易消息;通过多个智能合约智能体(101)采集本次交易的信息,并分析交易参数,包括交易对象属性,交易对象单价,交易数量,交易金额,交易时间,交易单编号,交易方信息,支付信息,关联银行信息;
子步骤1‑4,信息发送;通过区块链网络(102)将冲突裁决参数发送给冲突匹配智能体(104),冲突裁决智能体(105),裁决后执行智能体(106),并将采集的智能合约参数和交易消息发送给冲突匹配智能体(104)。
3.根据权利要求1所述的方法,其特征在于,在步骤3‑1中,具体包括以下步骤:步骤1)多个冲突裁决智能体(105)接收冲突匹配智能体(104)发送来的冲突匹配值;冲突裁决智能体(105)使用粒子群‑遗传混合算法;
步骤2)假设产生n个交易冲突,初始化智能合约类型码匹配频率Qmin和Qmax,冲突裁决算法交叉概率process,冲突裁决算法迭代次数N_iter,交易冲突的数据范围bound,匹配的频
0 0
率阈值r,冲突裁决使用的遗传算法进化代数maxgen,匹配属性匹配值阈值A ,遗传算法种群规模sizepop,遗传算法变异概率pmutation;
步骤3)在对应的智能合约编码向量空间内,设第i个合约冲突智能体的智能合约编码向量空间位置为Xi,i∈(1,2,…,n),针对不同属性计算与之对应的匹配值Fitness(Xi);
*
步骤4)计算全局最优匹配值fmin、对应的最优冲突向量X;
Qi=Qmin+(Qmax‑Qmin)×rand (1)*
Xnew(u)=X+0.01×randn(1,d) (4)其中:、 为合约冲突智能体i分别处于t次迭代及t‑1次迭代情况下的智能合约编码向量空间位置,即空间属性; 为合约冲突智能体i分别处于t次迭代及t‑1次迭*代情况下的向量飞行速度,即时间属性;X表示当前全局最优位置;Qi表示合约冲突智能体i对区块链智能合约的交易条件进行搜索时的智能合约类型码匹配值,即类属性匹配值;Qmin2
≤Qi≤Qmax;randn为产生均值为0,方差σ=1,标准差σ=1的正态分布的随机变量,d为合约冲突向量的维数。
4.根据权利要求1所述的方法,其特征在于,在步骤3‑2中,具体包括以下步骤:0
步骤1)随机产生一个随机数rand1;若rand1>r ,则:通过式(4)生成与之对应的最优合约冲突智能体,作为备选裁决结果,然后完成局部搜索;
步骤2)计算出冲突匹配值,也就是fitba,该值即为备选最优位置对应的冲突匹配值;
步骤3)为了减少算法的时间复杂度,增加算法的通用性、匹配性和健壮性,本算法通过离差的方法选取与全局最优值差异最小的冲突智能体后代作为最优子代并计算冲突匹配值,记为fitgaba;
步骤4)比较fitba和fitgaba,最小值记为Fnew;选择冲突匹配值较小的个体作为局部搜索后的交易冲突向量的位置,并记录为冲突裁决结果;进一步地,测量不同智能合约的不同匹配属性参数,包括订单编码,时间戳或时间属性,区块链的长度,区块链的分支数,地理位置或空间属性,买家确认情况,卖家确认情况,算力值和占比,依次计算这些属性的匹配值;
步骤5)为了减少局部扰动对裁决结果的影响,统计100次以上迭代的结果,进一步地,统计区块链智能合约中的交易冲突中智能合约类型码相匹配的频率和不匹配的频率;进一步地,选用更多的迭代次数能够更好地降低局部扰动对频率统计和裁决结果的影响。
5.根据权利要求1所述的方法,其特征在于,在步骤3‑3中,具体包括以下步骤:
0 0
步骤2)计算裁决优化目标函数;针对现在交易冲突向量的空间位置属性匹配值Fnew和*全局最优属性匹配值fmin进行比较;若是Fnew<=fmin,则将全局最优位置属性值X、局部最优冲突匹配值fmin一起进行更新;进一步地,根据不同智能合约的不同匹配属性参数进行裁决优化,用户可以根据不同智能合约的特点选择不同的属性作为裁决优化目标函数,包括订单编码,时间戳或时间属性,区块链的长度,区块链的分支数,地理位置或空间属性,买家确认情况,卖家确认情况,算力值和占比,并计算所选择的所有属性的最优裁决方案;进一步地,裁决方案的评估是多目标的,裁决的优化目标可以考虑区块链的分叉最少,或单根区块链的长度最长,交易时间间隔最小,算力约束小于51%;
步骤3)计算最近两次裁决优化结果的精度误差有没有小于ε1,或进行裁决优化是否达到最大次数限制;如果误差符合精度要求或达到最大次数限制,则进行下一个子步骤,输出裁决结果;如果误差不符合精度要求或未达到最大次数限制,则返回到前一子步骤,继续优化裁决结果。
6.根据权利要求1所述的方法,其特征在于,在步骤3‑4中,具体包括以下步骤:步骤1)根据群体智能算法输出的最优裁决向量的位置,判断冲突匹配值大小,对交易冲突裁决结果按匹配值高低进行排序,以便于后续的冲突执行按照优化的冲突匹配值从高到低处理;进一步地,可以根据用户需求对冲突裁决结果按交易优先级排序,以便于后续的冲突执行按照优先级从高到低处理;
步骤2)把最优交易冲突向量的位置、与之相应的冲突匹配值、属性匹配值、排序结果输出。
7.根据权利要求1所述的方法,其特征在于,所述步骤4,具体包括以下步骤:子步骤4‑1,接受裁决结果;多个裁决后执行智能体(106)接收冲突裁决智能体(105)发送来的裁决结果,包括对应的智能合约、冲突匹配值、属性匹配值;
子步骤4‑2,智能合约智能体执行;对应的智能合约执行裁决结果,由多个裁决后执行智能体(106)通过区块链网络(102)控制智能合约智能体(101)的执行;
子步骤4‑3,数据区块智能体执行;多个裁决后执行智能体(106)通过区块链网络(102)控制数据区块智能体(103)的执行;
子步骤4‑4,执行结果返回;返回本次记账结果,以及区块链的长度。