一种基于公证人组的跨链交易方法、系统及介质技术方案

技术编号:36984268 阅读:13 留言:0更新日期:2023-03-25 18:02
本发明专利技术公开了一种基于公证人组的跨链交易方法,包括:源节点S从公证人池中选择一个公证人节点作为第一公证人,向第一公证人发送目标节点T的数据,请求从公证人池中选择最优公证人组;第一公证人根据目标节点T的数据及预设的公证人选择策略,从公证人池中选择本次跨链最优公证人组N

【技术实现步骤摘要】
一种基于公证人组的跨链交易方法、系统及介质


[0001]本专利技术涉及区块链跨链技术,具体涉及一种基于公证人组的跨链交易方法、系统及介质,用于区块链跨链交易。

技术介绍

[0002]区块链跨链技术中的公证人机制是通过引入可信第三方进行跨链消息的验证和转发,为了防止中心化并最大限度保证交易可信,公证人的选取一般选取多名信誉度较高的公证人,在跨链交互过程中承担数据收集,验证,交互操作确认,交易验证和回滚等任务。
[0003]虽然引入了公证人机制,但是现有的区块链跨链交易过程中仍然存在以下问题:
[0004]1.现有的跨链交易方法中源节点和目标节点需要直接通信,对源节点和目标节点的要求很高,原因如下:
[0005](1)源节点与目标节点的底层通信需要两者的网络互通,这需要两者同处一个局域网,或者直接部署于广域网中;
[0006](2)对于应用层的交互来说,源节点需要了解目标节点的应用层通信协议和相关数据结构,才能直接进行应用数据的交互;
[0007]2.现有的跨链交易方法对速度和可靠性的要求都是固定的,无法动态去适配不同的业务要求,原因如下:
[0008](1)跨链交易机制本质上是对交易结果可靠性和交易效率的权衡,两者不可兼得,对于不同的业务的跨链交易,有些需要交易速度更快,有些更注重结果可信任;
[0009](2)通常公证人的选择都是使用固定算法,没有针对每一次跨链交易的需求实现适配。
[0010]3.现有的跨链交易方法通常没有考虑公证人组和区块链节点之间的网络拓扑结构,随着公证人组成员的变动(比如加入、退出或链接的路由器的变化),跨链交易的通信时延会不可控,原因如下:
[0011](1)底层网络通信依赖于网络拓扑结构中的路由器/交换机节点的转发和路由;
[0012](2)两个边缘终端的之间的通信需要经过的路由器/交换机越多,通信越慢;
[0013](3)而公证人所处的网络拓扑结构的位置是不可预测的。
[0014]4.现有的跨链交易方法需要公证人组共同维护保证金池和忠诚度表,这也加大了公证人组之间的数据一致性难度,并且加重了公证人组和的网络压力,原因如下:
[0015](1)公证人组是一个分布式系统,彼此之间的数据互相认可并达成一致需要额外的共识机制;
[0016](2)而共识机制需要系统节点之间大量的数据广播,挤占了原本用于跨链交易验证的带宽;
[0017](3)另外,分布式系统的节点加入和退出需要使用P2P协议的话,对于每一个公证人节点的加入和退出都需要额外的动态哈希表(DHT)同步时间和流程。

技术实现思路

[0018]本专利技术要解决的技术问题:针对现有技术的上述问题,提供一种基于公证人组的跨链交易方法、系统及介质,该方法降低了跨链交易的物理设备要求,提高交易速度,降低了跨链交易风险。
[0019]为了解决上述技术问题,本专利技术采用的技术方案为:
[0020]一种基于公证人组的跨链交易方法,实施步骤包括:
[0021]1)源节点S从公证人池中选择一个公证人节点作为第一公证人,向第一公证人发送目标节点T的数据,请求从公证人池中选择最优公证人组;
[0022]2)第一公证人根据目标节点T的数据及预设的公证人选择策略,从公证人池中选择本次跨链最优公证人组N
i
,将选择结果返回源节点S;
[0023]3)源节点S将预跨链交易信息包括源节点信息、公证人组信息分别发送给公证人组NL中的每一个公证人N
i
,并通过公证人组转发及处理,完成跨链交易。
[0024]可选地,所述步骤2)中预设的公证人选择策略为:根据源节点S地址和目标节点T地址,以及源节点S对本次跨链交易需要的公证人个数Num进行筛选,具体计算公式如下:
[0025]S(N
i
)=a
×
T
s
(N
i
)+b
×
T
t
(N
i
)+c
×
R(N
i
)
[0026]其中,S(N
i
)为公证人N
i
的最后得分,T
s
(N
i
)为公证人N
i
和源节点S的通信耗时,T
t
(N
i
)为公证人N
i
和目标节点的通信耗时,R(N
i
)为公证人N
i
的历史执行表现分数,a,b,c为各自的权重,a+b+c=1;
[0027]得到每一个公证人N
i
的最后得分S(N
i
)后,根据S(N
i
)进行排名,取前Num个作为本次跨链的公证人组。
[0028]可选地,所述公证人N
i
的历史执行表现分数R(N
i
)的计算公式为:
[0029][0030]其中,E
i
(success)指公证人N
i
参与的跨链交易中,其验证结果与公证人组的验证结果相同的次数;E
i
(all)指公证人N
i
参与的所有的跨链交易次数;E(all)是系统内所有跨链交易的次数;E(success)是系统内所有跨链交易执行成功的次数。
[0031]可选地,所述步骤1)中第一公证人为公证人池中历史执行表现分数R(N
i
)最高的公证人。
[0032]可选地,所述步骤3)的具体实施步骤为:
[0033]31)源节点S将预跨链交易信息包括源节点信息、公证人组信息分别发送给公证人组NL中的每一个公证人N
i

[0034]32)公证人N
i
验证源节点签名后,分别将预跨链交易信息转发给目标节点T;
[0035]33)目标节点T收到所有公证人组的消息后,验证预跨链交易信息,若同意该跨链交易,则返回同意,并且锁定相关资源,否则返回失败,该预跨链交易回执分别发送给公证人组NL里的每一个公证人;
[0036]34)公证人N
i
在收到目标节点T的预跨链交易回执后,验证目标节点T签名,若是同意回执,则锁定目标节点T和源节点S在本地的相关资源,若是拒绝执行,则不做处理,将回执转发给源节点S;
[0037]35)源节点S收到所有公证人的回执后,验证回执的目标节点T签名,若是回执为同
意,则执行第二阶段跨链交易,否则直接结束本次跨链交易;
[0038]可选地,所述第二阶段跨链交易步骤包括:
[0039]36)源节点S将执行跨链交易事务中在本区块链执行的交易,并发送commit指令给公证人组NL中的每一个公证人N
i

[0040]37)公证人在收到commit指令后验证源节点签名,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于公证人组的跨链交易方法,其特征在于,实施步骤包括:1)源节点S从公证人池中选择一个公证人节点作为第一公证人,向第一公证人发送目标节点T的数据,请求从公证人池中选择最优公证人组;2)第一公证人根据目标节点T的数据及预设的公证人选择策略,从公证人池中选择本次跨链最优公证人组N
i
,将选择结果返回源节点S;3)源节点S将预跨链交易信息包括源节点信息、公证人组信息分别发送给公证人组NL中的每一个公证人N
i
,并通过公证人组转发及处理,完成跨链交易。2.根据权利要求1所述的一种基于公证人组的跨链交易方法,其特征在于,所述步骤2)中预设的公证人选择策略为:根据源节点S地址和目标节点T地址,以及源节点S对本次跨链交易需要的公证人个数Num进行筛选,具体计算公式如下:S(N
i
)=a
×
T
s
(N
i
)+b
×
T
t
(N
i
)+c
×
R(N
i
)其中,S(N
i
)为公证人N
i
的最后得分,T
s
(N
i
)为公证人N
i
和源节点S的通信耗时,T
t
(N
i
)为公证人N
i
和目标节点的通信耗时,R(N
i
)为公证人N
i
的历史执行表现分数,a,b,c为各自的权重,a+b+c=1;得到每一个公证人N
i
的最后得分S(N
i
)后,根据S(N
i
)进行排名,取前Num个作为本次跨链的公证人组。3.根据权利要求2所述的一种基于公证人组的跨链交易方法,其特征在于,所述公证人N
i
的历史执行表现分数R(N
i
)的计算公式为:其中,E
i
(success)指公证人N
i
参与的跨链交易中,其验证结果与公证人组的验证结果相同的次数;E
i
(all)指公证人N
i
参与的所有的跨链交易次数;E(all)是系统内所有跨链交易的次数;E(success)是系统内所有跨链交易执行成功的次数。4.根据权利要求3所述的一种基于公证人组的跨链交易方法,其特征在于,所述步骤1)中第一公证人为公证人池中历史执行表现分数R(N
i
)最高的公证人。5.根据权利要求1所述的一种基于公证人组的跨链交易方法,其特征在于,所述步骤3)的具体实施步骤为:31)源节点S将预跨链交易信息包括源节点信息、公证人组信息分别发送给公证人组NL中的每一个公证人N
i

【专利技术属性】
技术研发人员:谭林胡斯予储超尘钟思琪刘齐军
申请(专利权)人:湖南天河国云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1