【技术实现步骤摘要】
一种区块链智能合约Oracle机制设计方法及装置
[0001]本专利技术涉及区块链
,特别涉及一种区块链智能合约Oracle机制设计方法及装置。
技术介绍
[0002]区块链是一个确定性、封闭的系统,只能获取链内的数据,不能获取到链外真实世界的数据,每个区块链都是一个相互隔绝的“信息孤岛”。区块链预言机Oracle的功能就是将外部数据写入到区块链内,完成区块链与现实世界的数据互通。它允许确定的智能合约对不确定的外部世界作出反应,是智能合约与外部进行数据交互的唯一途径,也是区块链与现实世界进行数据交互的接口。目前国内外学者关于区块链预言机的研究都有一定的收获,但现阶段预言机技术还存在中心化、数据不可信、开销大和难部署等问题,只有解决这些问题,才能部署安全可靠的预言机系统,更大化激发智能合约的潜能,实现区块链链上链下数据融合。
技术实现思路
[0003]本专利技术的目的在于提供一种区块链智能合约Oracle机制设计方法及装置,以克服现有技术中的不足。
[0004]为实现上述目的,本专利技术提供如下技 ...
【技术保护点】
【技术特征摘要】
1.一种区块链智能合约Oracle机制设计方法,其特征在于:包括设计基于博弈论囚徒困境问题的智能合约,智能合约由客户端和两个预言机签订,通过要求预言机预先支付押金来激励正确的完成任务,具体为:步骤1、客户端在发布获取链下特定数据的任务时,确定预言机完成该任务得到的佣金,接受任务的两个预言机提前支付的押金以及第三方预言机处理争议的佣金;步骤2、分派到任务的两个预言机竞标任务,私下调用Pedersen承诺模块根据生成的盲因子生成承诺值并提交,同时支付押金给合约;步骤3、两个预言机提交原始数据,函数再次调用Pedersen承诺模块验证预言机提交的结果是否和步骤2中的提交的一致,若一致表示提交成功,若不一致,向第三方预言机提出争议;步骤4、限定交付时限,在时限内,若两个预言机均未交付结果,将被全额收取押金;若两个预言机均交付结果且结果相等,则支付给两者承诺的佣金并退还押金;否则,向第三方预言机提出争议;步骤5、第三方预言机收到争议后,执行客户端发布的获取链下特定数据的任务,并将获取的结果提交给合约进行验证,若此结果只与其中一个预言机交付的结果一致,合约向这个诚实的预言机支付佣金和奖金并退还押金,另一个作弊的预言机将被全额收取押金;若此结果与两个预言机交付的结果均不一致,则全额收取其押金;同时向第三方预言机支付处理争议的佣金。2.如权利要求1所述的一种区块链智能合约Oracle机制设计方法,其特征在于:所述步骤1中,防止预言机之间勾结串通,客户端采用随机挑选的方式确定提供服务的两个预言机和第三方预言机。3.如权利要求1所述的一种区块链智能合约Oracle机制设计方法,其特征在于:所述步骤2和步骤3中的Pedersen承诺模块,使用椭圆曲线加密算法库实现对数据的生成承诺值和打开承诺值,主要使用Solidity语言,实现对数据的承诺加解密操作。4.如权利要求1所述的一种区块链智能合约Oracle机制设计方法,其特征在于:所述步骤2中调用Pedersen承诺模块生成承诺值的具体过程为:Pedersen承诺模块随机生成盲因子seed;Pedersen承诺模块使用椭圆曲线加密算法生成G和H,G、H为椭圆曲线上的随机生成点,根据公式C=m...
【专利技术属性】
技术研发人员:张峰,吴晓菲,王昊,方黎明,
申请(专利权)人:杭州后量子密码科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。