去中心化的预言机实现方法、装置、存储器和计算机制造方法及图纸

技术编号:25042716 阅读:44 留言:0更新日期:2020-07-29 05:33
本发明专利技术公开了一种去中心化的预言机实现方法、装置、存储器和计算机。如果中心化的数据存储系统的状态为“共识计算结束”,则根据中心化的数据存储系统中存储的数据内容、时间戳和地址发起一笔交易存入区块链中,并将中心化的数据存储系统的状态改为“共识计算中”;检测区块链各节点是否均完成对交易的共识计算;如果未完成则进行共识计算至各节点均完成对所述交易的共识计算;如果完成则根据共识计算结果确定将交易写入区块链或取消交易,更新时间戳并同步到区块链各节点中,并将中心化的数据存储系统的状态改为“共识计算结束”。实现了中心化存储系统中数据的分布式存储,实现了去中心化的预言机功能,并确保了信息的保密性。

【技术实现步骤摘要】
去中心化的预言机实现方法、装置、存储器和计算机
本专利技术公开了一种去中心化的预言机实现方法、装置、存储器和计算机。
技术介绍
区块链外信息写入区块链内的机制,一般被称为预言机(oraclemechanism)。预言机的功能就是将外界信息写入到区块链内,完成区块链与现实世界的数据互通。它允许确定的智能合约对不确定的外部世界作出反应,是智能合约与外部进行数据交互的唯一途径,也是区块链与现实世界进行数据交互的接口。区块链智能合约无法主动获取外部数据,当智能合约的触发条件是外部信息时(链外),就需要预言机来提供数据服务。公链的交易计算共识的时候,所有的节点必须得到预言机提供的一致的数据。所以,预言机需要将数据同步到公链的各节点。预言机的工作流程是接受请求、获取数据、返回数据。预言机在实际应用时,需要着重加以考虑信息保密性、完整性、可获得性等问题,中心化的预言机虽然在信息完整性和可获得性方面没问题,但是比较容易遭受攻击,所以信息保密性方面存在较大的安全隐患。
技术实现思路
本专利技术一方面提供了一种去中心化的预言机实现方法,包括:如果中心化的数据存储系统的状态为“共识计算结束”,则根据中心化的数据存储系统中存储的数据内容、时间戳和地址发起一笔交易存入区块链中,并将所述中心化的数据存储系统的状态改为“共识计算中”;检测所述区块链各节点是否均完成对所述交易的共识计算;如果部分节点未完成对所述交易的共识计算,则进行共识计算至各节点均完成对所述交易的共识计算;>如果所述区块链各节点均完成对所述交易的共识计算,则根据共识计算结果确定将所述交易写入所述区块链或取消所述交易,更新时间戳并同步到所述区块链各节点中,并将所述中心化的数据存储系统的状态改为“共识计算结束”。优选地,所述根据中心化的数据存储系统中存储的数据内容、时间戳和地址发起一笔交易存入区块链中,包括:获取所述中心化的数据存储系统中存储的数据内容、时间戳和地址;计算所述数据内容的哈希值;获取所述数据内容的副本;根据所述数据内容的哈希值、时间戳、所述数据内容的副本和地址发起一笔交易存入区块链中。优选地,所述区块链为公链、私有链或联盟链。优选地,去中心化的预言机实现方法还包括:接收用户发送的数据请求信息;根据所述请求信息中的数据接口ID确定对应的所述区块链的节点;将所述区块链的节点与用户建立连接;根据所述请求信息中的待查询时间戳从所述区块链的节点返回数据。优选地,所述根据所述请求信息中的待查询时间戳从所述区块链的节点返回数据,包括:检测所述待查询时间戳是否大于最新时间戳;如果所述待查询时间戳大于或等于所述最新时间戳,则返回最新上链数据;如果所述待查询时间戳小于所述最新时间戳,则返回在所述待查询时间戳之前的最新上链数据。优选地,所述如果所述待查询时间戳大于或等于所述最新时间戳,则返回最新上链数据,包括:当所述待查询时间戳大于或等于所述最新时间戳时,检测所述最新时间戳对应的交易是否完成共识计算并写入区块;如果所述最新时间戳对应的交易完成共识计算并写入区块,则返回所述交易包含的数据;如果所述最新时间戳对应的交易未完成共识计算,则返回所述最新时间戳之前的上一个时间戳对应的数据。优选地,当所述最新时间戳对应的交易未完成共识计算时,在返回所述最新时间戳之前的上一个时间戳对应的数据之前,还包括:返回等待的信息提示;在预设的等待时间内如果最新时间戳对应的交易完成共识计算,则返回所述交易包含的数据;在预设的等待时间内如果最新时间戳对应的交易未完成共识计算,则返回所述最新时间戳之前的上一个时间戳对应的数据。本专利技术第二方面还提供了一种去中心化的预言机实现装置,包括:交易发起模块,用于当中心化的数据存储系统的状态为“共识计算结束”时,根据中心化的数据存储系统中存储的数据内容、时间戳和地址发起一笔交易存入区块链中;第一状态管理模块,用于发起一笔交易后将所述中心化的数据存储系统的状态改为“共识计算中”;检测模块,用于检测所述区块链各节点是否均完成对所述交易的共识计算;共识计算模块,用于当部分节点未完成对所述交易的共识计算时,进行共识计算至各节点均完成对所述交易的共识计算;交易处理模块,用于当所述区块链各节点均完成对所述交易的共识计算时,根据共识计算结果确定将所述交易写入所述区块链或取消所述交易;时间戳更新模块,用于当所述区块链各节点均完成对所述交易的共识计算时,更新时间戳并同步到所述区块链各节点中;第二状态管理模块,用于当所述区块链各节点均完成对所述交易的共识计算时,将所述中心化的数据存储系统的状态改为“共识计算结束”。本专利技术还提供了一种存储器,所述存储器存储有多条指令,所述指令可被处理器加载并执行以使所述处理器能够执行上述的去中心化的预言机实现方法。本专利技术还提供了一种计算机,包括处理器和与所述处理器连接的存储器,所述存储器存储有多条指令,所述指令可被所述处理器加载并执行,以使所述处理器能够执行上述的去中心化的预言机实现方法。附图说明图1为本专利技术所述去中心化的预言机实现方法流程示意图;图2为本专利技术所述去中心化的预言机实现装置结构示意图;图3为本专利技术所述计算机结构示意图。具体实施方案为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案做详细的说明。本专利技术提供的方法可以在如下的终端环境中实施,该终端可以包括一个或多个如下部件:处理器、存储器和显示屏。其中,存储器中存储有至少一条指令,所述指令由处理器加载并执行以实现下述实施例所述的方法。处理器可以包括一个或者多个处理核心。处理器利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器内的指令、程序、代码集或指令集,以及调用存储在存储器内的数据,执行终端的各种功能和处理数据。存储器可以包括随机存储器(RandomAccessMemory,RAM),也可以包括只读存储器(Read-OnlyMemory)。存储器可用于存储指令、程序、代码、代码集或指令。显示屏用于显示各个应用程序的用户界面。除此之外,本领域技术人员可以理解,上述终端的结构并不构成对终端的限定,终端可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,终端中还包括射频电路、输入单元、传感器、音频电路、电源等部件,在此不再赘述。实施例一如图1所示,本专利技术实施例提供了一种去中心化的预言机实现方法,包括:S101,如果中心化的数据存储系统的状态为“共识计算结束”,则根据中心化的数据存储系统中存储的数据内容、时间戳和地址发起一笔交易存入区块链中,并将所述中心化的数据存储系统的状态改为“共识计算中”;S102,检测所述区块链本文档来自技高网...

【技术保护点】
1.一种去中心化的预言机实现方法,其特征在于,包括:/n如果中心化的数据存储系统的状态为“共识计算结束”,则根据中心化的数据存储系统中存储的数据内容、时间戳和地址发起一笔交易存入区块链中,并将所述中心化的数据存储系统的状态改为“共识计算中”;/n检测所述区块链各节点是否均完成对所述交易的共识计算;/n如果部分节点未完成对所述交易的共识计算,则进行共识计算至各节点均完成对所述交易的共识计算;/n如果所述区块链各节点均完成对所述交易的共识计算,则根据共识计算结果确定将所述交易写入所述区块链或取消所述交易,更新时间戳并同步到所述区块链各节点中,并将所述中心化的数据存储系统的状态改为“共识计算结束”。/n

【技术特征摘要】
1.一种去中心化的预言机实现方法,其特征在于,包括:
如果中心化的数据存储系统的状态为“共识计算结束”,则根据中心化的数据存储系统中存储的数据内容、时间戳和地址发起一笔交易存入区块链中,并将所述中心化的数据存储系统的状态改为“共识计算中”;
检测所述区块链各节点是否均完成对所述交易的共识计算;
如果部分节点未完成对所述交易的共识计算,则进行共识计算至各节点均完成对所述交易的共识计算;
如果所述区块链各节点均完成对所述交易的共识计算,则根据共识计算结果确定将所述交易写入所述区块链或取消所述交易,更新时间戳并同步到所述区块链各节点中,并将所述中心化的数据存储系统的状态改为“共识计算结束”。


2.如权利要求1所述的去中心化的预言机实现方法,其特征在于,所述根据中心化的数据存储系统中存储的数据内容、时间戳和地址发起一笔交易存入区块链中,包括:
获取所述中心化的数据存储系统中存储的数据内容、时间戳和地址;
计算所述数据内容的哈希值;
获取所述数据内容的副本;
根据所述数据内容的哈希值、时间戳、所述数据内容的副本和地址发起一笔交易存入区块链中。


3.如权利要求1所述的去中心化的预言机实现方法,其特征在于,所述区块链为公链、私有链或联盟链。


4.如权利要求1所述的去中心化的预言机实现方法,其特征在于,还包括:
接收用户发送的数据请求信息;
根据所述请求信息中的数据接口ID确定对应的所述区块链的节点;
将所述区块链的节点与用户建立连接;
根据所述请求信息中的待查询时间戳从所述区块链的节点返回数据。


5.如权利要求1所述的去中心化的预言机实现方法,其特征在于,所述根据所述请求信息中的待查询时间戳从所述区块链的节点返回数据,包括:
检测所述待查询时间戳是否大于最新时间戳;
如果所述待查询时间戳大于或等于所述最新时间戳,则返回最新上链数据;
如果所述待查询时间戳小于所述最新时间戳,则返回在所述待查询时间戳之前的最新上链数据。


6.如权利要求5所述的去中心化的预言机实现方法,其特征在于,所述如果所述待查询时间戳大于或等于所述最新时间戳,则返回最新上链数据,包括:
当所述待查询时间戳大于或等于所...

【专利技术属性】
技术研发人员:张诚张勇
申请(专利权)人:北京瑞卓喜投科技发展有限公司
类型:发明
国别省市:北京;11

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

1