CN116258490A - 一种区块链智能合约Oracle机制设计方法及装置 - Google Patents
一种区块链智能合约Oracle机制设计方法及装置 Download PDFInfo
- Publication number
- CN116258490A CN116258490A CN202310026134.XA CN202310026134A CN116258490A CN 116258490 A CN116258490 A CN 116258490A CN 202310026134 A CN202310026134 A CN 202310026134A CN 116258490 A CN116258490 A CN 116258490A
- Authority
- CN
- China
- Prior art keywords
- oracle
- promise
- intelligent contract
- deposit
- predictors
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000007246 mechanism Effects 0.000 title claims abstract description 33
- 238000013461 design Methods 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 6
- 230000001934 delay Effects 0.000 claims description 3
- 208000001613 Gambling Diseases 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000003306 harvesting Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/22—Payment schemes or models
- G06Q20/28—Pre-payment schemes, e.g. "pay before"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/405—Establishing or using transaction specific rules
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及区块链技术领域,公开了一种区块链智能合约Oracle机制设计方法及装置,本发明基于博弈论的囚徒困境问题,同时结合了基于椭圆曲线的Pedersen承诺算法,建立起一套经济高效且抗共谋的区块链智能合约Oracle机制。通过本发明,可以解决恶意的预言机oracle将不正确或损坏的数据上链的问题,同时兼顾效率和去中心化,给智能合约带来安全可靠的预言机技术,从而激发智能合约和区块链的应用更大的潜能。对比现有的oracle机制,比中心化的Oracle服务更安全,不存在单点故障,比去中心化的Oracle服务节省资源、费用更低。
Description
技术领域
本发明涉及区块链技术领域,特别涉及一种区块链智能合约Oracle机制设计方法及装置。
背景技术
区块链是一个确定性、封闭的系统,只能获取链内的数据,不能获取到链外真实世界的数据,每个区块链都是一个相互隔绝的“信息孤岛”。区块链预言机Oracle的功能就是将外部数据写入到区块链内,完成区块链与现实世界的数据互通。它允许确定的智能合约对不确定的外部世界作出反应,是智能合约与外部进行数据交互的唯一途径,也是区块链与现实世界进行数据交互的接口。目前国内外学者关于区块链预言机的研究都有一定的收获,但现阶段预言机技术还存在中心化、数据不可信、开销大和难部署等问题,只有解决这些问题,才能部署安全可靠的预言机系统,更大化激发智能合约的潜能,实现区块链链上链下数据融合。
发明内容
本发明的目的在于提供一种区块链智能合约Oracle机制设计方法及装置,以克服现有技术中的不足。
为实现上述目的,本发明提供如下技术方案:
本发明公开了一种区块链智能合约Oracle机制设计方法,包括设计基于博弈论囚徒困境问题的智能合约,智能合约由客户端和两个预言机签订,通过要求预言机预先支付押金来激励正确的完成任务,具体为:
步骤1、客户端在发布获取链下特定数据的任务时,确定预言机完成该任务得到的佣金,接受任务的两个预言机提前支付的押金以及第三方预言机处理争议的佣金;
步骤2、分派到任务的两个预言机竞标任务,私下调用Pedersen承诺模块根据生成的盲因子生成承诺值并提交,同时支付押金给合约;
步骤3、两个预言机提交原始数据,函数再次调用Pedersen承诺模块验证预言机提交的结果是否和步骤2中的提交的一致,若一致表示提交成功,若不一致,向第三方预言机提出争议;
步骤4、限定交付时限,在时限内,若两个预言机均未交付结果,将被全额收取押金;若两个预言机均交付结果且结果相等,则支付给两者承诺的佣金并退还押金;否则,向第三方预言机提出争议;
步骤5、第三方预言机收到争议后,执行客户端发布的获取链下特定数据的任务,并将获取的结果提交给合约进行验证,若此结果只与其中一个预言机交付的结果一致,合约向这个诚实的预言机支付佣金和奖金并退还押金,另一个作弊的预言机将被全额收取押金;若此结果与两个预言机交付的结果均不一致,则全额收取其押金;同时向第三方预言机支付处理争议的佣金。
作为优选的,所述步骤1中,防止预言机之间勾结串通,客户端采用随机挑选的方式确定提供服务的两个预言机和第三方预言机。
作为优选的,所述步骤2和步骤3中的Pedersen承诺模块,使用椭圆曲线加密算法库实现对数据的生成承诺值和打开承诺值,主要使用Solidity语言,实现对数据的承诺加解密操作。
作为优选的,所述步骤2中调用Pedersen承诺模块生成承诺值的具体过程为:Pedersen承诺模块随机生成盲因子seed;Pedersen承诺模块使用椭圆曲线加密算法生成G和H,G、H为椭圆曲线上的随机生成点,根据公式C=m×G+seed×H,其中C为承诺值,m为预言机生成的原始数据。
作为优选的,所述步骤3中再次调用Pedersen承诺模块验证预言机提交的结果的具体过程为:Pedersen承诺模块延用步骤2中生成的盲因子seed,以及椭圆曲线上的随机生成点G和H,根据预言机提交的原始数据重新计算承诺值,比较此次计算的承诺值和步骤2中生成的承诺值,若相等则验证成功,否则失败。
作为优选的,所述步骤5中,合约向诚实的预言机支付的奖金为另一个作弊的预言机交付的押金与第三方预言机佣金的差值。
作为优选的,所述步骤1中,客户端预支付两倍的预言机完成任务得到的佣金和第三方预言机处理争议的佣金给合约,步骤5结束后,在规定时限内,若客户端既未付款也未提出争议,对于交付结果的预言机,合约代客户端向其支付佣金并退还押金,合约将剩下的余额转移给客户端。
作为优选的,所述预言机完成任务得到的佣金wage、第三方预言机处理争议的佣金ThirdCost以及预言机需提前支付的押金deposit需满足以下关系:
wage≥cost,cost为预言机完成一次获取数据任务的基本开销;
其次Thirdcost>2wage,否则将不需要使用oracle服务,客户端直接选择稍昂贵的the third trust party oracle完成获取特定数据的任务;
其次deposit>cost+Thirdcost,使得Thirdcost将由作弊的预言机支付。
本发明还公开了一种区块链智能合约Oracle机制设计装置,所述装置包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现上述的区块链智能合约Oracle机制设计方法。
本发明的有益效果:本发明公开一种区块链智能合约Oracle机制设计方法及装置,本发明基于博弈论的囚徒困境问题,同时结合了基于椭圆曲线的Pedersen承诺算法,建立起一套经济高效且抗共谋的区块链智能合约Oracle机制。通过本发明,可以解决恶意的预言机oracle将不正确或损坏的数据上链的问题,同时兼顾效率和去中心化,给智能合约带来安全可靠的预言机技术,从而激发智能合约和区块链的应用更大的潜能。对比现有的oracle机制,比中心化的Oracle服务更安全,不存在单点故障,比去中心化的Oracle服务节省资源、费用更低。
附图说明
图1是本发明区块链智能合约Oracle机制设计示意图;
图2是本发明实施例装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面通过附图及实施例,对本发明进行进一步详细说明。但是应该理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
本发明主要针对区块链智能合约在需要获取链外数据时,提供外部特定数据的预言机潜在恶意行为,从而导致不正确或损坏的数据上链的问题。具体来说,本发明基于博弈论的囚徒困境问题,同时结合了基于椭圆曲线的Pedersen承诺算法,建立起一套经济高效且抗共谋的区块链智能合约Oracle机制。通过本发明,可以解决恶意的预言机将不正确或损坏的数据上链的问题,同时兼顾效率和去中心化。
一种经济高效且抗共谋的区块链智能合约Oracle机制,具体包括以下设计:
1)基于椭圆曲线加密算法的Perdesen承诺:本发明基于椭圆曲线加密算法实现对数据的生成承诺值和打开承诺值,利用Perdesen承诺来保证信息的完美隐藏性和计算绑定特性,从而实现了oracle提交给区块链智能合约所需数据的暂时隐匿与不可抵赖。
2)经济高效且抗共谋的Oracle机制设计:本部分设计基于博弈论囚徒困境问题的智能合约,由客户端和两个预言机oracle1和oracle2签订,通过要求预言机预先支付押金来激励正确的完成任务。如果预言机的行为诚实,押金将被退还;如果预言机作弊(并被检测到),则押金将由客户收取。此外,在一个预言机诚实而另一个作弊的情况下,诚实的预言机会从作弊预言机的押金中获得额外的奖励。在预言机之间制造囚徒困境,虽然共谋比双方都诚实行事会带来更高的回报,但如果一个人能够在诚实自己的同时引诱对方作弊,就会有更高的回报。一旦两个预言机都明白共谋是不稳定的,另一个预言机总是试图偏离它。任何试图(没有可信且可执行的承诺)说服对方串通的企图都将被视为陷阱,因此不会成功。
Client支付给诚实oracle完成获取数据任务的佣金为wage,当发生争议时,向可信第三方oracle请求结果解决争议需要支付ThirdCost,oracle接受任务进行竞标时需要缴纳押金deposit。这些货币变量之间存在一些关系。首先wage≥cost,cost是oracle完成一次获取数据任务的基本开销,oracle不会接受亏本低薪的工作,其次Thirdcost>2wage,否则将不需要使用oracle服务,客户端直接选择稍昂贵的可信第三方Oracle完成获取特定数据的任务即可。此外,Thirdcost将由提交错误结果的oracle支付。诚实的客户支付的费用不会超过请求两个oracle服务的费用加上发起交易的gas费用。为了建立理想的纳什均衡,deposit由客户端在囚徒合约中设置,deposit>cost+Thirdcost。通过设置货币变量的金额关系,能达到博弈论概念中的纳什均衡,解决了单个oracle潜在恶意的问题。
同时将Perdesen承诺算法应用到具体的预言机机制中,实现对数据的承诺加解密操作。
本发明实施例提供一种区块链智能合约Oracle机制设计方法,计基于博弈论囚徒困境问题的智能合约,由客户端和两个预言机oracle1和oracle2签订,智能合约的实现模块分囚徒合约模块和Perdesen承诺模块两大部分,结合图1,具体如下:
(1)囚徒合约模块,合约应在一个客户端Client和两个预言机(oracle1,oracle2)之间签订。如有任何争议,争议将由受信任的第三方oracle解决。双方同意三个时间期限T1<T2<T3。
Client阶段:客户端Client发布获取链下特定数据的任务,Client在发布任务时确定oracle完成该任务得到的佣金wage,接受该任务oracle需要提前支付的押金deposit以及如果发生争议需要支付给第三方oracle的佣金ThirdCost。此外Client随机挑选确定提供相应服务的oracle1、oracle2和解决争议的第三方oracle,从而一定程度上防止oracle勾结串通。此外,Client需要同时支付(2*wage)+Thirdcost)的费用给合约。
Bid阶段:分派到任务的oracle1和oracle2需要在T1时间内进行竞标任务,oracle在私下调用Pedersen承诺模块生成承诺值然后提交,同时需要支付押金deposit给合约。
Deliver阶段:oracle1和oracle2需要在T2时间内提交原始数据,函数调用Pedersen承诺模块来验证oracle提交的结果和在Bid阶段中的是否一致,一致的话则提交成功。
Pay阶段:Client在T2时刻后T3时刻前检查oracle1和oracle2的交付情况,此时超过T2时间,如果oracle都未交付结果,将被全额收取押金,如果oracle1和oracle2都交付了结果且结果相等,则支付给oracle承诺的佣金wage,同时向他们退回押金deposit。否则,将像可信第三方oracle提出争议。
Dispute阶段:第三方oracle收到争议之后,完成获取特定数据的任务,并提交结果result0给合约,合约进行验证。如果一个oracle提交的结果与result0一致,则该oracle诚实,另一个作弊的oracle将被全额收取押金deposit,合约同时支付给该诚实的oracle承诺的佣金wage和奖金deposit-ThirdCost并退还押金;如果两个oracle都作弊,则全额收取其押金,同时向第三方oracle支付费用ThirdCost。
Timer阶段:若在T3时刻后,Client既未付款也未提出争议,对于T2之前交付结果的oracle,Client必须向oracle支付约定金额wage并退还押金deposit,合约剩下的所有余额转移给Client。
(2)Pedersen承诺模块:该模块使用椭圆曲线加密算法库实现,主要使用Solidity语言,实现对数据的承诺加解密操作。
调用Pedersen承诺模块生成承诺值的具体过程为:Pedersen承诺模块随机生成盲因子seed;Pedersen承诺模块使用椭圆曲线加密算法生成G和H,G、H为椭圆曲线上的随机生成点,根据公式C=m×G+seed×H,其中C为承诺值,m为预言机生成的原始数据。
Deliver阶段再次调用Pedersen承诺模块验证预言机提交的结果的具体过程为:Pedersen承诺模块延用步骤2中生成的盲因子seed,以及椭圆曲线上的随机生成点G和H,根据预言机提交的原始数据重新计算承诺值,比较此次计算的承诺值和步骤2中生成的承诺值,若相等则验证成功,否则失败。
当链上的用户需要访问链下数据来完成一些交互时,Client会根据具体的要求实例化一个囚徒合约,并将智能合约部署到区块链上。随机选择的两个Oracle节点,与Client签订合约。然后Oracle从数据源中获取数据并将其交付到合约中。如果有任何争议,将引入可信的第三方Oracle(TTO),它由信誉良好的神谕服务提供商提供服务。这个Oracle可以提供结果并解决纠纷。然而,如果Oracle节点是理性的,那么TTO到将永远不会被调用。
参考图2,本发明实施例还提供了一种区块链智能合约Oracle机制设计装置,还包括存储器和一个或多个处理器,存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现上述实施例中的区块链智能合约Oracle机制设计方法。
本发明一种区块链智能合约Oracle机制设计装置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图2所示,为本发明一种区块链智能合约Oracle机制设计装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的区块链智能合约Oracle机制设计方法。
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备的外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换或改进等,均应包含在本发明的保护范围之内。
Claims (9)
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×G+seed×H,其中C为承诺值,m为预言机生成的原始数据。
5.如权利要求4所述的一种区块链智能合约Oracle机制设计方法,其特征在于:所述步骤3中再次调用Pedersen承诺模块验证预言机提交的结果的具体过程为:Pedersen承诺模块延用步骤2中生成的盲因子seed,以及椭圆曲线上的随机生成点G和H,根据预言机提交的原始数据重新计算承诺值,比较此次计算的承诺值和步骤2中生成的承诺值,若相等则验证成功,否则失败。
6.如权利要求1所述的一种区块链智能合约Oracle机制设计方法,其特征在于:所述步骤5中,合约向诚实的预言机支付的奖金为另一个作弊的预言机交付的押金与第三方预言机佣金的差值。
7.如权利要求1所述的一种区块链智能合约Oracle机制设计方法,其特征在于:所述步骤1中,客户端预支付两倍的预言机完成任务得到的佣金和第三方预言机处理争议的佣金给合约,步骤5结束后,在规定时限内,若客户端既未付款也未提出争议,对于交付结果的预言机,合约代客户端向其支付佣金并退还押金,合约将剩下的余额转移给客户端。
8.如权利要求1所述的一种区块链智能合约Oracle机制设计方法,其特征在于:所述预言机完成任务得到的佣金wage、第三方预言机处理争议的佣金ThirdCost以及预言机需提前支付的押金deposit需满足以下关系:
wage≥cost,cost为预言机完成一次获取数据任务的基本开销;
其次Thirdcost>2wage,否则将不需要使用oracle服务,客户端直接选择稍昂贵的thethird trust party oracle完成获取特定数据的任务;
其次deposit>cost+Thirdcost,使得Thirdcost将由作弊的预言机支付。
9.一种区块链智能合约Oracle机制设计装置,其特征在于:所述装置包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现权利要求1-8任一项所述的区块链智能合约Oracle机制设计方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310026134.XA CN116258490A (zh) | 2023-01-09 | 2023-01-09 | 一种区块链智能合约Oracle机制设计方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310026134.XA CN116258490A (zh) | 2023-01-09 | 2023-01-09 | 一种区块链智能合约Oracle机制设计方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116258490A true CN116258490A (zh) | 2023-06-13 |
Family
ID=86687232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310026134.XA Withdrawn CN116258490A (zh) | 2023-01-09 | 2023-01-09 | 一种区块链智能合约Oracle机制设计方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116258490A (zh) |
-
2023
- 2023-01-09 CN CN202310026134.XA patent/CN116258490A/zh not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108959621B (zh) | 一种区块链网络的实现方法、装置、设备及存储介质 | |
CN108197944B (zh) | 基于区块链技术的资源交易方法及装置 | |
EP3819850A1 (en) | Method and device for data processing based on blockchain | |
CN109087190A (zh) | 一种融资贷款方法和装置 | |
CN110599323B (zh) | 一种资源处理方法及处理设备 | |
CN110020936B (zh) | 基于区块链的资产管理方法及装置、电子设备 | |
CN106326771A (zh) | 一种保存方法和清算系统 | |
US11631064B2 (en) | Crowdfunding method based on block chain for creating game and crowdfunding system for implementing crowdfunding service environment | |
CN110659887A (zh) | 一种基于区块链的自动交易处理系统和方法 | |
CN111383114A (zh) | 基于区块链的资产信息管理方法和装置 | |
CN110163634B (zh) | 基于区块链的退款方法和装置、电子设备 | |
CN111402033A (zh) | 基于区块链的资产信息管理方法和装置 | |
CN109859031A (zh) | 一种区块链网络的信息处理方法、节点及存储介质 | |
CN111640002A (zh) | 一种基于区块链的货押贷款方法和装置 | |
CN111986025A (zh) | 基于区块链的贷款业务处理方法及系统 | |
CN113506112A (zh) | 应收账款确权方法及装置和电子设备 | |
CN112070503A (zh) | 一种基于区块链的合同执行方法、装置、设备和存储介质 | |
CN112788555B (zh) | 跨运营商话费转移结算方法、装置及计算设备 | |
CN112513907A (zh) | 提供数字资产交换协议的装置和方法 | |
CN111445355A (zh) | 一种基于区块链智能合约的去中心化购房摇号方法 | |
CN116258490A (zh) | 一种区块链智能合约Oracle机制设计方法及装置 | |
CN110163606B (zh) | 基于区块链的退款方法和装置、电子设备 | |
CN116128658A (zh) | 基于区块链的数据存储保险方法、装置、设备及存储介质 | |
CN112600945B (zh) | 分布式区块链服务系统及其构建方法、存储介质 | |
KR102291341B1 (ko) | 금융거래를 위한 암호화폐별 가상계좌 생성 방법, 시스템 및 프로그램 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20230613 |
|
WW01 | Invention patent application withdrawn after publication |