一种基于预言机信誉值的链外数据获取方法和装置制造方法及图纸

技术编号:37452208 阅读:17 留言:0更新日期:2023-05-06 09:24
本发明专利技术公开了一种基于预言机信誉值的链外数据获取方法和装置,涉及区块链技术领域。该方法包括:通过应用合约调用预言机合约,将需求任务发布至区块链中;接收预言机反馈的数据;根据预言机的信誉值、信誉值需求信息、预言机数量上限和下限,选择目标预言机;将目标预言机反馈的数据提供给应用合约;根据目标预言机的响应时间和信誉值、当前预言机的响应时间,计算响应时间指标;根据目标预言机的信誉值和反馈的数据、当前预言机反馈的数据,计算数据质量指标;根据时间段内需求任务的数量、当前预言机反馈正确数据的次数和反馈错误数据的次数,计算响应频率指标;根据上述三种指标,更新当前预言机的信誉值。该实施方式能够提高信誉值的准确度。提高信誉值的准确度。提高信誉值的准确度。

【技术实现步骤摘要】
一种基于预言机信誉值的链外数据获取方法和装置


[0001]本专利技术涉及区块链
,尤其涉及一种基于预言机信誉值的链外数据获取方法和装置。

技术介绍

[0002]预言机作为一个中间件,能够将区块链与链下世界连接,为区块链中的应用提供所需的链下数据。预言机主要分为中心化预言机和去中心化预言机,中心化预言机通过单一预言机从数据源获取数据,由单个实体控制;去中心化预言机通过多个预言机从不同的数据源获取数据,不受单个实体控制。
[0003]为了提高预言机的服务质量,通常基于预言机的信誉值选择最终提供数据的预言机,并根据预言机自身参数的数值大小更新其信誉值。但是,该方法仅考虑预言机自身参数,缺少与其他预言机的横向对比,导致得到的信誉值不准确,无法使得到的信誉值真实反映预言机的服务质量。

技术实现思路

[0004]有鉴于此,本专利技术实施例提供一种基于预言机信誉值的链外数据获取方法和装置,能够使得到的信誉值更加准确地反映预言机的服务质量。
[0005]第一方面,本专利技术实施例提供了一种基于预言机信誉值的链外数据获取方法,包括:接收用户发送的合约调用交易;其中,合约调用交易中包括:需求数据信息、信誉值需求信息、预言机数量上限和预言机数量下限;根据所述合约调用交易,调用区块链中部署的应用合约,通过所述应用合约,调用所述区块链中部署的预言机合约中的预言函数,通过所述预言函数执行:根据所述需求数据信息,生成需求任务;将所述需求任务发布至所述区块链中;接收多个预言机针对所述需求任务反馈的数据;根据所述区块链中存储的各个所述预言机的信誉值、所述信誉值需求信息、所述预言机数量上限和所述预言机数量下限,从所述多个预言机中选择目标预言机;将所述目标预言机反馈的数据提供给所述应用合约;通过所述应用合约,调用所述预言机合约中的信誉值更新函数,通过所述信誉值更新函数执行:获取当前预言机的响应时间和所述目标预言机的响应时间,根据所述目标预言机的响应时间和信誉值、所述当前预言机的响应时间,计算所述当前预言机的响应时间指标;根据所述目标预言机的信誉值和反馈的数据、所述当前预言机反馈的数据,计算所述当前预言机的数据质量指标;获取预设时间段内需求任务的数量、所述当前预言机反馈正确数据的次数和所述当前预言机反馈错误数据的次数,根据所述时间段内需求任务的数量、所述当前预言机反馈正确数据的次数和所述当前预言机反馈错误数据的次数,计算所述当前预言机的响应频率指标;根据所述响应时间指标、所述数据质量指标和所述响应频率指标,更新所述区块链中当前预言机的信誉值;
所述响应时间指标,用于表征响应时间对信誉值的影响程度;所述数据质量指标,用于表征当次反馈数据的质量对信誉值的影响程度;所述响应频率指标,用于表征所述时间段内反馈数据的质量和次数对信誉值的影响程度。
[0006]第二方面,本专利技术实施例提供了一种基于预言机信誉值的链外数据获取装置,包括:接收模块,配置为接收用户发送的合约调用交易;其中,合约调用交易中包括:需求数据信息、信誉值需求信息、预言机数量上限和预言机数量下限;数据获取模块,配置为根据所述合约调用交易,调用区块链中部署的应用合约,通过所述应用合约,调用所述区块链中部署的预言机合约中的预言函数,通过所述预言函数执行:根据所述需求数据信息,生成需求任务;将所述需求任务发布至所述区块链中;接收多个预言机针对所述需求任务反馈的数据;根据所述区块链中存储的各个所述预言机的信誉值、所述信誉值需求信息、所述预言机数量上限和所述预言机数量下限,从所述多个预言机中选择目标预言机;将所述目标预言机反馈的数据提供给所述应用合约;信誉值更新模块,配置为通过所述应用合约,调用所述预言机合约中的信誉值更新函数,通过所述信誉值更新函数执行:获取当前预言机的响应时间和所述目标预言机的响应时间,根据所述目标预言机的响应时间和信誉值、所述当前预言机的响应时间,计算所述当前预言机的响应时间指标;根据所述目标预言机的信誉值和反馈的数据、所述当前预言机反馈的数据,计算所述当前预言机的数据质量指标;获取预设时间段内需求任务的数量、所述当前预言机反馈正确数据的次数和所述当前预言机反馈错误数据的次数,根据所述时间段内需求任务的数量、所述当前预言机反馈正确数据的次数和所述当前预言机反馈错误数据的次数,计算所述当前预言机的响应频率指标;根据所述响应时间指标、所述数据质量指标和所述响应频率指标,更新所述区块链中当前预言机的信誉值;所述响应时间指标,用于表征响应时间对信誉值的影响程度;所述数据质量指标,用于表征当次反馈数据的质量对信誉值的影响程度;所述响应频率指标,用于表征所述时间段内反馈数据的质量和次数对信誉值的影响程度。
[0007]第三方面,本专利技术实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任一实施例所述的方法。
[0008]第四方面,本专利技术实施例提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述任一实施例所述的方法。
[0009]上述专利技术中的一个实施例具有如下优点或有益效果:在纵向维度上,考虑了当前预言机的多种参数,在横向维度上,考虑了当前预言机与目标预言机的参数和信誉值的差异。综合不同维度更新信誉值,能够使得到的信誉值更加真实地反映预言机的服务质量,进而选择更好的预言机为用户提供服务。通过预言机的多种参数,分别从响应时间、反馈的数据质量、反馈数据的频率等多种角度对信誉值进行更新,使得到的信誉值更加贴合实际情况。用户可以通过改变预言机数量上限和预言机数量下限,灵活地切换预言机的使用模式,以满足自身的业务需要。预言机的使用模式包括中心化预言机和去中心化预言机,如果预
言机数量上限和预言机数量下限均为1,则为中心化预言机,否则,为去中心化预言机。
[0010]上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
[0011]附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是本专利技术的一个实施例提供的一种基于预言机信誉值的链外数据获取方法的流程图;图2是本专利技术的另一个实施例提供的一种基于预言机信誉值的链外数据获取方法的流程图;图3是本专利技术的一个实施例提供的一种获取链外数据过程中各方的交互示意图;图4是本专利技术的一个实施例提供的一种基于预言机信誉值的链外数据获取装置的示意图;图5是适于用来实现本专利技术实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
[0012]以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0013]如图1所示,本专利技术实施例提供了一种基于预言机信誉值的链外数据获取方法,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于预言机信誉值的链外数据获取方法,其特征在于,包括:接收用户发送的合约调用交易;其中,合约调用交易中包括:需求数据信息、信誉值需求信息、预言机数量上限和预言机数量下限;根据所述合约调用交易,调用区块链中部署的应用合约,通过所述应用合约,调用所述区块链中部署的预言机合约中的预言函数,通过所述预言函数执行:根据所述需求数据信息,生成需求任务;将所述需求任务发布至所述区块链中;接收多个预言机针对所述需求任务反馈的数据;根据所述区块链中存储的各个所述预言机的信誉值、所述信誉值需求信息、所述预言机数量上限和所述预言机数量下限,从所述多个预言机中选择目标预言机;将所述目标预言机反馈的数据提供给所述应用合约;通过所述应用合约,调用所述预言机合约中的信誉值更新函数,通过所述信誉值更新函数执行:获取当前预言机的响应时间和所述目标预言机的响应时间,根据所述目标预言机的响应时间和信誉值、所述当前预言机的响应时间,计算所述当前预言机的响应时间指标;根据所述目标预言机的信誉值和反馈的数据、所述当前预言机反馈的数据,计算所述当前预言机的数据质量指标;获取预设时间段内需求任务的数量、所述当前预言机反馈正确数据的次数和所述当前预言机反馈错误数据的次数,根据所述时间段内需求任务的数量、所述当前预言机反馈正确数据的次数和所述当前预言机反馈错误数据的次数,计算所述当前预言机的响应频率指标;根据所述响应时间指标、所述数据质量指标和所述响应频率指标,更新所述区块链中当前预言机的信誉值;所述响应时间指标,用于表征响应时间对信誉值的影响程度;所述数据质量指标,用于表征当次反馈数据的质量对信誉值的影响程度;所述响应频率指标,用于表征所述时间段内反馈数据的质量和次数对信誉值的影响程度。2.如权利要求1所述的方法,其特征在于,所述信誉值需求信息,包括:单一信誉值的下限和信誉值之和的下限;任一所述目标预言机的信誉值不小于所述单一信誉值的下限;当所述目标预言机存在多个时,各个所述目标预言机的信誉值之和不小于所述信誉值之和的下限。3.如权利要求1所述的方法,其特征在于,根据所述目标预言机的响应时间和信誉值、所述当前预言机的响应时间,计算所述当前预言机的响应时间指标,包括:根据多个目标预言机的信誉值,计算所述多个目标预言机的平均信誉值;根据所述多个目标预言机的响应时间,计算所述多个目标预言机的平均响应时间;根据所述平均信誉值和所述平均响应时间、以及所述当前预言机的响应时间,计算所述当前预言机的响应时间指标。4.如权利要求1所述的方法,其特征在于,根据所述目标预言机的信誉值和反馈的数据、所述当前预言机反馈的数据,计算所述当前预言机的数据质量指标,包括:根据多个目标预言机的信誉值,计算所述多个目标预言机的平均信誉值;识别所述当前预言机反馈的数据与所述目标预言机反馈的数据是否相同;根据识别结果和所述平均信誉值,计算所述当前预言机的数据质量指标。
5.如权利要求1所述的方法,其特征在于,根据所述时间段内需求任务的数量、所述当前预言机反馈正确数据的次数和所述当前预言机反馈错误数据的次数,计算所述当前预言机的响应频率指标,包括:根据所述...

【专利技术属性】
技术研发人员:邢炬左磊
申请(专利权)人:天聚地合苏州科技股份有限公司
类型:发明
国别省市:

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

1