一种基于中继链的跨区块链交互方法

文档序号:30066010发布日期:2022-05-18 00:57阅读:160来源:国知局
一种基于中继链的跨区块链交互方法

1.本发明属于区块链链间通信领域,涉及一种基于中继链的跨区块链交互方法。


背景技术:

2.区块链技术具有去中心化、去信任化、不可篡改和可追溯等优点,对于传统社会组织和 运作方式是一种颠覆性的变革和挑战,被认为是构建未来“信任互联网”“价值互联网”的 支撑性技术,受到了投资界、学术界、工业界及政府部门等的越来越多的关注。随着区块链 技术的快速发展,各种区块链应用也层出不穷,但目前的区块链项目都是由不同团队基于不 同的场景需求和设计理念,采用不同的技术架构开发出的异构区块链。由于区块链本身的隔 离性等技术特点,不同区块链存储的区块信息之间的隔离不可避免地造成了区块链的“价值 孤岛”效应。因此,如何实现区块链之间的互联互通和价值转移成为当前区块链技术的研究 重点。
3.跨链技术,顾名思义,就是通过某些技术让价值跨过链与链之间的障碍,使得原本存储 在特定区块链上的价值转换为另一条链上的价值,从而实现价值的流通。现目前的跨链技术 主要有四种:公证人机制、侧链/中继、哈希锁定和分布式私钥控制。其中公证人技术虽然实 现简单,但公证人、交易所等可信第三方的引入明显与区块链的去中心化思想相悖,同时也 会带来性能瓶颈的问题。侧链/中继技术实现了异构区块链的跨链,通过中继链也削弱了中心 化问题,但其需要存储大量异构区块链的区块头信息用于验证,且在面对复杂的跨链交易时 性能较差。哈希锁定方案通过哈希时间锁来实现,虽然实现较为简单,也削弱了中心化问题, 但其只实现了跨链资产互换,无法实现跨链资产转移。而分布式私钥控制机制虽然保证了拥 有私钥的用户对资产的所有权不变,但在实现上有较大难度。


技术实现要素:

4.有鉴于此,本发明的目的在于针对现有中继链跨链方案需要保存大量不同种类区块链区 块头信息用于验证,且可扩展性较差,性能受跨链事务复杂度上升影响较大,提供一种对于 复杂跨链事务仍能有较高效率的高可扩展性的中继链跨链方法,并且减少中继链所需存储的 信息量,提升中继链在协调跨链事务中的效率。
5.为达到上述目的,本发明提供如下技术方案:
6.一种基于中继链的跨区块链交互方法,包括利用交易匹配算法匹配交易,中继链协调交 易,子标志智能合约验证交易,具体包括以下步骤:
7.s1:用户加入中继链;
8.s2:中继链用户提交交易需求,交易需求被打包存储在中继链上的区块中,中继链上的 用户通过共识算法中的交易匹配算法进行匹配,当有跨链交易匹配成功,中继链上会生成协 调此次跨链事务的标志智能合约,即跨链事务实例,该合约生成唯一的id用于标识此次跨 链,并将匹配信息发送给此次匹配成功的用户;
9.s3:匹配成功后,进入准备阶段,中继链和具体参与跨链的区块链会为接下来的实
际跨 链行为作准备;
10.s4:当所有准备工作完成后,进入协调阶段;协调阶段为跨链事务具体的执行过程。
11.进一步,所述步骤s1具体包括:步骤s1中,用户先成为中继链的用户,才能提交跨链 需求,中继链上的每个用户都拥有信誉值r和历史总收益p,其中信誉值r反映用户在中继 链行为的诚信程度,用户按照规则参与跨链事务和共识过程,信誉值r增加,否则就减 少;信誉值r用于影响用户提交交易需求的用户优先级和用户获得共识的概率;历史总收 益p则表示用户在中继链中参与共识所获的收益的总和,用于平衡用户间的收益,激发用户 参与共识的热情,用户获得的历史总收益p越高,其在以后获得的共识的概率就越低;达成 共识的用户除了获得打包权,还获得交易匹配权;中继链的用户想要参加共识,要先加入共 识组,加入共识组的要求是信誉值ri大于等于当前共识组的平均信誉值r。
12.进一步,步骤s2中所述的交易匹配算法具体包括:引入用户权重和时间权重,交易需 求的格式为[cdid,cdnum,coid,conum,prior,time],其中cdid为需求的兑换目的区块 链,cdnum为兑换目的金额,coid为需求的兑换源区块链,conum为兑换提供金额, prior表示用户权重,time表示时间权重;所有的待匹配交易共同组成交易需求集合p;使 用depth表示搜索深度。
[0013]
进一步,步骤s2所述的交易匹配算法包括以下步骤:
[0014]
s211:从所有待匹配交易需求集合p中选出用户权重prior和时间权重time综合排序 最高的交易需求,作为此次匹配的目标需求o,所述时间权重tme为交易需求等待周期 数;
[0015]
s212:根据目标需求o的目的区块链cdid搜索待匹配交易,找到所有源区块链coid 为目标需求o目的区块链cdid的需求,并将搜索结果按用户权重prior和时间权重time综 合排序;
[0016]
s213:在步骤s212的搜索结果中,从左往右寻找目的区块链cdid为目标需求o源区 块链coid的交易需求,每找到一个符合要求的需求,累加其转入cdnum和转出金额 conum,当和目标需求的金额匹配,则匹配成功,匹配成功后会根据匹配成功的跨链交易 中所有交易需求的用户权重prior和时间权重time给跨链交易打分;
[0017]
s214:若步骤s213中没有匹配成功,针对目标需求o中剩余的未匹配金额继续进行匹 配;从步骤s212中搜索得到的交易需求列表中选取权重最大且未被步骤s213选中的交易需 求,以该交易需求的目的区块链cdid作为目标需求新的目的区块链,cdnum也变为与该需 求相同;目标需求的源区块链coid不变,但金额conum变为剩余未匹配金额;回到步骤 s212,搜索深度depth加一,重新进行搜索;设置最大搜索深度,当搜索深度depth大于最 大搜索深度,该轮匹配失败并返回。
[0018]
进一步,所述步骤s1的共识阶段具体包括以下步骤:
[0019]
s221:共识开始时,先计算共识组的平均收益p,记为:
[0020][0021]
其中,n为共识组中的用户总数,pi为用户i的历史总收益;
[0022]
s222:根据历史总收益是否大于平均收益p,将共识组用户分为两组,g1和g2:
[0023]
g1={x∈g|f
x
≥p}
[0024]
g2={y∈g|0《fy《p}
[0025]
其中,g为所有共识组用户组成的集合;
[0026]
s223:分别统计g1和g2的用户个数n1和n2以及用户i的信誉值占整个共识组所有用 户总信誉值的比例,得出用户i被选为共识代表的概率:
[0027][0028]
其中,ri为用户i的信誉值,pi为用户i的历史总收益,n为共识组用户总数;
[0029]
s224:用户被选为共识用户后,获得下一周期的打包权和交易匹配权;共识用户打包当 前周期用户提交的交易需求,并调用匹配算法进行交易匹配,从中获取相应交易需求的佣金 和信誉值提升奖励;交易匹配成功后,将匹配信息分发给相应用户。
[0030]
进一步,步骤s3具体包括以下步骤:
[0031]
s31:所有参与链中的子标志智能合约都已提交后,每条链中的参与跨链的用户根据匹 配结果提交相关的具体子事务,并以子标志智能合约的状态作为子事务智能合约的触发依 据;提交完毕后,与子标志智能合约协调,子标志智能合约会保存所有当前链中跨链子事务 的block id和transaction id,而跨链子事务保存所处链的标志智能合约的block id和 transaction id;
[0032]
s32:子标志智能合约会验证所处链上本次跨链事务的跨链子事务是否已提交且信息正 确,如果均无误,向中继链上的跨链事务实例同步状态为ready;若有用户想中止交易,在 向子标志智能合约发起中断请求后,子标志智能合约会向中继链上的跨链事务实例同步状态 为abort;
[0033]
s33:跨链事务实例检测所有子标志智能合约的状态,当所有子标志智能合约的状态都 为ready,向所有子标志智能合约发送状态转移指令,将状态转为commit,各链中的跨链 子事务在检测到子标志智能合约的状态变为commit后,自动触发交易;若有子标志智能合 约的状态变为abort,向所有子标志智能合约发送状态转移指令,将状态转为abort,各链 中的跨链子事务在检测到子标志智能合约的状态变为abort后,自动中止交易。
[0034]
进一步,步骤s4具体包括以下步骤:
[0035]
s41:跨链事务实例定时检测它所记录的所有子标志智能合约的状态,当所有子标志智 能合约的状态都为ready,向所有子标志智能合约发送状态转移指令,将状态转为 commit,各链中的跨链子事务在检测到子标志智能合约的状态变为commit后,自动触发交 易,将锁定在智能合约中的虚拟货币转到对相应的账户;
[0036]
s42:若有子标志智能合约的状态变为abort,向所有子标志智能合约发送状态转移指 令,将状态转为abort,各链中的跨链子事务在检测到子标志智能合约的状态变为abort 后,自动中止交易;若收到了子标志智能合约发来的交易信息错误,跨链事务实例会记录交 易信息错误的用户,降低其信誉值作为惩罚,并中止交易,向所有子标志智能合约发送状态 转移指令,将状态转为abort;跨链子事务在检测到子标志智能合约的状态为abort后,中 断交易,将锁定的虚拟货币返回给相应用户。
[0037]
本发明的有益效果在于:
[0038]
(1)本发明针对跨链交易的交易匹配,设计了一种交易匹配算法,并根据此算法设计 了新的共识算法,最后基于此共识算法的设计了中继链方案。实现了跨链交易匹配、协调、 实现一体化的中继链跨链方法,同时将中继链的职责所在分散到各个参与链上,避免了过度 集中。
[0039]
(2)本发明通过跨链事务实例、子标志智能合约和子跨链事务的三层设置,并通过分 层验证,在保证交易可靠性的同时,减少了中继链需要存储的数据,并且避免了过多的链间 通信。通过链内验证,链间同步状态进一步提升了跨链效率。
[0040]
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某 种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发 明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
[0041]
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详 细描述,其中:
[0042]
图1为本发明实施例中子标志智能合约状态转移图;
[0043]
图2为本发明实施例中一种基于交易匹配共识的中继链的跨链方法流程图;
[0044]
图3为本发明实施例中跨链事务协调阶段的时序图;
[0045]
图4为本发明实施例中跨链交易需求匹配流程图;
[0046]
图5为本发明实施例中跨链交易需求匹配的实例示意图。
具体实施方式
[0047]
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露 的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加 以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精 神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本 发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0048]
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明 的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表 实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理 解的。
[0049]
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中, 需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或 位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是 指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中 描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技 术人员而言,可以根据具体情况理解上述术语的具体含义。
[0050]
本发明提供一种带优先级的跨链交易匹配算法。该算法区别于传统匹配论中的算法,跨 链交易匹配不同于以物换物,除了种类匹配,还需要满足金额匹配,且待匹配交易的兑换率 存在差异,还存在一对多和多对多的情况。该算法根据提交交易需求用户的优先级和交易需 求排队时间,对跨链交易进行差异化匹配,其中每项交易的存储格式为[cdid,cdnum,coid, conum,prior,time],其中cdid为需求的兑换目的区块链,cdnum为兑换目的金额,coid 为需求的兑换源区块链,conum为兑换提供金额,最后的prior代表用户权重,time代表时 间权重。所有的待匹配交易共同组成交易需求集合p。同时为了避免搜索深度过大,使用depth 表示搜索深度。匹配算法包括以下步骤:
[0051]
s11:从所有待匹配交易需求集合p中选出用户权重prior和时间权重time(交易需求 等待周期数)综合排序最高的交易需求,作为此次匹配的目标需求o;
[0052]
s12:根据目标需求o的目的区块链cdid搜索待匹配交易,找到所有源区块链coid为 目标需求o目的区块链cdid的需求,并将搜索结果按用户权重prior和时间权重time综合 排序;
[0053]
s13:在s12的搜索结果中,从左往右寻找目的区块链cdid为目标需求o源区块链coid 的交易需求,每找到一个符合要求的需求,累加其转入cdnum和转出金额conum,当和目 标需求的金额匹配,则匹配成功,匹配成功后会根据匹配成功的跨链交易中所有交易需求的 用户权重prior和时间权重time给跨链交易打分;
[0054]
s14:若s13中没有匹配成功,针对目标需求o中剩余的未匹配金额继续进行匹配。从 s12中搜索得到的交易需求列表中选取权重最大且未被s13选中的交易需求,以该交易需求 的目的区块链cdid作为目标需求新的目的区块链,cdnum也变为与该需求相同。目标需求 的源区块链coid不变,但金额conum变为剩余未匹配金额。回到s12,搜索深度depth加 一,重新进行搜索。为了避免搜索深度过大导致效率下降,设置最大搜索深度为10,当搜索 深度depth大于10,该轮匹配失败并返回。
[0055]
本发明还提供一种中继链方案,为了协调跨链事务并供用户提交和匹配交易需求。用户 提交跨链需求,必须先成为中继链的用户,中继链上的每个用户都拥有信誉值r和历史总收 益p,其中信誉值r反映了用户在中继链行为的诚信程度,用户按照规则参与跨链事务和共 识过程,信誉值r就会增加,否则就会减少。信誉值r会影响用户提交交易需求的用户优先 级和用户获得共识的概率。历史总收益p则表示了用户在中继链中参与共识所获的收益的总 和,目的是平衡用户间的收益,激发用户参与共识的热情,用户获得的历史总收益p越高, 其在以后获得的共识的概率就会越低。该中继链方案将交易匹配算法融入共识之中,达成共 识的用户除了获得打包权,还会获得交易匹配权。中继链的用户想要参加共识,必须要先加 入共识组,加入共识组的要求是信誉值ri需大于等于当前共识组的平均信誉值r。具体的共 识过程如下:
[0056]
s21:共识开始时,先计算共识组的平均收益p,记为:
[0057][0058]
其中,n为共识组中的用户总数,pi为用户i的历史总收益。
[0059]
s22:根据历史总收益是否大于平均收益p,将共识组用户分为两组,g1和g2:
[0060]
g1={x∈g|f
x
≥p}
[0061]
g2={y∈g|0《fy《p}
[0062]
其中,g为所有共识组用户组成的集合。
[0063]
s23:分别统计g1和g2的用户个数n1和n2以及用户i的信誉值占整个共识组所有用户 总信誉值的比例,就可以得出用户i被选为共识代表的概率:
[0064][0065]
其中,ri为用户i的信誉值,pi为用户i的历史总收益,n为共识组用户总数。
[0066]
s24:用户被选为共识用户后,获得下一周期的打包权和交易匹配权。共识用户打包当前 周期用户提交的交易需求,并调用匹配算法进行交易匹配,从中获取相应交易需求的佣金和 信誉值提升奖励。交易匹配成功
[0067]
最后,本发明提供一种基于交易匹配共识中继链的跨链方法。该方案将交易匹配共识的 中继链作为协调跨链交易的中枢,通过中继链的方式,避免了集中化的问题,同时通过多级 验证的方式,避免了现有中继链方案中需要存储大量异构区块链头部信息用于验证,且消息 交换过于集中的问题。中继链上的用户不仅拥有中继链上的账户,还需要绑定具体参与跨链 的区块链账户,如以太坊等,通过这种方式实现链之间的初步连接。中继链需要存储的信息 包括,用户提交的交易需求信息、匹配成功的跨链交易信息和子标志智能合约信息。其中的 三层结构为:位于中继链上的跨链事务实例,整体协调跨链交易,与子标志智能合约交互, 并存储子标志智能合约的区块信息来验证交易;位于每条具体区块链上的子标志智能合约, 职责为协调并验证当前链内的跨链子交易;位于每条具体区块链上的跨链子事务,负责具体 的转账操作,根据子标志智能合约的状态执行操作。其中的子标志智能合约是连接跨链事务 实例和跨链子事务的桥梁,也是保证跨链交易事务性的关键,它通过在四种状态(public、ready、 abort、commit)间切换来协调跨链交易,保证原子性。最终形成了一个集交易提交、匹配、 协调于一体的跨链方法,且保证了可扩展性和较高效率。图1为本发明实施例中子标志智能 合约状态转移图,如图1所示,子标志智能合约一共有四个状态,分别是public,代表子标志 智能合约已上链。abort,代表跨链交易已中止;ready,代表当前子标志智能合约所处链内的 相关事务已完成,等待其他参与跨链的区块链状态变更;commit,代表所有子标志智能合约 都完成,进入正式执行阶段。而这些状态间的转换关系有四种,如下:
[0068]
1.public到ready。子标志智能合约收到来自用户状态转换请求,并且检查当前区块链中 所有参与跨链的用户均已正确提交对应跨链交易后,从public转换为ready,并向中继层提 供状态;
[0069]
2.public到abort。当前链中有用户请求中止或收到中继层发来的abort消息,子智能合 约收到后,状态从public转为abort;
[0070]
3.ready到abort。处于ready的标志智能合约收到收到中继层发来的abort消息,代表 有用户中止了跨链交易,状态从ready转为abort;
[0071]
4.ready到commit。处于ready的标志智能合约收到收到中继层发来的commit消息, 代表所有跨链子事务都已提交并上链,状态从ready转为commit;
[0072]
图2为本发明实施例中一种基于交易匹配共识的中继链的跨链方法流程图。如图所示, 用户想要通过本发明提供的方法执行跨链操作时,必须在中继链上拥有一个账户,且该账户 绑定了用户想要进行跨链操作的其他相关链上的账户,如区块链,以太坊等,具体的绑定方 式为用户提供对应账户的公钥,中继链使用该公钥加密一条随机字符串并返回给用户,若用 户能解密该字符串则绑定成功,否则失败。通过这种方式初步实现了不同链之间的关联,随 后跨链事务的相关操作均以该账户为主体。
[0073]
当进入交易提交匹配阶段,该阶段主要与中继链的共识相关,涉及到交易需求信息和匹 配结果信息上链和交易的匹配。用户提交跨链交易需求,提交内容包括源链、源地址、目的 链、目的地址、转出金额、转入金额。中继链收到用户提交的交易需求后,会在下一周期打 包交易需求并提交上链,具体负责打包的用户会在当前周期的共识中选出。跨链交易的匹配 和交易需求打包需要中继链的共识算法完成,中继链通过共识算法选出共识代表,共识代表 获得打包权和交易匹配权。共识代表通过交易匹配算法匹配交易需求,并将匹配结果打包上 链,然后分发给匹配成功的交易需求的提交用户,随后正式进入跨链阶段。中继链上的用户, 可以通过参与共识赚取佣金并提升信誉值。中继链上的共识组的用户参与共识,当成功当选 为共识代表时,该用户会获得打包权和交易匹配权。通过交易匹配算法来匹配交易,当交易 匹配完成后,共识代表会为每一个匹配的跨链交易在中继链上生成一个协调跨链事务的标志 智能合约,即跨链事务实例,每个合约会生成唯一的id用于标识此次跨链,并将匹配信息发 送给相应的匹配成功的用户,同时也会打包上链当前周期用户提交的交易需求。
[0074]
在达成共识且交易匹配成功后,进入准备阶段,准备阶段为协调阶段做前期的准备。中 继链会为所有匹配成功的跨链交易在中继链上生成一个跨链交易实例,用于协调该跨链交易, 同时会返回匹配成功的跨链交易给交易需求的提交账户,并为每条参与此次跨链的区块链指 定一个用户来提交链内的子标志智能合约用于协调每条链的子事务。当跨链交易实例和各子 标志智能合约都已提交上链,它们之间会进行状态同步,子标志智能合约会保存跨链事务实 例的id,而跨链事务实例会保存所有子标志智能合约的block id和transaction id,并同步所 有子标志智能合约的状态为public。这一步的目的是,当子标志智能合约因为区块链分叉被 丢失时,跨链事务实例可以通过保存的信息快速验证。
[0075]
当有链中的子标志智能合约提交上链后,该链中的参与跨链的用户根据匹配结果提交相 关的具体子事务,并以子标志智能合约的状态作为子事务智能合约的触发依据,这一步各个 参与跨链的区块链并不强制同步进行,而是并行执行。提交完毕后,与子标志智能合约协调, 子标志智能合约会保存所有当前链中跨链子事务的block id和transaction id,而跨链子事务保 存所处链的标志智能合约的block id和transaction id。
[0076]
子标志智能合约会验证所处链上本次跨链事务的跨链子事务是否已提交且信息正确,如 果均无误,会向中继链上的跨链事务实例同步状态为ready;若发现交易信息错误,则会向中 继链发送错误信息并中断交易,状态变为abort;若有用户想中止交易,在向子标志智能合约 发起中断请求后,子标志智能合约会向中继链上的跨链事务实例同步状态为abort。
[0077]
准备阶段过后,正式进入到协调阶段,协调阶段涉及到跨链事务中具体的转账事宜。协 调阶段的流程如图3所示,跨链事务实例检测所有子标志智能合约的状态,当所有子
标志智 能合约的状态都为ready,向所有子标志智能合约发送状态转移指令,将状态转为commit, 各链中的跨链子事务在检测到子标志智能合约的状态变为commit后,会自动触发交易;若 有子标志智能合约的状态变为abort,向所有子标志智能合约发送状态转移指令,将状态转为 abort,各链中的跨链子事务在检测到子标志智能合约的状态变为abort后,会自动中止交易。 若收到了子标志智能合约发来的交易信息错误,跨链事务实例会记录交易信息错误的用户, 降低其信誉值作为惩罚,并中止交易,向所有子标志智能合约发送状态转移指令,将状态转 为abort。跨链子事务在检测到子标志智能合约的状态为abort后,会中断交易,将锁定的虚 拟货币返回给相应用户。
[0078]
图4为本发明实施例中跨链交易需求匹配流程图。如图所示,交易匹配开始时会对所有 已提交上链的跨链交易需求进行排序,排序的依据为提交需求用户的优先级prior和交易需求 在链时间time,从排序结果中选出优先级最大的交易需求即为本次交易匹配的目标需求o。 随后判断搜索深度depth是否大于10,这一步是为了提升搜索效率,搜索深度过大就说明匹 配成功的可能性较小。若搜索深度小于10,寻找所有源区块链coid为目标需求o的目的区 块链cdid的交易需求,并对搜索结果进行排序,从中选出目的区块链cdid等于目标需求源 coid区块链的交易需求,进行cdnum和conum的金额匹配,如果金额匹配成功,则此次 交易匹配成功,否则,减去已匹配部分金额,继续匹配剩余金额。从上一步的搜索结果中, 选出排序最靠前且未被匹配的需求,更新目标需求o的目的区块链cdid为此需求的目的区 块链cdid,同时更新目标需求o的cdnum为此需求的cdnum,开始下一轮匹配。
[0079]
图5为本发明实施例中跨链交易需求匹配的实例示意图。交易需求的格式如图所示为六 元组[cdid,cdnum,coid,conum,prior,time],其中cdid为需求的兑换目的区块链,cdnum 为兑换目的金额,coid为需求的兑换源区块链,conum为兑换提供金额,最后的prior代表 用户权重,time代表时间权重。
[0080]
实例中目标需求o,目的为使用1btc换取20eth。首先以目标需求o的cdid btc搜 索所有待匹配交易需求中满足coid为btc的交易需求,图中搜索结果为p1和p2,其中p1 和p2时间权重time都为4,但p1的用户权重大于p2,所以p1在前。遍历搜索结果,查找 cdid和目标需求o的coid相同的交易需求,发现p1满足要求,随后比对p1和目标需求o 的cdnum和conum,结果发现p1部分满足目标需求o,目标需求的cdnum和conum更 新为0.5和10。继续搜索,发现没有满足cdid和目标需求o的coid相同的交易需求,于是 从搜索结果中选出第一个未被匹配的交易需求p2,p2的conum刚好与目标需求o的cdnum 相同,此时目标需求o匹配完成,更新目标需求的cdid为p2的cdid etc,cdnum为p2 的cdnum。得到新的目标需求o1,随后根据目标需求o1再进行一轮匹配,匹配深度变为 2,搜索得到p3和p4,其中p3和p4用户权重相同,但p3时间权重大于p4,所以p3在前。 p3和p4的cdid和coid满足要求,且cdnum和conum和大于目标需求o2,此时匹配完 成,并在中继链上更新交易需求p4为[eth,2,etc,20,7,6]。
[0081]
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施 例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进 行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求 范围当中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1