[发明专利]一种基于区块链的授时预言机实现方法在审
| 申请号: | 201910933714.0 | 申请日: | 2019-09-29 |
| 公开(公告)号: | CN110633286A | 公开(公告)日: | 2019-12-31 |
| 发明(设计)人: | 王伟兵;庞松涛;商广勇;宋明明;杨海勇;张岚 | 申请(专利权)人: | 山东爱城市网信息技术有限公司 |
| 主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/27;G06F21/31;G06F9/455 |
| 代理公司: | 37100 济南信达专利事务所有限公司 | 代理人: | 阚恭勇 |
| 地址: | 250100 山东省济南市高新*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 区块 设计和实现 统计学算法 授时服务 授时系统 网络提供 运行环境 智能 中心化 账本 公链 调用 订阅 可信 网络 | ||
本发明提供一种基于区块链的授时预言机实现方法,属于超级账本Fabric区块链、预言机(Oracle)机制、统计学算法技术领域,本发明利用预言机原理,在区块链网络中设计和实现一个去中心化的可信授时系统,供有授时需求的智能合约调用或订阅;依托支持智能合约的区块链网络作为运行环境,为区块链网络提供授时服务,增加激励机制后很容易扩展到公链执行环境。
技术领域
本发明涉及超级账本Fabric区块链、预言机(Oracle)机制、统计学算法技术,尤其涉及一种基于区块链的授时预言机实现方法。
背景技术
利用区块链技术建立的分布式账本不能主动从外部世界获得信息,例如调用外部服务,而是依赖一种叫做预言机(Oracle)的机制。预言机是一种智能合约,它允许外部世界将某些客观事实写入区块链,以便其他智能合约使用,客观事实如外汇汇率、股票行情、航班信息、天气预报、体育比赛结果等。
预言机的实现风格,一是通过可信数据源,二是通过投票。可信数据源往往是中心化,可以引入多个数据源来减少欺骗风险。投票方式一般要求投票者抵押一定数字资产,假定多数人是诚实的,多数人投票认可的事实就是客观真实的。
组成区块链网络的各个数据节点的系统时间是不一致,甚至有节点恶意修改系统时间,这导致这个网络对于当前的实际时间难以达成共识。
发明内容
为了解决以上技术问题,本发明提出了一种基于区块链的授时预言机实现方法,在区块链网络中设计和实现一个去中心化的授时系统,供有需求的智能合约调用。
本发明依托支持智能合约的区块链网络(如超级账本Fabric、以太坊)作为运行环境,为区块链网络提供授时服务,可供需要授时服务的智能合约或应用调用。发明默认执行在许可链环境下,并没有设计投票押金和投中奖励等激励机制。增加激励机制后很容易扩展到公链执行环境。
本发明的技术方案是:
一种基于区块链的授时预言机实现方法,
其实现过程包括以下步骤:
1)在智能合约中硬编码一个允许授时投票的区块链账号(地址)清单。
2)投票客户端向授时智能合约查询当前投票轮次,并在本地判断是否已经参与投票,如果已经参与就延迟指定时间后再发起智能合约查询。
3)投票客户端取系统时间,并将“投票轮次和系统时间”作为参数向授时智能合约发起投票请求。
4)智能合约中进行检查,防止重复投票。查询未确认交易来得知投票进展,投票过半数后进行投票结算。
5)将投票时间按大小排序,计算得到中位数。以中位数作为授时投票的结果。
进一步的,
所述使用智能合约实现的授时投票,即以硬编码投票人白名单防止投票人身份仿冒;使用未确认交易的查询得知某投票人是否已投票,以及总体的投票进度;以投票进度过半数(或超过三分之二等其他策略)来触发投票结算;以中位数算法得到授时投票结果;以出块时间(挖矿时间间隔)的区块链内建机制控制授时服务的间隔。
进一步的,
投票客户端使用n个系统虚拟机(V1、V2…Vn)的系统时间作为授时数据源;
每个虚拟机上都要安装时间同步软件ntpd,配置好时间来源服务器
各个虚拟机上安装授时预言机客户端程序,里面封装区块链客户端,在客户端中配置每个投票人专用的区块链账号私钥。
其中,授时预言机客户端的工作流程如下:
先调用授时智能合约取投票轮次号,将取得的轮次号与客户端本地的轮次号进行比较,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东爱城市网信息技术有限公司,未经山东爱城市网信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910933714.0/2.html,转载请声明来源钻瓜专利网。





