预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN112053240A(43)申请公布日2020.12.08(21)申请号202010791026.8(22)申请日2020.08.07(71)申请人深圳区块大陆科技有限公司地址518000广东省深圳市南山区粤海街道高新区南区粤兴二道香港中文大学深圳研究院大楼1层102室(72)发明人母振宇姚恒张志勇(74)专利代理机构深圳市润启知识产权代理事务所(普通合伙)44664代理人孟丽娟(51)Int.Cl.G06Q40/04(2012.01)G06F21/64(2013.01)权利要求书1页说明书3页附图1页(54)发明名称在区块链上实现预言机功能的一种方法(57)摘要本发明属于区块链技术领域,尤其为在区块链上实现预言机功能的一种方法,包括以下步骤,设定若干个数据接口提供方,为预言机提供数据服务,所有数据提供方有一个时间响应请求并推送数据,若一个时间响应内未将数据推送至预言机则被视为无效数据,预言机获取结果时,需保证至少有14个数据提供方推送成功,否则等待一个时间响应后,重新进行下一轮数据请求,本发明将区块链外的数据导入智能合约,为区块链更多应用场景提供可行性,最大限度保证了数据的真实可靠,杜绝数据提供方联合作恶的可能性,避免因网络拥堵或拒绝服务攻击造成的数据采集漏洞。CN112053240ACN112053240A权利要求书1/1页1.在区块链上实现预言机功能的一种方法,其特征在于:包括以下步骤,步骤S1、设定若干个数据接口提供方,为预言机提供数据服务;步骤S2、所有数据提供方有一个时间响应请求并推送数据,若一个时间响应内未将数据推送至预言机则被视为无效数据;步骤S3、预言机获取结果时,需保证至少有14个数据提供方推送成功,否则等待一个时间响应后,重新进行下一轮数据请求;步骤S4、预言机判定数据分为两类,一类是结果类数据,将取21个结果当中得票最高的数据作为最终结果;一类是数字类数据,将数据按照升序排列后,剔除最前和最后的3个数据,剩余的15个取平均值视为最终结果;步骤S5、当成功推送的结果在18~20之间时,则剔除最前和最后2个数据,在14~17时剔除最前和最后1个数据,小于14时本轮则视为数据请求失败,等待下一轮结果;步骤S6、当预言机结果生成后,将以交易形式将结果推送至网络节点,并以此执行智能合约。2.根据权利要求1所述的在区块链上实现预言机功能的一种方法,其特征在于:所述步骤S1中的数据接口数为21个。3.根据权利要求1所述的在区块链上实现预言机功能的一种方法,其特征在于:所述S2、S3中一个时间响应为10分钟。2CN112053240A说明书1/3页在区块链上实现预言机功能的一种方法技术领域[0001]本发明属于区块链技术领域,具体涉及在区块链上实现预言机功能的一种方法。背景技术[0002]区块链的去中心化账本和智能合约为当今社会解决了P2P交互的信任问题,无需任何中心化机构进行信任背书,这是人类社会信任体系的重大革新,但是当前的智能合约无法主动向外部获取链外信息,使得它只能在一个封闭、孤立的环境中执行任务,无法做到和外部世界的互通互连。[0003]造成上述现象的原因是因为自原始块以来的所有数据都记录在区块链上,数据间都有内在的联系,由于某刻时刻的数据更多时候是以前信息的延续,因此可以说,区块链是确定性的,这种确定性保证了数据不可篡改,然而这也使灵活性降低。发明内容[0004]为解决上述背景技术中提出的问题。本发明提供了在区块链上实现预言机功能的一种方法,具有以谢林点为设计理论基础、拜占庭共识算法解决网路拥堵、拒绝服务攻击等漏洞现象,极大提高了数据的可信度,从源头上解决了智能合约外网数据源不可信的难题特点。[0005]为实现上述目的,本发明提供如下技术方案:在区块链上实现预言机功能的一种方法,包括以下步骤,[0006]步骤S1、设定若干个数据接口提供方,为预言机提供数据服务;[0007]步骤S2、所有数据提供方有一个时间响应请求并推送数据,若一个时间响应内未将数据推送至预言机则被视为无效数据;[0008]步骤S3、预言机获取结果时,需保证至少有14个数据提供方推送成功,否则等待一个时间响应后,重新进行下一轮数据请求;[0009]步骤S4、预言机判定数据分为两类,一类是结果类数据,将取21个结果当中得票最高的数据作为最终结果;一类是数字类数据,将数据按照升序排列后,剔除最前和最后的3个数据,剩余的15个取平均值视为最终结果;[0010]步骤S5、当成功推送的结果在18~20之间时,则剔除最前和最后2个数据,在14~17时剔除最前和最后1个数据,小于14时本轮则视为数据请求失败,等待下一轮结果;[0011]步骤S6、当预言机结果生成后,将以交易形式