一种基于区块链的预言机服务的竞标方法及系统与流程

文档序号:24062827发布日期:2021-02-26 10:31阅读:55来源:国知局
一种基于区块链的预言机服务的竞标方法及系统与流程

[0001]
本发明涉及区块链技术领域,特别涉及一种基于区块链的预言机服务的竞标方法及系统。


背景技术:

[0002]
区块链是一个封闭的环境,链上是无法主动获取链外真实世界的数据。主要是因为区块链无法主动发起network call(网络调用)而链上智能合约是被动接收数据的。其次,智能合约其实并不“智能”,它只是在满足相应条件下,才达到触发状态的程序。同时,智能合约最终的执行需要合约参与方的私钥签署,智能合约本身没有办法自动执行。当智能合约的触发条件取决于区块链外信息时,这些信息需先写入区块链内记录。此时需要通过预言机来提供这些区块链外的信息。
[0003]
预言机就是一种单向的数字代理,可以查找和验证真实世界的数据,并以加密的方式将信息提交给智能合约。传统的预言机方案往往采用一种中心化的预言机服务,由预先设置好的单节点提供预言机服务,一旦发生故障导致的后果可能是灾难性的,如果智能合约采用此类服务,尤其是一些面向大量c端用户的智能合约,同时无法从根本上提供向c端用户证明其获取数据的真实性。另一种提供可信预言机数据的方式依赖非结构化数据的人工输入,往往在预测市场中,例如人工输入某个事件的单一结果,类似数据众包的思路,确实可以实现去中心化的目的,但人工输入存在失误率高的问题。
[0004]
中国专利cn111026578a公开了一种基于预言机的智能合约安全检测方法,该发明的基于预言机的智能合约安全检测方法具有检测智能合约的功能,通过引入纠删码技术,基于多重预言机模型,保证了检测的效率,确保智能合约的安全执行。
[0005]
但是仍然没有解决现有技术中存在的单点固定的预言机发生故障导致的数据真实和有效的问题。


技术实现要素:

[0006]
为解决现有技术中存在的上述问题,本发明一种基于区块链的预言机服务的竞标方法,包括:
[0007]
s100:数据订阅需求方通过订购预言机服务客户端将订购预言机的sla服务等级协议发送到预言机订单派发合约;
[0008]
s200:所述预言机订单派发合约根据入选的预言机信息创建最新的sla记录并触发日志文件通知入选的预言机;
[0009]
s300:被选定的预言机监听到链上的订单信息后,将启动响应操作,计算需求的数据结果并发送到预言机数据接收合约;所述预言机数据接收合约将接收的需求数据结果提供给需求方智能合约。
[0010]
进一步地,在步骤s100之前,还包括智能合约的数据订阅需求方注册区块链账户,并通过在订阅预言机服务客户端作为登录渠道,在本地导入区块链账户的私钥并登陆区块
链账户。
[0011]
进一步地,步骤s100中所述预言机订单派发合约是根据所述sla信息启动相应的日志文件,预言机服务提供商监听到链上的所述日志文件,若预言机提供商发现本身符合sla要求且有意愿参与竞标,则向所述预言机订单派发合约发送竞标请求并筛选确认入选的预言机。
[0012]
进一步地,步骤s200中入选的预言机为一个或多个;若步骤s200中筛选确认入选的预言机为多个时,则步骤s300还包括:
[0013]
s301所述预言机订单派发合约将根据入选的预言机名单,客户指定的数据聚合方案,生成专属的预言机数据链上聚合合约,所述预言机数据链上聚合合约只接受入选名单的预言机地址传送的信息,并按规则对数据进行聚合;
[0014]
s302:各预言机根据特定的统一规则,将计算的需求数据结果加密第一轮提交给预言机数据链上聚合合约;
[0015]
s303:当各预言机发送数据达成预先设置的阈值后,所述预言机对第一轮提交的需求数据结果进行解密,并将解密后的需求数据结果第二轮上传至预言机数据链上聚合合约;
[0016]
s304:预言机数据链上聚合合约根据设定的聚合规则将所有预言机发送的需求数据结果进行整合,最终向数据需求方输入唯一确定性结果。
[0017]
进一步地,步骤s200中所述预言机订单派发合约收集所有预言机提供商发送的竞标请求后,根据预言机性能评价合约生成的各预言机性能评价信息进行筛选确认入选的预言机。
[0018]
进一步地,所述预言机性能评价合约生成预言机性能评价信息的数据来源包括:历史用户对预言机的评分、预言机数据链上聚合合约对数据进行验证的结果评价或者第三方独立评价机构对预言机的评级数据。
[0019]
进一步地,预言机数据链上聚合合约对数据进行验证的结果评价维度包括可用性和准确性。
[0020]
进一步地,在步骤300之后,所述数据需求方向所述预言机性能评价合约反馈选定预言机的评价信息以使所述预言机性能评价合约根据反馈结果更新所述预言机的性能评价信息。
[0021]
本发明还提供一种基于区块链的预言机服务的竞标系统,包括智能合约的数据需求方、订购预言机服务客户端、分布式区块链网络、分布式预言机服务网络,所述分布式区块链网络部署有预言机订单派发合约、预言机数据接收合约和需求方智能合约,所述分布式预言机服务网络部署若干个可选的预言机提供商,其中所述智能合约的数据需求方、订购预言机服务客户端、分布式区块链网络、分布式预言机服务网络执行上述权利要求任一项所述的基于区块链的预言机服务的竞标方法。
[0022]
进一步地,所述分布式区块链网络还部署有预言机性能评价合约,所述预言机性能评价合约用于生成各预言机性能评价信息。
[0023]
进一步地,所述预言机性能评价合约生成预言机性能评价信息的数据来源包括:历史用户对预言机的评分、预言机数据链上聚合合约对数据进行验证的结果评价或者第三方独立评价机构对预言机的评级数据。
[0024]
本发明提供的基于区块链的预言机服务的竞标方法及系统,智能合约的开发者(数据需求者)可通过预言机服务网络的客户端,自定义所需获取的数据需求及预言机的选择标准,需求者成功下单后,该分布式预言机网络中的预言机将通过投标的方式参与项目竞选,入选的预言机服务提供者将从链下收集数据(可以是分散数据来源,也可由用户指定来源),并将收集数据的结果加密传到中转记录合约,中转记录合约收集到足够数量的预言机传输的加密结果后,启动第二轮,将加密结果公开,并通过验证算法,聚合数据形成最终结果,并向用户的智能合约输入这一最终结果。上述方案解决了传统的预言机方案往往采用一种中心化的预言机服务,由单节点提供预言机服务,一旦发生故障导致的后果可能是灾难性的问题。且该分布式预言机网络中的预言机将通过投标的方式参与项目竞选,可为用户提供一种多维度的客观的预言机评价体系的同时,提高数据的真实性和安全性。
附图说明
[0025]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0026]
图1为本发明提供的基于区块链的预言机服务的竞标方法的流程示意图;
[0027]
图2为图1中步骤s300的流程示意图;
[0028]
图3为发明提供的基于区块链的预言机服务的竞标系统的架构示意图。
具体实施方式
[0029]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0030]
本发明实施例提供一种基于区块链的预言机服务的竞标方法,如图1所示,包括:
[0031]
s100:数据订阅需求方通过订购预言机服务客户端将订购预言机的sla服务等级协议发送到预言机订单派发合约;
[0032]
s200:所述预言机订单派发合约根据入选的预言机信息创建最新的sla记录并触发日志文件通知入选的预言机;
[0033]
s300:被选定的预言机监听到链上的订单信息后,将启动响应操作,计算需求的数据结果并发送到预言机数据接收合约;所述预言机数据接收合约将接收的需求数据结果提供给需求方智能合约。
[0034]
上述方案中,一旦买方(数据订阅需求方)指定了sla方案,而不是直接选购特定预言机,则其提交的sla将被提交到“预言机订单派发合约”,该合约会启动一项日志文件(log),预言机提供商通过监视这项日志文件,若发现自己符合sla要求,则可以考虑是否投标参与该项任务。“预言机订单派发合约”只接受满足sla要求的预言机的投标,当预言机服务提供商进行投标时,需要对其行为负责,将会在投标时向“预言机订单派发合约”转入一笔保证金,如果提供商有不当行为,则这笔保证金将被扣留不再返回。在整个投标期内,所
有符合条件的预言机都可以投标,一旦sla已经接收足够的合格投标且投标期结束,则会从标池中选择一定数量的预言机,在投标过程中,保证金将被归还给未被选中的预言机,一份最终的sla记录就会被创建,创建后将触发一个日志文件通知入选的预言机。
[0035]
在sla日志文件生成的同时,“预言机订单派发合约”将根据入选的预言机名单,客户指定的数据聚合方案,生成专属的“预言机数据链上聚合合约”,该聚合合约只接受入选名单的预言机地址传送的信息,并按规则对数据进行聚合。当预言机订阅到日志文件得知入选后,开始按规则向指定的数据源进行数据收集,这里的数据源可以是多个的,完全可按照订单进行操作,在多数情况下,预言机通过数据源提供的api接口可直接访问数据并计算结果,在面临复杂的程序语言时,可以调用“外部适配功能模块”实现数据交互。
[0036]
在预言机和智能合约之间签署具有约束力的协议,协议和履行结果都被记录在链上,可以随时校验,如果预言机作恶,则会损失其押金,如果预言机发生故障未能履行合约,则会丧失参与投票验证的机会,也会遭受损失。上述发明实施例提供的方案具有以下优点:
[0037]
a、本方案制定了一种去中心化的预言机解决方案,可有效解决中心化预言机存在的弊端,如预言机故障导致的灾难后果;
[0038]
b、本方案制定的预言机评价方案是偏向于自由市场意志的,可为用户提供一种多维度的客观的预言机评价体系;
[0039]
c、本方案的预言机可同时监听不同区块链的数据请求,并多线程作业;
[0040]
d、本方案中,每个功能都是模块化的,可快速升级,可扩展性强,同时对数据的聚合算法可以多类型,支持社区开发者上传算法并从中获利,为聚合数据提供更多优质的思路。
[0041]
进一步地,在步骤s100之前,还包括智能合约的数据订阅需求方注册区块链账户,并通过在订阅预言机服务客户端作为登录渠道,在本地导入区块链账户的私钥并登陆区块链账户。
[0042]
进一步地,步骤s100中所述预言机订单派发合约是根据所述sla信息启动相应的日志文件,预言机服务提供商监听到链上的所述日志文件,若预言机提供商发现本身符合sla要求且有意愿参与竞标,则向所述预言机订单派发合约发送竞标请求并筛选确认入选的预言机。
[0043]
进一步地,步骤s200中入选的预言机为一个或多个;若步骤s200中筛选确认入选的预言机为多个时,则步骤s300还包括:
[0044]
s301所述预言机订单派发合约将根据入选的预言机名单,客户指定的数据聚合方案,生成专属的预言机数据链上聚合合约,所述预言机数据链上聚合合约只接受入选名单的预言机地址传送的信息,并按规则对数据进行聚合;
[0045]
s302:各预言机根据特定的统一规则,将计算的需求数据结果加密第一轮提交给预言机数据链上聚合合约;
[0046]
s303:当各预言机发送数据达成预先设置的阈值后,所述预言机对第一轮提交的需求数据结果进行解密,并将解密后的需求数据结果第二轮上传至预言机数据链上聚合合约;
[0047]
s304:预言机数据链上聚合合约根据设定的聚合规则将所有预言机发送的需求数据结果进行整合,最终向数据需求方输入唯一确定性结果。
[0048]
采取上述技术方案的原因在于:当预言机计算得出结果后,将根据特定的统一规则将计算结果加密提交给链上的“聚合合约”,这里必须要提交的是加密数据,因为在区块链上所有的操作都是公开可查的,一旦提交明文,就存在其他预言机“不劳而获”抄袭的风险。当链上的“聚合合约”收到了足够的有效数据后,将启动第二轮,在此时预言机才会公开其结果,这样即便暴露也不会出现“不劳而获”现象。“聚合合约”根据聚合规则,将所有预言机结果进行整合,最终向客户的智能合约输入唯一的确定性结果。
[0049]
进一步地,步骤s200中所述预言机订单派发合约收集所有预言机提供商发送的竞标请求后,根据预言机性能评价合约生成的各预言机性能评价信息进行筛选确认入选的预言机。
[0050]
进一步地,所述预言机性能评价合约生成预言机性能评价信息的数据来源包括:历史用户对预言机的评分、预言机数据链上聚合合约对数据进行验证的结果评价或者第三方独立评价机构对预言机的评级数据。比如,这里的信用评级等信息来源于“预言机性能评价合约”中的数据记录,该数据由多个组成维度,主要有以下几个大类:来源一:历史的需求订购方,主要维度是用户对预言机品牌、操作便捷度、稳定性的评估,通过历史顾客对预言机的评分,可以为其他用户提供一个全面评估预言机表现的重要参考。来源二:“预言机数据链上聚合合约”和“预言机性能评价合约”相组合的对预言机的评级数据,该评价属于预言机系统的自带功能,为用户选择预言机提供客观的表现衡量;来源三:“第三方独立评价机构”对预言机的评级数据,该评价体系可由第三方评级机构自主填写,“预言机性能评价合约”旨在尽可能全方位的为用户提供预言机性能报告,因此该评级并不是能否中标的必要条件,只是作为用户可参考的一个维度。
[0051]
进一步地,预言机数据链上聚合合约对数据进行验证的结果评价维度包括可用性和准确性。具体而言,可用性:预言机未能及时回复查询的情况;准确性:预言机输出明显的错误回应的情况,错误回应的测量以与同类预言机回应之间的偏差为准。这里关于偏差需要进行数据层面的定义,对于简单布尔值的回应,如今天是否下雨,只存在是或否这类相反的回应,对于气温之类的数据,则偏离意味着重大的数值差距。其次,基于上述可用性和准确性两个基础数据,“预言机性能评价合约”将进一步形成细粒度的数据记录,主要包含:
[0052]
1、需求认领总数:预言机过去许可的请求总数,包括完成和未完成的请求;
[0053]
2、需求完成总数:预言机过去完成请求的总数、需求完成总数除以需求认领总数=需求完成率;
[0054]
3、达标请求总数:被认定为“可采纳”的达标请求总数,达标请求总数除以需求认领总数=回应的准确率;
[0055]
4、平均回应时长:尽管预言机需要预留一定时间来确认数据,但依然涉及到预言机回应的时长,帮助推测未来回应的及时程度;
[0056]
5、保证金水平:如果预言机作恶会扣除保证金,因此保证金水平是衡量某一预言机供应商是否存在欺诈性行为的重要指标。
[0057]
进一步地,在步骤300之后,所述数据需求方向所述预言机性能评价合约反馈选定预言机的评价信息以使所述预言机性能评价合约根据反馈结果更新所述预言机的性能评价信息。
[0058]
本发明还提供一种基于区块链的预言机服务的竞标系统,如图3所示,包括智能合
约的数据需求方、订购预言机服务客户端、分布式区块链网络、分布式预言机服务网络,所述分布式区块链网络部署有预言机订单派发合约、预言机数据接收合约和需求方智能合约,所述分布式预言机服务网络部署若干个可选的预言机提供商,其中所述智能合约的数据需求方、订购预言机服务客户端、分布式区块链网络、分布式预言机服务网络执行上述权利要求任一项所述的基于区块链的预言机服务的竞标方法。
[0059]
进一步地,所述分布式区块链网络还部署有预言机性能评价合约,所述预言机性能评价合约用于生成各预言机性能评价信息。
[0060]
进一步地,所述预言机性能评价合约生成预言机性能评价信息的数据来源包括:历史用户对预言机的评分、预言机数据链上聚合合约对数据进行验证的结果评价或者第三方独立评价机构对预言机的评级数据。
[0061]
本发明提供的基于区块链的预言机服务的竞标方法及系统,智能合约的开发者(数据需求者)可通过预言机服务网络的客户端,自定义所需获取的数据需求及预言机的选择标准,需求者成功下单后,该分布式预言机网络中的预言机将通过投标的方式参与项目竞选,入选的预言机服务提供者将从链下收集数据(可以是分散数据来源,也可由用户指定来源),并将收集数据的结果加密传到中转记录合约,中转记录合约收集到足够数量的预言机传输的加密结果后,启动第二轮,将加密结果公开,并通过验证算法,聚合数据形成最终结果,并向用户的智能合约输入这一最终结果。上述方案解决了传统的预言机方案往往采用一种中心化的预言机服务,由单节点提供预言机服务,一旦发生故障导致的后果可能是灾难性的问题。且该分布式预言机网络中的预言机将通过投标的方式参与项目竞选,可为用户提供一种多维度的客观的预言机评价体系的同时,提高数据的真实性和安全性。
[0062]
尽管本文中较多的使用了诸如数据需求方、订购预言机服务客户端、预言机订单派发合约、预言机数据接收合约
……
等术语,但并不排除使用其它术语的可能性。使用这些术语仅仅是为了更方便地描述和解释本发明的本质;把它们解释成任何一种附加的限制都是与本发明精神相违背的。
[0063]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1