【技术实现步骤摘要】
区块链访问链外数据的方法、装置、设备和介质
[0001]本公开涉及计算机
,尤其涉及区块链技术。
技术介绍
[0002]由于区块链系统是确定性的环境,所以,如果要访问链外数据源时,可通过预言机(Oracle)机制实现。
[0003]区块链中的业务合约,可以通过预言机节点中设置的预言机服务来访问链外数据源。但是,现有技术存在的缺陷在于,在执行区块链中事务请求的过程中,通过预言机服务访问链外数据,再向区块链反馈存在较高延迟;一次事务请求的访问需求会触发多次交互,导致网络拥堵。
技术实现思路
[0004]本公开提供了一种区块链访问链外数据的方法、装置、设备和介质,以解决预言机服务在访问链外数据时的较高延迟和网络拥堵问题。
[0005]第一方面,本公开实施例提供了一种区块链访问链外数据的方法,应用于区块链节点,所述方法包括:获取基于业务合约发起的业务预执行请求;在执行所述业务预执行请求的过程中,如果检测到链外数据的访问需求,则产生链外数据访问请求;根据所述链外数据访问请求,使得所述预言机服务根据 ...
【技术保护点】
【技术特征摘要】
1.一种区块链访问链外数据的方法,应用于区块链节点,所述方法包括:获取基于业务合约发起的业务预执行请求;在执行所述业务预执行请求的过程中,如果检测到链外数据的访问需求,则产生链外数据访问请求;根据所述链外数据访问请求,使得所述预言机服务根据所述链外数据访问请求对链外数据源进行访问;接收所述预言机服务反馈的链外数据访问结果和预言机服务的背书签名;根据所述链外数据访问结果继续执行所述业务预执行请求,以产生业务预执行结果;获取业务事务请求并向区块链提交所述业务事务请求;其中,所述业务事务请求包括所述业务预执行请求、链外数据访问结果、背书签名和业务预执行结果。2.根据权利要求1所述的方法,其中,所述背书签名用于在区块链节点验证到链外数据访问需求时,直接根据所述背书签名的验证结果确认所述链外数据访问结果。3.根据权利要求1所述的方法,其中,根据所述链外数据访问请求,使得所述预言机服务根据所述链外数据访问请求对链外数据源进行访问包括:根据所述链外数据访问请求,调用预言机服务的访问接口,以使得所述预言机服务根据所述链外数据访问请求对链外数据源进行访问。4.根据权利要求3所述的方法,其中,所述预言机服务的访问接口为所述预言机服务的原生代码程序接口。5.根据权利要求4所述的方法,其中,根据所述链外数据访问请求,调用预言机服务的访问接口包括:通过预言机合约执行所述链外数据访问请求,并产生预言机服务的访问接口的调用指令,由预言机合约的虚拟机传输给区块链内核程序;通过所述区块链内核程序将所述调用指令传输给所述预言机服务所在的预言机节点。6.根据权利要求3所述的方法,其中,如果检测到链外数据的访问需求,则产生链外数据访问请求包括:如果检测到链外数据的访问需求,则根据所述访问需求确定待访问的链外数据源和预言机服务的地址,并根据所述待访问的链外数据源和预言机服务的地址产生链外数据访问请求;相应的,根据所述链外数据访问请求,调用预言机服务的访问接口包括:根据所述链外数据访问请求中的预言机服务的地址,调用预言机服务的访问接口,并将所述待访问的链外数据源的地址作为调用访问接口的输入参数。7.根据权利要求3所述的方法,其中,根据所述链外数...
【专利技术属性】
技术研发人员:刘晓赫,郑旗,郑斌,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。