一种不同区块链系统信息多路调度方法

阅读: 评论:0

著录项
  • CN202010335185.7
  • 20200424
  • CN111553795A
  • 20200818
  • 潘小胜
  • 潘小胜;单志平;徐晓峰;李志远
  • G06Q40/04
  • G06Q40/04

  • 安徽省安庆市怀宁县高河镇政和路西二巷006号二栋304室
  • 安徽(34)
摘要
本发明涉及一种不同区块链系统信息多路调度方法,包括链路调度模块、能态感知模块、智能清理模块、多重加密签名模块、资产动态平衡模块、用户端。通过对跨链交易数据进行分布式管理、对系统资源进行智能预测和清扫,有效提高数据传输效率、可靠性以及系统资源的利用率,通过设置多重签名冷热账户及进行动态资产平衡调整,有效提升了交易的安全性,使得价值能在不同区块链系统中自由、安全、高效的流通。
权利要求

1.一种不同区块链系统信息多路调度方法,所述区块链系统包括主链、资产链;所述主链包括链路调度模块、能态感知模块、智能清理模块、兑换模块、多重加密签名模块、资产动态平衡模块、用户端;所述资产链为与所述主链互通的其他区块链,包括比特币、以太坊;所述区块链系统还包括用户节点、监视节点,其特征在于,包含有:所述链路调度模块负责对跨链交易的数据传输进行分布式管理,从而降低网络的通信负担,保证数据传输的可控性,尤其是当区块链中主要节点受到攻击后仍能保持交易数据的可靠传输;所述链路调度模块包括链路控制单元、通道分配单元;所述链路控制单元包括开关控制子单元、第一控制子单元和第二控制子单元;所述开关控制子单元负责所有链路通道的开启和关闭,系统初始化后,所有链路通道均开启,并定义链路通道总数,将链路通道总数记为M*;随着跨链交易的增加,所述开关控制子单元根据所述第二控制子单元对网络状态的监测数据动态调整链路通道的开闭状态;所述第一控制子单元计算跨链交易的链路通道参数的实时值,所述链路通道参数包括隧道账户状态参数和网络状态参数;所述第一控制子单元基于第j个申请跨链交易的用户的隧道账户状态参数和当前的网络状态参数计算出链路通道参数的实时值,计算公式为:其中j的取值范围为1至M的自然数;M为当前网络中所有进行跨链交易的用户的数量,M为自然数;为第j个申请跨链交易的用户的隧道账户状态参数的实时值;为第j个申请跨链交易的用户操作时的网络状态参数的实时值;AS0为隧道账户状态参数的初始值;NS0为网络状态参数的初始值,即AS0和NS0均为系统预设值;αt为跨链转账的系数,αw为跨链提现的系数,αt和αw根据跨链交易的类型取值为0或1,(αt+αw)j表示第j个申请跨链交易的用户的跨链交易的类型对应的系数;βj为第j个申请跨链交易的用户的账户响应的微分系数;s为微分算子,用于求微积分;Pj为第j个申请跨链交易的用户操作时的网络时延;Qj为第j个申请跨链交易的用户的瞬时在线状态,不在线则为0,在线则为1;所述第二控制子单元采用离散收敛算法构造状态校准单元和积分补偿单元;所述状态校准单元计算所述链路通道参数的全局均值:其中,为当前网络中所有跨链交易用户的隧道账户状态参数的平均值;为当前网络中所有跨链交易用户的网络状态参数的平均值;所述积分补偿单元对每个跨链交易用户的链路通道参数的实时值和平均值求差值:其中,ΔASj为第j个申请跨链交易的用户的隧道账户状态参数的补偿值;ΔNSj为第j个申请跨链交易的用户操作时的网络状态参数的补偿值;λ1、γ1分别为第一比例参数和第一积分参数;λ2和γ2分别为第二比例参数和第二积分参数;t+为启动所述第一控制子单元至完成计算全局均值的时间;所述第二控制子单元计算出第j个申请跨链交易的用户的链路通道参数的修正值:其中,ASj为第j个申请跨链交易的用户的隧道账户状态参数的修正值;NSj为第j个申请跨链交易的用户的网络状态参数的修正值;所述第二控制子单元将NSj反馈至所述开关控制子单元;所述第二控制子单元将ASj反馈至所述通道分配单元;

步骤一:其中所述能态感知模块包括实时监测每笔跨链交易的启动时间、网络响应时间、排队时间,当网络响应时间或排队时间超过系统设定的预警值,则认为是网络中断状态;当网络响应时间未超过系统设定的预警值,但排队时间超过系统设定的预警值,则认为是网络拥堵状态;当网络响应时间和排队时间均未超过系统设定的预警值,则认为是网络正常状态;若所述能态感知模块监测到网络中断时,所述能态感知模块发送关闭通道信号至所述开关控制子单元;若所述能态感知模块监测到网络拥堵时,所述能态感知模块发送链路通道拥堵信息至所述通道分配单元;若NSj低于NS0,则所述开关控制子单元将第j个用户所在的链路通道关闭;在系统预设的时间ΔT后,所述开关控制子单元将关闭的链路通道调整为开启状态,并将更新的链路通道状态信息发送至所述通道分配单元,所述通道分配单元将新增的跨链交易随机分配到新开启的链路通道中;若NSj大于等于NS0,且所述通道分配单元收到所述能态感知模块发送的链路通道拥堵信息,则所述通道分配单元根据修正后的ASj为所述跨链交易重新分配链路通道:

第一步:所述通道分配单元对跨链交易建立优先级类别,按照启动时间从高到低进行排序,定义排名为前20%的跨链交易为紧急类交易,排名前30%的跨链交易为重要类交易,排名后50%的跨链交易为普通类交易;

第二步:对所述通道分配单元设置三种类型交易的通道分配循环矩阵为:设置通道分配循环矩阵是在维持拥堵状态下所有链路通道内的数据的输入输出平衡,并定义链路通道的调整等级为q,q∈{1,2,...,M*},定义传递参数为q·2x-1,其中x为整数,根据ASj、通道分配循环矩阵和传递参数建立链路通道分配策略,重新规划排队中的跨链交易的链路通道;第j个用户的跨链交易数据根据重新分配的链路通道进行传输;

若所述开关控制子单元收到关闭通道信号,所述开关控制子单元立即终止对应通道内的交易操作,并将跨链交易不成功的信息发送至所述兑换模块,由所述兑换模块将交易模式从在线模式切换为离线模式;

步骤二、将所述用户端作为用户提供注册使用,生成账户及提供链上操作,包括注册模块、中转账户模块、账户管理模块;所述注册模块为用户提供在主链中注册主链账户、注册隧道账户的服务;所述隧道账户与所述主链账户的地址绑定,绑定信息发送至所述账户管理模块存储;所述中转账户模块为用户提供中转账户的设置,若用户选择隧道账户,则隧道账户为默认中转账户;若用户不选择隧道账户,则默认中转账户为空,需在跨链交易过程中进行设置;所述账户管理模块对公共账户和用户注册的主链账户、隧道账户、多重签名账户进行管理;所述公共账户为所述区块链系统中的公用账户,用于临时存放各用户节点竞选的保证金和交易手续费;所述多重签名账户为核验节点通过共识机制创建的账户,用于存储跨链交易的转账资产;所述多重签名账户包括多重签名热账户和多重签名冷账户,其中多重签名热账户为在线模式下的跨链交易的中转账户,多重签名冷账户为离线模式下的跨链交易的中转账户;所述用户节点包括游客节点、公民节点、核验节点;所述游客节点表示所述区块链系统中的所有已注册用户的节点;所述公民节点是所述主链上生产区块和收集多重签名的节点,负责对跨链交易进行记账;所述游客节点缴纳足够证明金后才能成为所述公民节点,缴纳的证明金冻结于所述公共账户内;所述核验节点是具有共识验证资格的节点,所述公民节点缴纳一定额度的责任保证金后,由所有公民节点投票后产生所述核验节点,缴纳的责任保证金冻结于所述公共账户内;

步骤三:所述智能清理模块包括模拟单元、预测单元和资源清理单元;所述模拟单元对系统中活跃账户总数、跨链交易量的时段分布、链路通道时间利用率的历史数据建立学习集,通过训练神经网络建立资源需求预测曲线;所述模拟单元对所述资源需求预测曲线、交易时间约束、系统资源约束以及交易成功率为约束条件建立质控曲线;所述预测单元根据所述资源需求预测曲线预测短期的系统资源的分时需求,并计算上一时段的预测误差,将预测误差反馈至所述训练单元不断完善所述资源需求预测曲线;所述预测单元根据所述质控曲线、交易时间、交易成功率、系统资源使用率的实测数据,计算账户的分布式资源配给,配给结果发送至所述资源清理单元;所述资源清理单元对低于预设值的账户进行清扫,释放系统资源;

步骤四:所述兑换模块为用户提供主链与资产链的跨链交易操作,包括跨链充值单元和跨链提现单元,所述跨链充值单元为用户将资产从资产链账户中转移至主链账户中;所述跨链提现单元为用户将资产从主链账户中转移至资产链账户中;

所述跨链充值的步骤为:

第一步:用户登陆主链账户,申请跨链充值后,所述用户端将申请指令发送至所述跨链充值单元;

第二步:所述跨链充值单元调用所述多重加密签名模块生成多重签名账户,在所述多重签名账户中输入所述资产链账户的地址和所述主链账户的地址,将充值数据从所述资产链账户转移至所述多重签名账户;

所述多重加密签名模块包括参数生成器、加密器、验证器;所述参数生成器用于生成多重签名的输入输出参数;所述加密器对多重签名进行加密;所述验证器用于验证多重签名的有效性;

所述多重加密签名模块初始化参数设置,将安全参数χ、第一阈值参数m、第二阈值参数h作为输入参数,m为需满足的最少的签名节点数量,签名节点为参与多重签名的核验节点;h为需满足的最少的验证节点数量,验证节点为参与共识验证的核验节点;由所述参数生成器生成输出参数,采用哈希函数生成m个公私钥对(PKg,VKg),g=1,2,...,m,其中,PKg为第g个签名节点的签名公钥,VKg为第g个签名节点的签名私钥;所述多重加密签名模块将签名私钥VKg通过加密通道发送给对应的签名节点,并将所有签名公钥{PK1,PK2,...,PKm}公开至系统中;所述多重加密签名模块随机设置验证私钥为vkh=(ah,bh),其中,vkh为第h个验证节点收到的验证私钥;ah、bh为第h个随机生成的自然数,满足ah←Zf,bh←Zf,Zf为根据系统指定的大素数f构建的乘法,其中←表示从右边的乘法里取随机数,ah←Zf,bh←Zf表示从Zf取随机数到ah,bh中;

根据哈希函数生成验证公钥为其中,pkh为对应第h个签名的验证公钥,g为给定的生成元;所述多重加密签名模块将验证私钥vkh发送至对应的验证节点,将验证公钥{pk1,pk2,...,pkh}公开至系统中;签名的核验节点收到签名私钥后进行验证,所有签名的核验节点验证通过后,由各核验节点进行签名;各签名节点选取随机数rg,计算其中,Rg为第g个签名节点的中间值,c为随机值,表示对rg的c次方,mod为求余函数;所有签名节点的公共值为其中,R为所有签名节点的公共值,Π为连乘运算;各签名节点对所述转账数据和公共值进行哈希运算,得到签名的哈希值hsig=H(R,message),其中,hsig为签名的哈希值,message为所述转账数据,H(,)为哈希函数,即H(R,message)表示对公共值R和message求哈希值;可得签名为其中,Sigg为第g个签名节点的签名;所述Sigg发送至所述加密器生成加密签名;

所述加密器选取两个随机数randg1、randg2,满足randg1←Zf、randg2←Zf,使用加密函数对签名进行多重加密,randg1←Zf、randg2←Zf表示从Zf取随机数到randg1、randg2中;所述加密函数ENCg为:所述加密器将多重加密后的签名ENCg发送给所述公民节点;所述公民节点根据多重签名函数计算多重加密的多重签名,所述多重签名函数为:其中COMP表示所述多重加密的多重签名;所述公民节点将所述多重加密的多重签名发送至所述验证节点;所述验证节点对收到的所述多重加密的多重签名进行解密和验证,解密函数为:其中DEC为解密后的多重签名;验证函数为:其中R*为验证值,c为随机值,DECc为解密函数DEC的c次方,hg为第g个签名节点的哈希值;所述验证节点将计算的R*发送至所述验证器;

所述验证器对收到的所述验证值进行判断,若R*=R,则验证通过,所述多重加密的多重签名有效;若R*≠R,则验证不通过,结束所述共识验证;

第三步:完成共识验证后,所述跨链充值单元将调用中转账户的指令发送至所述中转账户模块;

第四步:所述跨链充值单元判断中转账户情况,若所述隧道账户为默认中转账户,则所述跨链充值单元将充值金额根据智能合约的兑换比例,将所述多重签名账户的转账资产兑换成对应的主链资产转移至所述隧道账户,调用所述链路调度模块完成转账数据的传输;

第五步:若默认中转账户为空,所述跨链充值单元将充值金额根据智能合约的兑换比例,将所述多重签名账户的转账资产兑换成对应的主链资产转移至所述主链账户,调用所述链路调度模块完成转账数据的传输;

第六步:转账成功后,所述跨链充值单元发送指令至所述资产链,在资产链账户中扣除对应资产;

第七步:若所述多重签名账户未到相关联的主链账户地址,则所述跨链充值单元回退转账至所述资产链账户中;

所述跨链提现的步骤为:

第一步:用户在用户端申请跨链提现后,所述用户端将申请指令发送至所述跨链提现单元;所述提现请求包括提现金额与在资产链中的提现账户地址;

第二步:当公民节点收到用户提现申请后,将用户请求打包进块,发起从多重签名账户地址转账到提现账户地址的交易广播,并将所述交易广播发布至所述主链上;

第三步:当核验节点收到广播的交易信息后,进行签名并在所述主链中进行广播;若公民节点收集到不低于所有核验节点总数的三分之二的核验节点签名,则交易验证通过;若公民节点收集到的核验节点签名低于所有核验节点总数的三分之一,则交易验证失败,所述提现操作请求被驳回;

第四步:公民节点将收集的所有核验节点签名与所述交易广播一起打包,生成新的区块,广播到资产链中;

第五步:核验节点收到验证通过广播后判断多重签名热账户的余额是否大于等于所述提现金额,若大于等于所述提现金额,则在资产链上发出从多重签名热账户地址到提现账户地址转账的签名;若多重签名热账户的余额小于所述提现金额,则从多重签名冷账户中提取与所述提现金额等量的资产到多重签名热账户中,并返回至第二步,由公民节点重新对提现申请进行打包;

第六步:等待N个新的区块产生后,所述核验节点调用所述多重加密签名模块进行共识验证,验证通过后,所述跨链提现单元将提现金额从多重签名热账户地址转入资产链账户地址中;所述跨链提现单元调用所述链路调度模块完成转账数据的传输;

所述N为资产链中确认资产需等待的区块数;根据区块链的传播规律可以计算出不同资产链所需等待确认的区块数,所述N的计算公式为:

公式表示资产链中确认资产需等待的区块数为在受挖矿速度、区块受攻击概率、产生无效区块概率的影响下确保区块可靠所需确认的最少区块数,其中θ表示区块为可用区块的概率,i为恶意节点在时间t内挖出的区块个数,k表示资产链中恶意节点与可靠节点的比值,v表示资产链中可靠节点挖出区块的平均速度,n表示资产链中节点的对等节点的个数,表示资产链中恶意节点挖出区块的概率,可表示为e为自然常数;定义资产链中区块不可用的容忍度为ψ,等待时间的容忍度为T,则应满足:t≤T,

第七步:转账成功后,所述跨链提现单元发送指令至所述主链,在主链账户中扣除对应资产;

第八步:若所述多重签名账户未到相关联的资产链账户地址,则所述跨链充值单元回退转账至所述主链账户中;

步骤五:所述资产动态平衡模块监控所述多重签名热账户与所述多重签名冷账户的资产分布,根据所述监视节点的监控结果进行动态平衡调整,监控和调整流程为:

第一步:所述资产动态平衡模块在固定周期内更新用户的多重签名热账户的资产状态,当所述监视节点监控到用户的多重签名热账户资产超过系统设定的限额,所述监视节点向全网发送进行动态平衡调整的广播;

第二步:由一个核验节点对超过限额的资产进行打包,将打包数据发送至所述多重加密签名模块进行签名和验证;验证通过后,所述多重加密签名模块将结果发送至所述资产动态平衡模块;若验证不通过,资产动态平衡调整流程结束;

第三步:所述资产动态平衡模块收到多重加密的多重签名后,将打包的资产转移至多重签名冷账户地址内。

说明书

一种不同区块链系统信息多路调度方法

技术领域

本发明涉及区块链技术领域,涉及一种不同区块链系统间的流通技术。

背景技术

随着区块链技术的不断发展,越来越多的区块链系统并存,由于各区块链仅能在自己系统中进行价值的传递,这在一定程度上限制了区块链应用的前景,因此研究一种能在不同区块链系统中进行价值流通的方法显得尤为重要,能够有效拓展区块链的应用场景以及挖掘价值,解决价值孤岛的问题。

发明内容

有鉴于此,本发明提供一种解决或部分解决上述问题的一种不同区块链系统信息多路调度方法。

为达到上述技术方案的效果,本发明的技术方案为:一种不同区块链系统信息多路调度方法,包含以下内容:

区块链系统包括主链、资产链;主链包括链路调度模块、能态感知模块、智能清理模块、兑换模块、多重加密签名模块、资产动态平衡模块、用户端;资产链为与主链互通的其他区块链,包括比特币、以太坊;区块链系统还包括用户节点、监视节点,其特征在于,包含有:链路调度模块负责对跨链交易的数据传输进行分布式管理,从而降低网络的通信负担,保证数据传输的可控性,尤其是当区块链中主要节点受到攻击后仍能保持交易数据的可靠传输;链路调度模块包括链路控制单元、通道分配单元;链路控制单元包括开关控制子单元、第一控制子单元和第二控制子单元;开关控制子单元负责所有链路通道的开启和关闭,系统初始化后,所有链路通道均开启,并定义链路通道总数,将链路通道总数记为M*;随着跨链交易的增加,开关控制子单元根据第二控制子单元对网络状态的监测数据动态调整链路通道的开闭状态;第一控制子单元计算跨链交易的链路通道参数的实时值,链路通道参数包括隧道账户状态参数和网络状态参数;第一控制子单元基于第j个申请跨链交易的用户的隧道账户状态参数和当前的网络状态参数计算出链路通道参数的实时值,计算公式为:其中j的取值范围为1至M的自然数;M为当前网络中所有进行跨链交易的用户的数量,M为自然数;为第j个申请跨链交易的用户的隧道账户状态参数的实时值;为第j个申请跨链交易的用户操作时的网络状态参数的实时值;AS0为隧道账户状态参数的初始值;NS0为网络状态参数的初始值,即AS0和NS0均为系统预设值;αt为跨链转账的系数,αw为跨链提现的系数,αt和αw根据跨链交易的类型取值为0或1,(αt+αw)j表示第j个申请跨链交易的用户的跨链交易的类型对应的系数;βj为第j个申请跨链交易的用户的账户响应的微分系数;s为微分算子,用于求微积分;Pj为第j个申请跨链交易的用户操作时的网络时延;Qj为第j个申请跨链交易的用户的瞬时在线状态,不在线则为0,在线则为1;第二控制子单元采用离散收敛算法构造状态校准单元和积分补偿单元;状态校准单元计算链路通道参数的全局均值:其中,为当前网络中所有跨链交易用户的隧道账户状态参数的平均值;为当前网络中所有跨链交易用户的网络状态参数的平均值;积分补偿单元对每个跨链交易用户的链路通道参数的实时值和平均值求差值:

其中,ΔASj为第j个申请跨链交易的用户的隧道账户状态参数的补偿值;ΔNSj为第j个申请跨链交易的用户操作时的网络状态参数的补偿值;λ1、γ1分别为第一比例参数和第一积分参数;λ2和γ2分别为第二比例参数和第二积分参数;t+为启动第一控制子单元至完成计算全局均值的时间;第二控制子单元计算出第j个申请跨链交易的用户的链路通道参数的修正值:其中,ASj为第j个申请跨链交易的用户的隧道账户状态参数的修正值;NSj为第j个申请跨链交易的用户的网络状态参数的修正值;第二控制子单元将NSj反馈至开关控制子单元;第二控制子单元将ASj反馈至通道分配单元;

步骤一:其中能态感知模块包括实时监测每笔跨链交易的启动时间、网络响应时间、排队时间,当网络响应时间或排队时间超过系统设定的预警值,则认为是网络中断状态;当网络响应时间未超过系统设定的预警值,但排队时间超过系统设定的预警值,则认为是网络拥堵状态;当网络响应时间和排队时间均未超过系统设定的预警值,则认为是网络正常状态;若能态感知模块监测到网络中断时,能态感知模块发送关闭通道信号至开关控制子单元;若能态感知模块监测到网络拥堵时,能态感知模块发送链路通道拥堵信息至通道分配单元;若NSj低于NS0,则开关控制子单元将第j个用户所在的链路通道关闭;在系统预设的时间ΔT后,开关控制子单元将关闭的链路通道调整为开启状态,并将更新的链路通道状态信息发送至通道分配单元,通道分配单元将新增的跨链交易随机分配到新开启的链路通道中;若NSj大于等于NS0,且通道分配单元收到能态感知模块发送的链路通道拥堵信息,则通道分配单元根据修正后的ASj为跨链交易重新分配链路通道:

第一步:通道分配单元对跨链交易建立优先级类别,按照启动时间从高到低进行排序,定义排名为前20%的跨链交易为紧急类交易,排名前30%的跨链交易为重要类交易,排名后50%的跨链交易为普通类交易;

第二步:对通道分配单元设置三种类型交易的通道分配循环矩阵为:

设置通道分配循环矩阵是在维持拥堵状态下所有链路通道内的数据的输入输出平衡,并定义链路通道的调整等级为q,q∈{1,2,...,M*},定义传递参数为q·2x-1,其中x为整数,根据ASj、通道分配循环矩阵和传递参数建立链路通道分配策略,重新规划排队中的跨链交易的链路通道;第j个用户的跨链交易数据根据重新分配的链路通道进行传输;

若开关控制子单元收到关闭通道信号,开关控制子单元立即终止对应通道内的交易操作,并将跨链交易不成功的信息发送至兑换模块,由兑换模块将交易模式从在线模式切换为离线模式;

步骤二、将用户端作为用户提供注册使用,生成账户及提供链上操作,包括注册模块、中转账户模块、账户管理模块;注册模块为用户提供在主链中注册主链账户、注册隧道账户的服务;隧道账户与主链账户的地址绑定,绑定信息发送至账户管理模块存储;中转账户模块为用户提供中转账户的设置,若用户选择隧道账户,则隧道账户为默认中转账户;若用户不选择隧道账户,则默认中转账户为空,需在跨链交易过程中进行设置;账户管理模块对公共账户和用户注册的主链账户、隧道账户、多重签名账户进行管理;公共账户为区块链系统中的公用账户,用于临时存放各用户节点竞选的保证金和交易手续费;多重签名账户为核验节点通过共识机制创建的账户,用于存储跨链交易的转账资产;多重签名账户包括多重签名热账户和多重签名冷账户,其中多重签名热账户为在线模式下的跨链交易的中转账户,多重签名冷账户为离线模式下的跨链交易的中转账户;用户节点包括游客节点、公民节点、核验节点;游客节点表示区块链系统中的所有已注册用户的节点;公民节点是主链上生产区块和收集多重签名的节点,负责对跨链交易进行记账;游客节点缴纳足够证明金后才能成为公民节点,缴纳的证明金冻结于公共账户内;核验节点是具有共识验证资格的节点,公民节点缴纳一定额度的责任保证金后,由所有公民节点投票后产生核验节点,缴纳的责任保证金冻结于公共账户内;

步骤三:智能清理模块包括模拟单元、预测单元和资源清理单元;模拟单元对系统中活跃账户总数、跨链交易量的时段分布、链路通道时间利用率的历史数据建立学习集,通过训练神经网络建立资源需求预测曲线;模拟单元对资源需求预测曲线、交易时间约束、系统资源约束以及交易成功率为约束条件建立质控曲线;预测单元根据资源需求预测曲线预测短期的系统资源的分时需求,并计算上一时段的预测误差,将预测误差反馈至训练单元不断完善资源需求预测曲线;预测单元根据质控曲线、交易时间、交易成功率、系统资源使用率的实测数据,计算账户的分布式资源配给,配给结果发送至资源清理单元;资源清理单元对低于预设值的账户进行清扫,释放系统资源;

步骤四:兑换模块为用户提供主链与资产链的跨链交易操作,包括跨链充值单元和跨链提现单元,跨链充值单元为用户将资产从资产链账户中转移至主链账户中;跨链提现单元为用户将资产从主链账户中转移至资产链账户中;

跨链充值的步骤为:

第一步:用户登陆主链账户,申请跨链充值后,用户端将申请指令发送至跨链充值单元;

第二步:跨链充值单元调用多重加密签名模块生成多重签名账户,在多重签名账户中输入资产链账户的地址和主链账户的地址,将充值数据从资产链账户转移至多重签名账户;

多重加密签名模块包括参数生成器、加密器、验证器;参数生成器用于生成多重签名的输入输出参数;加密器对多重签名进行加密;验证器用于验证多重签名的有效性;

多重加密签名模块初始化参数设置,将安全参数χ、第一阈值参数m、第二阈值参数h作为输入参数,m为需满足的最少的签名节点数量,签名节点为参与多重签名的核验节点;h为需满足的最少的验证节点数量,验证节点为参与共识验证的核验节点;由参数生成器生成输出参数,采用哈希函数生成m个公私钥对(PKg,VKg),g=1,2,...,m,其中,PKg为第g个签名节点的签名公钥,VKg为第g个签名节点的签名私钥;多重加密签名模块将签名私钥VKg通过加密通道发送给对应的签名节点,并将所有签名公钥{PK1,PK2,...,PKm}公开至系统中;多重加密签名模块随机设置验证私钥为vkh=(ah,bh),其中,vkh为第h个验证节点收到的验证私钥;ah、bh为第h个随机生成的自然数,满足ah←Zf,bh←Zf,Zf为根据系统指定的大素数f构建的乘法,其中←表示从右边的乘法里取随机数,ah←Zf,bh←Zf表示从Zf取随机数到ah,bh中;

根据哈希函数生成验证公钥为其中,pkh为对应第h个签名的验证公钥,g为给定的生成元;多重加密签名模块将验证私钥vkh发送至对应的验证节点,将验证公钥{pk1,pk2,...,pkh}公开至系统中;签名的核验节点收到签名私钥后进行验证,所有签名的核验节点验证通过后,由各核验节点进行签名;各签名节点选取随机数rg,计算其中,Rg为第g个签名节点的中间值,c为随机值,mod为求余函数;所有签名节点的公共值为其中,R为所有签名节点的公共值,Π为连乘运算;各签名节点对转账数据和公共值进行哈希运算,得到签名的哈希值hsig=H(R,message),其中,hsig为签名的哈希值,message为转账数据,H(,)为哈希函数,即H(R,message)表示对公共值R和message求哈希值;可得签名为其中,Sigg为第g个签名节点的签名;Sigg发送至加密器生成加密签名;

加密器选取两个随机数randg1、randg2,满足randg1←Zf、randg2←Zf,使用加密函数对签名进行多重加密,加密函数ENCg为:加密器将多重加密后的签名ENCg发送给公民节点;公民节点根据多重签名函数计算多重加密的多重签名,多重签名函数为:其中COMP表示多重加密的多重签名;公民节点将多重加密的多重签名发送至验证节点;验证节点对收到的多重加密的多重签名进行解密和验证,解密函数为:其中DEC为解密后的多重签名;验证函数为:其中R*为验证值,hg为第g个签名节点的哈希值;验证节点将计算的R*发送至验证器;

验证器对收到的验证值进行判断,若R*=R,则验证通过,多重加密的多重签名有效;若R*≠R,则验证不通过,结束共识验证;

第三步:完成共识验证后,跨链充值单元将调用中转账户的指令发送至中转账户模块;

第四步:跨链充值单元判断中转账户情况,若隧道账户为默认中转账户,则跨链充值单元将充值金额根据智能合约的兑换比例,将多重签名账户的转账资产兑换成对应的主链资产转移至隧道账户,调用链路调度模块完成转账数据的传输;

第五步:若默认中转账户为空,跨链充值单元将充值金额根据智能合约的兑换比例,将多重签名账户的转账资产兑换成对应的主链资产转移至主链账户,调用链路调度模块完成转账数据的传输;

第六步:转账成功后,跨链充值单元发送指令至资产链,在资产链账户中扣除对应资产;

第七步:若多重签名账户未到相关联的主链账户地址,则跨链充值单元回退转账至资产链账户中;

跨链提现的步骤为:

第一步:用户在用户端申请跨链提现后,用户端将申请指令发送至跨链提现单元;提现请求包括提现金额与在资产链中的提现账户地址;

第二步:当公民节点收到用户提现申请后,将用户请求打包进块,发起从多重签名账户地址转账到提现账户地址的交易广播,并将交易广播发布至主链上;

第三步:当核验节点收到广播的交易信息后,进行签名并在主链中进行广播;若公民节点收集到不低于所有核验节点总数的三分之二的核验节点签名,则交易验证通过;若公民节点收集到的核验节点签名低于所有核验节点总数的三分之一,则交易验证失败,提现操作请求被驳回;

第四步:公民节点将收集的所有核验节点签名与交易广播一起打包,生成新的区块,广播到资产链中;

第五步:核验节点收到验证通过广播后判断多重签名热账户的余额是否大于等于提现金额,若大于等于提现金额,则在资产链上发出从多重签名热账户地址到提现账户地址转账的签名;若多重签名热账户的余额小于提现金额,则从多重签名冷账户中提取与提现金额等量的资产到多重签名热账户中,并返回至第二步,由公民节点重新对提现申请进行打包;

第六步:等待N个新的区块产生后,核验节点调用多重加密签名模块进行共识验证,验证通过后,跨链提现单元将提现金额从多重签名热账户地址转入资产链账户地址中;跨链提现单元调用链路调度模块完成转账数据的传输;

N为资产链中确认资产需等待的区块数;根据区块链的传播规律可以计算出不同资产链所需等待确认的区块数,N的计算公式为:

公式表示资产链中确认资产需等待的区块数为在受挖矿速度、区块受攻击概率、产生无效区块概率的影响下确保区块可靠所需确认的最少区块数,其中θ表示区块为可用区块的概率,i为恶意节点在时间t内挖出的区块个数,k表示资产链中恶意节点与可靠节点的比值,v表示资产链中可靠节点挖出区块的平均速度,n表示资产链中节点的对等节点的个数,表示资产链中恶意节点挖出区块的概率,可表示为e为自然常数;定义资产链中区块不可用的容忍度为ψ,等待时间的容忍度为T,则应满足:t≤T,

第七步:转账成功后,跨链提现单元发送指令至主链,在主链账户中扣除对应资产;

第八步:若多重签名账户未到相关联的资产链账户地址,则跨链充值单元回退转账至主链账户中;

步骤五:资产动态平衡模块监控多重签名热账户与多重签名冷账户的资产分布,根据监视节点的监控结果进行动态平衡调整,监控和调整流程为:

第一步:资产动态平衡模块在固定周期内更新用户的多重签名热账户的资产状态,当监视节点监控到用户的多重签名热账户资产超过系统设定的限额,监视节点向全网发送进行动态平衡调整的广播;

第二步:由一个核验节点对超过限额的资产进行打包,将打包数据发送至多重加密签名模块进行签名和验证;验证通过后,多重加密签名模块将结果发送至资产动态平衡模块;若验证不通过,资产动态平衡调整流程结束;

第三步:资产动态平衡模块收到多重加密的多重签名后,将打包的资产转移至多重签名冷账户地址内。

具体实施方法

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,能实现同样功能的产品属于等同替换和改进,均包含在本发明的保护范围之内。具体方法如下:

实施例:本实施例具体说明了一种不同区块链系统信息多路调度方法的内容:

区块链系统包括主链、资产链;主链包括链路调度模块、能态感知模块、智能清理模块、兑换模块、多重加密签名模块、资产动态平衡模块、用户端;资产链为与主链互通的其他区块链,包括比特币、以太坊;区块链系统还包括用户节点、监视节点;其特征在于,包含有:

步骤一:链路调度模块负责对跨链交易的数据传输进行分布式管理,从而降低网络的通信负担,保证数据传输的可控性,尤其是当区块链中主要节点受到攻击后仍能保持交易数据的可靠传输;链路调度模块包括链路控制单元、通道分配单元;

链路控制单元包括开关控制子单元、第一控制子单元和第二控制子单元;开关控制子单元负责所有链路通道的开启和关闭,系统初始化后,所有链路通道均开启,定义链路通道总数为M*;随着跨链交易的增加,开关控制子单元根据所述第二控制子单元对网络状态的监测数据动态调整链路通道的开闭状态;第一控制子单元计算跨链交易的链路通道参数的实时值,链路通道参数包括隧道账户状态参数和网络状态参数;第一控制子单元基于第j个申请跨链交易的用户的隧道账户状态参数和当前的网络状态参数计算出链路通道参数的实时值,计算公式为:其中,M为当前网络中所有进行跨链交易的用户的数量,M为自然数;j的取值范围为1至M的自然数;为第j个申请跨链交易的用户的隧道账户状态参数的实时值;为第j个申请跨链交易的用户操作时的网络状态参数的实时值;AS0为隧道账户状态参数的标准值;NS0为网络状态参数的标准值;AS0和NS0均为系统预设值;αt为跨链转账的系数,αw为跨链提现的系数,αt和αw根据跨链交易的类型取值为0或1,(αt+αw)j表示第j个申请跨链交易的用户的跨链交易的类型对应的系数;βj为第j个申请跨链交易的用户的账户响应的微分系数;s为微分算子;Pj为第j个申请跨链交易的用户操作时的网络时延;Qj为第j个申请跨链交易的用户的瞬时在线状态,不在线则为0,在线则为1;

第二控制子单元采用离散收敛算法构造状态校准单元和积分补偿单元;状态校准单元计算所述链路通道参数的全局均值:其中,为当前网络中所有跨链交易用户的隧道账户状态参数的平均值;为当前网络中所有跨链交易用户的网络状态参数的平均值;

积分补偿单元对每个跨链交易用户的链路通道参数的实时值和平均值求差值:其中,ΔASj为第j个申请跨链交易的用户的隧道账户状态参数的补偿值;ΔNSj为第j个申请跨链交易的用户操作时的网络状态参数的补偿值;λ1、γ1分别为第一比例参数和第一积分参数;λ2和γ2分别为第二比例参数和第二积分参数;t+为启动所述第一控制子单元至完成计算全局均值的时间;

第二控制子单元计算出第j个申请跨链交易的用户的链路通道参数的修正值:其中,ASj为第j个申请跨链交易的用户的隧道账户状态参数的修正值;NSj为第j个申请跨链交易的用户的网络状态参数的修正值;

第二控制子单元将NSj反馈至所述开关控制子单元;第二控制子单元将ASj反馈至所述通道分配单元;

步骤二:能态感知模块包括实时监测每笔跨链交易的启动时间、网络响应时间、排队时间,当网络响应时间或排队时间超过系统设定的预警值,则认为是网络中断状态;当网络响应时间未超过系统设定的预警值,但排队时间超过系统设定的预警值,则认为是网络拥堵状态;当网络响应时间和排队时间均未超过系统设定的预警值,则认为是网络正常状态;若所述能态感知模块监测到网络中断时,能态感知模块发送关闭通道信号至所述开关控制子单元;若能态感知模块监测到网络拥堵时,能态感知模块发送链路通道拥堵信息至通道分配单元;若NSj低于NS0,则开关控制子单元将第j个用户所在的链路通道关闭;在系统预设的时间ΔT后,开关控制子单元将关闭的链路通道调整为开启状态,并将更新的链路通道状态信息发送至通道分配单元,通道分配单元将新增的跨链交易随机分配到新开启的链路通道中;若NSj大于等于NS0,且通道分配单元收到能态感知模块发送的链路通道拥堵信息,则通道分配单元根据修正后的ASj为跨链交易重新分配链路通道:

第一步:通道分配单元对跨链交易建立优先级类别,按照启动时间从高到低进行排序,定义排名为前20%的跨链交易为紧急类交易,排名前30%的跨链交易为重要类交易,排名后50%的跨链交易为普通类交易;

第二步:为维持拥堵状态下所有链路通道内的数据的输入输出平衡,通道分配单元设置三种类型交易的通道分配循环矩阵为:定义链路通道的调整等级为q,q∈{1,2,...,M*},定义传递参数为q·2x-1,其中x为整数,根据ASj、通道分配循环矩阵和传递参数建立链路通道分配策略,重新规划排队中的跨链交易的链路通道;第j个用户的跨链交易数据根据重新分配的链路通道进行传输;

若开关控制子单元收到关闭通道信号,开关控制子单元立即终止对应通道内的交易操作,并将跨链交易不成功的信息发送至兑换模块,由兑换模块将交易模式从在线模式切换为离线模式;

用户端为用户提供注册,生成账户及提供链上操作,包括注册模块、中转账户模块、账户管理模块;注册模块为用户提供在主链中注册主链账户、注册隧道账户的服务;隧道账户与主链账户的地址绑定,绑定信息发送至账户管理模块存储;中转账户模块为用户提供中转账户的设置,若用户选择隧道账户,则隧道账户为默认中转账户;若用户不选择隧道账户,则默认中转账户为空,需在跨链交易过程中进行设置;账户管理模块对公共账户和用户注册的主链账户、隧道账户、多重签名账户进行管理;公共账户为区块链系统中的公用账户,用于临时存放各用户节点竞选的保证金和交易手续费;多重签名账户为核验节点通过共识机制创建的账户,用于存储跨链交易的转账资产;多重签名账户包括多重签名热账户和多重签名冷账户,其中多重签名热账户为在线模式下的跨链交易的中转账户,多重签名冷账户为离线模式下的跨链交易的中转账户;

用户节点包括游客节点、公民节点、核验节点;游客节点表示区块链系统中的所有已注册用户的节点;公民节点是所述主链上生产区块和收集多重签名的节点,负责对跨链交易进行记账;游客节点缴纳足够证明金后才能成为公民节点,缴纳的证明金冻结于公共账户内;核验节点是具有共识验证资格的节点,公民节点缴纳一定额度的责任保证金后,由所有公民节点投票后产生所述核验节点,缴纳的责任保证金冻结于公共账户内;

步骤三:智能清理模块包括模拟单元、预测单元和资源清理单元;模拟单元对系统中活跃账户总数、跨链交易量的时段分布、链路通道时间利用率的历史数据建立学习集,通过训练神经网络建立资源需求预测曲线;模拟单元对所述资源需求预测曲线、交易时间约束、系统资源约束以及交易成功率为约束条件建立质控曲线;预测单元根据资源需求预测曲线预测短期的系统资源的分时需求,并计算上一时段的预测误差,将预测误差反馈至训练单元不断完善资源需求预测曲线;预测单元根据质控曲线、交易时间、交易成功率、系统资源使用率的实测数据,计算账户的分布式资源配给,配给结果发送至资源清理单元;资源清理单元对低于预设值的账户进行清扫,释放系统资源;

步骤四:兑换模块为用户提供主链与资产链的跨链交易操作,包括跨链充值单元和跨链提现单元,跨链充值单元为用户将资产从资产链账户中转移至主链账户中;跨链提现单元为用户将资产从主链账户中转移至资产链账户中;

所述跨链充值的步骤为:

第一步:用户登陆主链账户,申请跨链充值后,用户端将申请指令发送至跨链充值单元;

第二步:跨链充值单元调用多重加密签名模块生成多重签名账户,在多重签名账户中输入资产链账户的地址和主链账户的地址,将充值数据从资产链账户转移至多重签名账户;

多重加密签名模块包括参数生成器、加密器、验证器;参数生成器用于生成多重签名的输入输出参数;加密器对多重签名进行加密;验证器用于验证多重签名的有效性;

多重加密签名模块初始化参数设置,将安全参数χ、第一阈值参数m、第二阈值参数h作为输入参数,m为需满足的最少的签名节点数量,签名节点为参与多重签名的核验节点;h为需满足的最少的验证节点数量,验证节点为参与共识验证的核验节点;由参数生成器生成输出参数,采用哈希函数生成m个公私钥对(PKg,VKg),g=1,2,...,m,其中,PKg为第g个签名节点的签名公钥,VKg为第g个签名节点的签名私钥;多重加密签名模块将签名私钥VKg通过加密通道发送给对应的签名节点,并将所有签名公钥{PK1,PK2,...,PKm}公开至系统中;多重加密签名模块随机设置验证私钥为vkh=(ah,bh),其中,vkh为第h个验证节点收到的验证私钥;ah、bh为第h个随机生成的自然数,满足ah←Zf,bh←Zf,Zf为根据系统指定的大素数f构建的乘法;根据哈希函数生成验证公钥为其中,pkh为对应第h个签名的验证公钥,g为给定的生成元;多重加密签名模块将验证私钥vkh发送至对应的验证节点,将验证公钥{pk1,pk2,...,pkh}公开至系统中;签名的核验节点收到签名私钥后进行验证,所有签名的核验节点验证通过后,由各核验节点进行签名;各签名节点选取随机数rg,计算其中,Rg为第g个签名节点的中间值,c为随机值,mod为求余函数;所有签名节点的公共值为其中,R为所有签名节点的公共值,Π为连乘运算;各签名节点对所述转账数据和公共值进行哈希运算,得到签名的哈希值hsig=H(R,message),其中,hsig为签名的哈希值,H(·)为哈希函数,message为转账数据;可得签名为其中,Sigg为第g个签名节点的签名;Sigg发送至所述加密器生成加密签名;

加密器选取两个随机数randg1、randg2,满足randg1←Zf、randg2←Zf,使用加密函数对签名进行多重加密,所述加密函数ENCg为:加密器将多重加密后的签名ENCg发送给公民节点;公民节点根据多重签名函数计算多重加密的多重签名,多重签名函数为:其中COMP表示多重加密的多重签名;公民节点将多重加密的多重签名发送至验证节点;验证节点对收到的多重加密的多重签名进行解密和验证,解密函数为:其中DEC为解密后的多重签名;验证函数为:其中R*为验证值,hg为第g个签名节点的哈希值;验证节点将计算的R*发送至验证器;

验证器对收到的验证值进行判断,若R*=R,则验证通过,多重加密的多重签名有效;若R*≠R,则验证不通过,结束共识验证;

第三步:完成共识验证后,跨链充值单元将调用中转账户的指令发送至中转账户模块;

第四步:跨链充值单元判断中转账户情况,若隧道账户为默认中转账户,则跨链充值单元将充值金额根据智能合约的兑换比例,将多重签名账户的转账资产兑换成对应的主链资产转移至隧道账户,调用所述链路调度模块完成转账数据的传输;

第五步:若默认中转账户为空,跨链充值单元将充值金额根据智能合约的兑换比例,将多重签名账户的转账资产兑换成对应的主链资产转移至所述主链账户,调用所述链路调度模块完成转账数据的传输;

第六步:转账成功后,跨链充值单元发送指令至所述资产链,在资产链账户中扣除对应资产;

第七步:若多重签名账户未到相关联的主链账户地址,则跨链充值单元回退转账至资产链账户中;

跨链提现的步骤为:

第一步:用户在用户端申请跨链提现后,用户端将申请指令发送至跨链提现单元;提现请求包括提现金额与在资产链中的提现账户地址;

第二步:当公民节点收到用户提现申请后,将用户请求打包进块,发起从多重签名账户地址转账到提现账户地址的交易广播,并将交易广播发布至主链上;

第三步:当核验节点收到广播的交易信息后,进行签名并在主链中进行广播;若公民节点收集到不低于所有核验节点总数的三分之二的核验节点签名,则交易验证通过;若公民节点收集到的核验节点签名低于所有核验节点总数的三分之一,则交易验证失败,提现操作请求被驳回;

第四步:公民节点将收集的所有核验节点签名与所述交易广播一起打包,生成新的区块,广播到资产链中;

第五步:核验节点收到验证通过广播后判断多重签名热账户的余额是否大于等于所述提现金额,若大于等于所述提现金额,则在资产链上发出从多重签名热账户地址到提现账户地址转账的签名;若多重签名热账户的余额小于所述提现金额,则从多重签名冷账户中提取与所述提现金额等量的资产到多重签名热账户中,并返回至第二步,由公民节点重新对提现申请进行打包;

第六步:等待N个新的区块产生后,核验节点调用多重加密签名模块进行共识验证,验证通过后,跨链提现单元将提现金额从多重签名热账户地址转入资产链账户地址中;跨链提现单元调用链路调度模块完成转账数据的传输;

N为资产链中确认资产需等待的区块数;根据区块链的传播规律可以计算出不同资产链所需等待确认的区块数,N的计算公式为:公式表示资产链中确认资产需等待的区块数为在受挖矿速度、区块受攻击概率、产生无效区块概率的影响下确保区块可靠所需确认的最少区块数,其中θ表示区块为可用区块的概率,i为恶意节点在时间t内挖出的区块个数,k表示资产链中恶意节点与可靠节点的比值,v表示资产链中可靠节点挖出区块的平均速度,n表示资产链中节点的对等节点的个数,表示资产链中恶意节点挖出区块的概率,可表示为e为自然常数;定义资产链中区块不可用的容忍度为ψ,等待时间的容忍度为T,则应满足:t≤T,

第七步:转账成功后,跨链提现单元发送指令至主链,在主链账户中扣除对应资产;

第八步:若多重签名账户未到相关联的资产链账户地址,则跨链充值单元回退转账至主链账户中;

步骤五:资产动态平衡模块监控多重签名热账户与多重签名冷账户的资产分布,根据监视节点的监控结果进行动态平衡调整,监控和调整流程为:

第一步:资产动态平衡模块在固定周期内更新用户的多重签名热账户的资产状态,当监视节点监控到用户的多重签名热账户资产超过系统设定的限额,监视节点向全网发送进行动态平衡调整的广播;

第二步:由一个核验节点对超过限额的资产进行打包,将打包数据发送至多重加密签名模块进行签名和验证;验证通过后,多重加密签名模块将结果发送至资产动态平衡模块;若验证不通过,资产动态平衡调整流程结束;

第三步:资产动态平衡模块收到多重加密的多重签名后,将打包的资产转移至多重签名冷账户地址内。

以上所述仅为本发明之较佳实施例,并非用以限定本发明的权利要求保护范围。同时以上说明,对于相关技术领域的技术人员应可以理解及实施,因此其他基于本发明所揭示内容所完成的等同改变,均应包含在本权利要求书的涵盖范围内。

有益成果:本发明提供了一种不同区块链系统信息多路调度方法,通过对跨链交易数据进行分布式管理、对系统资源进行智能预测和清扫,有效提高数据传输效率、可靠性以及系统资源的利用率,通过设置多重签名冷热账户及进行动态资产平衡调整,有效提升了交易的安全性,使得价值能在不同区块链系统中自由、安全、高效的流通。

本文发布于:2023-04-15 06:40:06,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/3/87117.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图