System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种确定链外数据源可靠性的方法及装置制造方法及图纸_技高网

一种确定链外数据源可靠性的方法及装置制造方法及图纸

技术编号:43712959 阅读:25 留言:0更新日期:2024-12-18 21:26
本申请提供一种确定链外数据源可靠性的方法及装置,该方法应用于区块链上的预言机合约,该方法包括:根据预配置的M个数据源组成初始数据源序列;通过设定区块的设定交易的标识,确定随机交换机制,并通过随机交换机制得到更新数据源序列;随机交换机制用于对初始数据源序列中的两个数据源的位置进行交换;将更新数据源序列中满足延迟率要求的N个数据源确定为待验证数据源序列;数据源的延迟率是根据数据源提交验证数据的时间确定的;通知待验证数据源序列中的各数据源提交用于本轮可靠性验证的验证数据;通过待验证数据源序列中的各数据源提交的验证数据,确定待验证数据源序列中的各数据源的可靠性。该方法可提高数据源可靠性的确定效率。

【技术实现步骤摘要】

本申请涉及区块链,尤其涉及一种确定链外数据源可靠性的方法及装置


技术介绍

1、随着计算机技术的发展,越来越多的计算机技术应用在金融领域中,这意味着传统金融行业正在逐步向金融科技(fintech)转变,例如,如今很多金融领域都应用了区块链技术。

2、区块链依靠分布式系统和相关技术构造了一个确定的链上世界,链外的绝大部分信息对于区块链而言都处于不透明状态,这些信息在区块链中无法被信任或使用;若区块链想要与外界数据进行数据相互,可以通过在区块链上设置预言机合约来调用链外与区块链连接的预言机节点来完成数据交互,预言机节点需要对数据的提供方,即数据源进行可靠性评分,并将各数据源的可靠性评分传输至链上的预言机合约,由预言机合约根据各数据源的可靠性评分对数据源进行筛选,选择更可靠的数据源使用其数据。

3、然而当数据源过多时,对每一个数据源都进行可靠性评分的计算会导致计算压力过大,效率也会较低;因此,如何提升数据源可靠性评分的效率是亟需考虑的问题。


技术实现思路

1、本申请提供一种确定链外数据源可靠性的方法及装置,用以提高链外数据源可靠性的确定效率。

2、第一方面,本申请提供一种确定链外数据源可靠性的方法,该方法应用于区块链上的预言机合约,该方法包括:

3、根据预配置的m个数据源组成初始数据源序列;m为正整数;

4、通过设定区块的设定交易的标识,确定随机交换机制,并通过所述随机交换机制得到更新数据源序列;所述随机交换机制用于对所述初始数据源序列中的两个数据源的位置进行交换;

5、将所述更新数据源序列中满足延迟率要求的n个数据源确定为待验证数据源序列;数据源的延迟率是根据数据源提交验证数据的时间确定的;n为正整数且n小于或等于m;

6、通知所述待验证数据源序列中的各数据源提交用于本轮可靠性验证的验证数据;

7、通过所述待验证数据源序列中的各数据源提交的验证数据,确定所述待验证数据源序列中的各数据源的可靠性。

8、本申请提供的确定链外数据源可靠性的方法,无需确定m个数据源的可靠性,而是在m个数据源中选取n个数据源进行可靠性的确定即可;本申请在选取前,首先确定随机交换机制,对m个数据源的位置进行多次交换,保证更新数据源序列具有很好的随机性;然后在更新数据源序列中将满足延迟率要求的n个数据源作为待验证数据源序列;如此,仅需n个数据源提交验证数据,降低了链外和链上之间交互的数据量,提高了可靠性的确定效率;此外,本申请提供的确定链外数据源可靠性的方法是在链上进行的,而不是由链外的预言机节点确定数据源的可靠性,再由预言机节点传输至链上的预言机合约,因此,该方法具有更好的实时性,更新速度更快。

9、在一种可能的设计中,所述数据源的延迟率是根据数据源提交验证数据的时间确定的,包括:

10、获取所述数据源的历史可靠性验证记录;所述数据源的历史可靠性验证记录包括所述数据源在上一轮可靠性验证中提交验证数据的时间;

11、根据所述数据源在上一轮可靠性验证中提交验证数据的时间以及在上一轮可靠性验证中通知所述数据源提交验证数据的时间确定所述数据源的延迟率。

12、每个数据源都有历史可靠性验证记录,其中包括了数据源在上一轮提交验证数据的时间,根据数据源在上一轮提交验证数据的时间以及上一轮通知提交验证数据的时间可以确定数据源的延迟率,用于后续n个数据源的确定。

13、在一种可能的设计中,所述区块链节点通过设定区块的设定交易的标识,确定随机交换机制,包括:

14、所述区块链节点根据区块链上最新区块中的第一个交易的标识确定第一整数;

15、根据所述第一整数随机确定对所述初始数据源序列进行数据源交换的次数,并通过随机算法确定每次数据源交换的交换位置。

16、区块链上的每一笔交易都有唯一的交易号,交易号通常为二进制数,可作为交易的标识;在确定随机交换机制时,可以根据设定区块的设定交易的标识来确定,例如,根据区块链上最新区块中的第一个交易的标识确定第一整数,该第一整数可以是将第一个交易的二进制标识转换为整数获得的,然后根据第一整数确定需要进行数据源交换的次数,本申请中的数据源交换主要是指数据源位置的交换,进行多次数据源交换后可以保证更新数据源序列具有很好的随机性。

17、在一种可能的设计中,所述通过所述待验证数据源序列中的各数据源提交的验证数据,确定所述待验证数据源序列中的各数据源的可靠性,包括:

18、根据所述待验证数据源序列中的各数据源提交的用于本轮可靠性验证的验证数据确定所述待验证数据源序列中的各数据源的第一分数和第二分数;所述待验证数据源序列中的任一数据源的第一分数用于表征所述数据源提交的验证数据的真实性,所述数据源的第二分数用于表征所述数据源提交的验证数据与所述待验证数据源序列中其它数据源提交的验证数据之间的偏差程度;

19、根据所述待验证数据源序列中的各数据源的第一分数和第二分数确定所述待验证数据源序列中的各数据源的第三分数;所述待验证数据源序列中的任一数据源的第三分数用于表征所述数据源的可靠性。

20、根据数据源提交的验证数据可以确定验证数据的真实性以及与其它数据源提交的验证数据之间的偏差程度,相较于单一地从某一个维度来确定数据源的可靠性,本申请从验证数据的多维度来确定数据源的可靠性,提升了数据源可靠性确定的合理性。

21、在一种可能的设计中,所述根据所述数据源在上一轮可靠性验证中提交验证数据的时间以及在上一轮可靠性验证中通知所述数据源提交验证数据的时间确定所述数据源的延迟率,包括:

22、获取上一轮可靠性验证的持续时长;

23、确定第一差值;所述第一差值为所述数据源在上一轮可靠性验证中提交验证数据的时间与在上一轮可靠性验证中通知待验证的数据源提交验证数据的时间的差值;

24、根据所述第一差值与所述上一轮可靠性验证的持续时长的比值确定所述数据源的延迟率。

25、在通知待验证数据源序列中的数据源提交验证数据之后,若数据源很快做出响应,提交验证数据,则数据源提交验证数据的时间与通知数据源提交验证数据的间隔时间则较短,那么该数据源的延迟率则较低,因此,数据源的延迟率在一定程度上可以体现数据源的响应速度;相应地,若数据源的响应速度快、延迟率较低,则表明该数据源的负载较低,健康程度较好。

26、在一种可能的设计中,所述将所述更新数据源序列中满足延迟率要求的n个数据源确定为待验证数据源序列,包括:

27、将所述更新数据源序列中的前k个数据源确定为待选择数据源序列,k等于对所述初始数据源序列进行数据源交换的次数;

28、将所述待选择数据源序列中满足延迟率要求的n个数据源确定为所述待验证数据源序列。

29、首先从m个数据源中选取k个数据源,将需要确定可靠性的数据源个数由m减少至k个;然后再从k个数据源中根据延迟率进本文档来自技高网...

【技术保护点】

1.一种确定链外数据源可靠性的方法,其特征在于,该方法应用于区块链上的预言机合约,该方法包括:

2.如权利要求1所述的方法,其特征在于,所述数据源的延迟率是根据数据源提交验证数据的时间确定的,包括:

3.如权利要求1所述的方法,其特征在于,所述区块链节点通过设定区块的设定交易的标识,确定随机交换机制,包括:

4.如权利要求1所述的方法,其特征在于,所述通过所述待验证数据源序列中的各数据源提交的验证数据,确定所述待验证数据源序列中的各数据源的可靠性,包括:

5.如权利要求2所述的方法,其特征在于,所述根据所述数据源在上一轮可靠性验证中提交验证数据的时间以及在上一轮可靠性验证中通知所述数据源提交验证数据的时间确定所述数据源的延迟率,包括:

6.如权利要求1或3所述的方法,其特征在于,所述将所述更新数据源序列中满足延迟率要求的N个数据源确定为待验证数据源序列,包括:

7.如权利要求6中任一项所述的方法,其特征在于,所述M个数据源中的任一数据源均有对应的统计值,任一数据源对应的统计值的初始值为0,所述数据源的统计值用于表征所述数据源跳过可靠性验证的次数;

8.如权利要求4所述的方法,其特征在于,若第二数据源提交的用于本轮可靠性验证的验证数据是由多个子数据源提交的待验证数据通过数据计算模板进行计算获得的,则所述第二数据源提交的用于本轮可靠性验证的验证数据还包括所述多个子数据源中各子数据源的待验证数据的获取路径以及所述数据计算模板;所述第二数据源为所述待验证数据源序列中的任意一个数据源;

9.一种确定链外数据源可靠性的装置,其特征在于,该装置包括:收发单元和处理单元;

10.一种确定链外数据源可靠性的设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;

11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-8中任一项所述的方法。

12.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-8中任一项所述的方法。

...

【技术特征摘要】

1.一种确定链外数据源可靠性的方法,其特征在于,该方法应用于区块链上的预言机合约,该方法包括:

2.如权利要求1所述的方法,其特征在于,所述数据源的延迟率是根据数据源提交验证数据的时间确定的,包括:

3.如权利要求1所述的方法,其特征在于,所述区块链节点通过设定区块的设定交易的标识,确定随机交换机制,包括:

4.如权利要求1所述的方法,其特征在于,所述通过所述待验证数据源序列中的各数据源提交的验证数据,确定所述待验证数据源序列中的各数据源的可靠性,包括:

5.如权利要求2所述的方法,其特征在于,所述根据所述数据源在上一轮可靠性验证中提交验证数据的时间以及在上一轮可靠性验证中通知所述数据源提交验证数据的时间确定所述数据源的延迟率,包括:

6.如权利要求1或3所述的方法,其特征在于,所述将所述更新数据源序列中满足延迟率要求的n个数据源确定为待验证数据源序列,包括:

7.如权利要求6中任一项所述的方法,其特征在于,所述m个数据源中的任一数据源均有对应的统计值,任一数据源...

【专利技术属性】
技术研发人员:黎宁张开翔姚辉亚
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:

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

1