首页 / 专利库 / 资料储存系统 / 工作量证明 / 区块链与链外数据对接、验证、共识的方法及装置

链与链外数据对接、验证、共识的方法及装置

阅读:799发布:2020-08-25

专利汇可以提供链与链外数据对接、验证、共识的方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 提供一种 区 块 链 与链外数据对接、验证、共识的方法及装置,包括:S1,发起者发起预言机;S2,发起者设置问题;S3,发起者回答问题或其他人回答问题;S4,对发起者或其他人的答案进行反证;S5,对反证进行验证;S6,将验证的结果录入区块链。与 现有技术 相比,本发明区块链与链外数据对接、验证、共识的方法及使用该方法的装置具有以下优点:无需依赖于第三方的数据,以一种去中心化的,自洽的方式对接、验证、共识的链外数据。,下面是链与链外数据对接、验证、共识的方法及装置专利的具体信息内容。

1.一种链与链外数据对接、验证、共识的方法,其特征在于,包括如下步骤:
S1,发起者发起预言机;
S2,发起者设置问题;
S3,发起者回答问题或其他人回答问题;
S4,对发起者或其他人的答案进行反证;
S5,对反证进行验证;
S6,将验证的结果录入区块链。
2.根据权利要求1所述的区块链与链外数据对接、验证、共识的方法,其特征在于,步骤S3中,如发起者回答问题,进入步骤S4;
如发起者不回答问题,则由其他人进行回答,进入步骤S4。
3.根据权利要求2所述的区块链与链外数据对接、验证、共识的方法,其特征在于,步骤S3中还包括:如发起者和其他人都不回答问题,则预言机失效。
4.根据权利要求1所述的区块链与链外数据对接、验证、共识的方法,其特征在于,步骤S5包括:
步骤S5.1,选择验证者;
步骤S5.2,由验证者对反证进行验证。
5.根据权利要求4所述的区块链与链外数据对接、验证、共识的方法,其特征在于,步骤S5.1中,通过工作量证明、权益证明、委托投票、网络贡献值证明选择验证者。
6.根据权利要求4所述的区块链与链外数据对接、验证、共识的方法,其特征在于,步骤S5.1中验证者的数量为奇数。
7.根据权利要求4所述的区块链与链外数据对接、验证、共识的方法,其特征在于,步骤S5.2中,以验证者中超过半数人的判断作为验证的结果。
8.一种区块链与链外数据对接、验证、共识的方法的装置,其特征在于,包括如权利要求1至6任意一项所述的区块链与链外数据对接、验证、共识的方法。

说明书全文

链与链外数据对接、验证、共识的方法及装置

技术领域

[0001] 本发明涉及信息安全技术领域,特别是一种区块链与链外数据对接、验证、共识的方法及使用该方法的装置。

背景技术

[0002] 2008年,化名为“中本聪”(Satoshi Nakamoto)的学者,发表了《比特币:一种点对点电子现金系统》的论文,奠定了区块链技术的基础。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证不可篡改不可伪造的分布式账本。广义上来讲,区块链技术是利用块链式数据结构来验证与存储数据,利用分布式节点共识算法来生成更新数据,利用密码学的方式保证数据传输和方问安全,利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
[0003] 特别是智能合约,它是区块链最重要的特性,也是区块链能够被称为颠覆性技术的主要原因。区块链中,只有合约双(多)方能动用资金;一旦合约确定了,其中的资金就由区块链按照合约条款来分配,并且只有合约到期后,才可以使用这笔资金。但是合约有时是需要外部情况不同,来执行不同的条款的。比如,以农业保险为例,只有在保险其间发生大旱或大涝时,保险公司需要赔偿农民,如果没有发生大旱或大涝则无需赔偿。我们把保险合同以智能合约写在区块链上,并以是否发生大旱或大涝作为条件,执行合约。这时,是否发生大旱或大涝是一种链外的数据。如何把大旱或大涝这种外部产生的数据,作为条件对接到区块链的智能合约,而且还要保证这些数据是真实有效不能作假的。

发明内容

[0004] 针对现有技术中的缺陷,本发明目的在于提供一种区块链与链外数据对接、验证、共识的方法及装置。
[0005] 为解决上述技术问题,本发明提供一种区块链与链外数据对接、验证、共识的方法,包括:
[0006] S1,发起者发起预言机;
[0007] S2,发起者设置问题;
[0008] S3,发起者回答问题或其他人回答问题;
[0009] S4,对发起者或其他人的答案进行反证;
[0010] S5,对反证进行验证;
[0011] S6,将验证的结果录入区块链。
[0012] 优选的,步骤S3中,如发起者回答问题,进入步骤S4;
[0013] 如发起者不回答问题,则由其他人进行回答,进入步骤S4;
[0014] 优选的,步骤S3中还包括:如发起者和其他人都不回答问题,则预言机失效。
[0015] 优选的,步骤S5包括:
[0016] 步骤S5.1,选择验证者;
[0017] 步骤S5.2,由验证者对反证进行验证。
[0018] 优选的,步骤S5.1中,通过工作量证明、权益证明、委托投票、网络贡献值证明选择验证者。
[0019] 优选的,步骤S5.1中验证者的数量为奇数。
[0020] 优选的,步骤S5.2中,以验证者中超过半数人的判断作为验证的结果。
[0021] 一种区块链与链外数据对接、验证、共识的方法的装置,包括区块链与链外数据对接、验证、共识的方法。
[0022] 与现有技术相比,本发明区块链与链外数据对接、验证、共识的方法及装置具有以下优点:无需依赖于第三方的数据,以一种去中心化的,自洽的方式对接、验证、共识的链外数据。附图说明
[0023] 通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征.目的和优点将会变得更明显。
[0024] 图1为本发明区块链与链外数据对接、验证、共识的方法流程图

具体实施方式

[0025] 下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改。
[0026] 区块链智能合约链外数据作为合约的条件,是目前区块链技术一个比较难的问题。现有的技术一般是接入第三方机构的数据,作为解决方案的。这种解决方案有很大的不确定性,我们很难保证,第三方是否能够提供这样的数据,即使提供了这样的数据,是否有串通造假等等,因此数据的真实有效性也难以确定。而且,第三方提供数据的服务器是否稳定,是否安全,是否可能被黑客篡改数据等等。这种解决方案,数据很难被有效验证。总之不是很好的解决方案。为此,我们发明了一种区块链与链外数据对接、验证、共识的方法与机制。
[0027] 用户在区块链上发起一个合约,这是一种特殊的合约,叫预言机。其它的合约,可以基于预言机的答案,得到相应的条件,触发不同的程序得到相应的结果。
[0028] 预言机由以下几部份组成:
[0029] 1、生成预言机的人的地址。
[0030] 预言机需要有一个发起者。
[0031] 2、生成预言机所存的代币数量。
[0032] 发起者发起预言机的时候,需要存入一定的代币,用于保证发起者在回答时间内提供答案。当其不提供答案,或者提供答案不证确的情况下,对其它提供证确答案的人,提供奖励。而对发起者提供一个负激励。
[0033] 3、预言-问题。
[0034] 对未来发生的某事情的判断,或者对某一问题的描述。
[0035] 例:某年某月某日某场公队VS火箭队,火箭队胜。
[0036] 例:某年某日某场英国队VS巴西队2:3。
[0037] 例:A公司发货给B公司。
[0038] 问题的答案只能是“是”或“否”
[0039] 4、结果-答案。
[0040] 答案是对之前预言-问题,所定义的内容作出的回答。
[0041] 回答可以由包括由预言机发起者在内的所有人回答。答案可以有多个,可以是互相矛盾的。如果一个预言或问题出现两个相互矛盾的答案。就会启动共识机制。
[0042] 预言机定义者回答不需要存入代币保证金。其它人回答需要与预言机定义者在创建预言机时存入的保证金相等的代币。
[0043] 5、回答时间。
[0044] 回答时间规定在某一时间内需要得到答案。
[0045] 回答时间有三个阶段:
[0046] a、第一阶段,预言机定义者回答时间。这个阶段只能由预言机定义者提供答案。此阶段,预言机定义者不提供答案;则进入第二阶段,其在创建预言机时存入的代被将不会被返还,而是作为奖励,给其它提供正确答案的人。如果预言机定义者提供了答案,则进入第三阶段,用户反证阶段。
[0047] b、第二阶段。当预言机定义者没有提供答案时。其它任何用户都可以提供答案。可能会有很多人提供答案。但我们只认定第一个提供答案的人。提供答案的人,在提供答案时需要存入一笔与预言机定义者在定义此预言机时存入的代币数量相等的代币。这些代币是对提供答案的人一个负激励的制约。如果,他提供的答案是证确的,且无人提出相反答案,他存入的代币将会返还,并且还会或得预言机定义者在定义预言机时存入的代币作为奖励。如果他提供的答案是假的,他将失去这笔代币。这笔代币将用来奖励对他答案提出质相反答案的人以及验证者。
[0048] 如果预言机定义者没有提供答案。而且在第二阶段也没有人提供答案。则此预言机为无答案,标识无答案标志,最终状态为无答案状态,使用预言机的智能合约,可以根据此种状态进行逻辑判断。(与之相对的是一种有答案状态,如果是有答案状态,预言机则根据提供的答案进行逻辑判断)预言机定义者存入的代币,将会被消毁。在第二阶段,如果有用户提供答案,则将进入第三阶段。
[0049] c、第三阶段。第三阶段为反证阶段。此阶段为对前两阶段提供的答案提出相反的答案。作何人都可以提出相反答案。可能有很多人会提出相反答案,但只认定第一个提出相反答案的人。提出相反答案的人,需存入一笔与预言机定义者定义时存入的代币数额相等的代币。如果反证成功,则反证者存入的代币将会返回。对预言机定义者的答案的反证成功,将会获预言机定义者存在预言机里的代币除去验证费后的剩余代币用作为奖励。如果反证失败,反证者存入的代币,将除去支付给验证者的费用外,其余将被扣除消毁。
[0050] 如果是对其它人在第二阶段提出的答案提出反证。成功,反证者存入的代币将会被退还,另外,第二阶段提供答案时存入的代币将被作为奖励给反证者,而且预言机定义者在定义预言机时存入的代币也将作为奖励给反证者,当然要除去验证者费用。如果反证失败,反证者存入的代币及预言机定义者得到的存入的代币都将作为奖励给答案提供者。
[0051] 6、共识机制。
[0052] 如果发生反证。系统将由选择奇数位,通过工作量证明或权益证明或委托投票或网络贡献值证明等方式产生的验证者对其答案进行验证。这些验证者如果对答案的看法一致,则验证费用由所有验证者平分。如果不一致。则人数占多数的答案被认定为有效答案。验证费被认定为有效答案的投票者平分。投认定为无效答案的验证者没有验证费。验证完成后将验证结果写入预言机,并记录在区块链。
[0053] 7、预言机状态。
[0054] 一、未到回答时间状态:此时预言机还没有到回答时间,不能回答。举一个明显的例子,比如球赛还没结束,不可以有关于球赛的结果。因而球赛结束之前的任何回答都是无效的。为了杜绝这种无效回答。设定一个问题回答时间。在这个时间之前都不能这该问题回答。
[0055] 二、待预言机定义者回答:此时间段长短可由预言机定义者在设定预言机时决定。在这个时间段内,只能由预言机定义者回答,非他任何人皆不能回答。
[0056] 三、预言机定义者未回答,等其他人回答。此时,其作任何人都可以提供答案。
[0057] 四、答案由预言机定义者提供,等待反证。此时,作何人都可以提出反证。
[0058] 五、答案已由其它人提供,等待反证。此时,任何人都可以提出反证。
[0059] 六、答案反证验证状态。
[0060] 七、待验证状态。
[0061] 八、预言机最终状态。
[0062] 8、预言机的标识符。
[0063] 预言机标识符是唯一的,它由预言机定义者公钥,预言机问题,预言机回答时间等数据hash后生成的一串字符串。用于标识预言机。之后,通过它查找使用该预言机。
[0064] 使用场景举例:
[0065] 配合智能合约使用:
[0066] 1、定义预言机;
[0067] 2、将预言机的答案作为智能合约的判断条件写入智能合约;
[0068] 3、执行智能合约的时候,以预言机的状态与答案为基础,执行。
[0069] 实施例一
[0070] 在A国的B公司向在C国的D公司采购一批价值100万的货物。如果B公司先打钱给D公司的话,担心D公司收到钱后不发货。如果D公司先发货给B公司的话,担心B公司收到货后,不打钱给D公司。于是双方签署一个智能合约,B公司把货款存入智能合约,D公司把相应的违约金也存入智能合约。该智能合约以D公司发货的货运单为条件,如果D公司在规定的时间前,提供了有效的货运单,则该智能合约会将B公司存入的货款以及D公司存入的违约金都转给D公司,否则的话将全部转给B公司。
[0071] 那么这是怎么执行的呢?
[0072] 首先D公司要定义一个预言机。为什么要D公司定义货运单呢?这是因为,货运单是由D公司提供的。所以答案由D提供比较合理。
[0073] 预言机问题定义为:D公司将于某年某日前,将一批价值100万的货物发货给B公司,证明文件为某货运公司的货运单。答案:为是或否,然后附加一个证明文件。
[0074] 预言机定义者回答时间:某年某月某日至某年某月某日
[0075] 定义者未回答其它人回答时间:某年某月某日至某年某月某日
[0076] 反证时间:某年某月某日至某年某月某日
[0077] 存入代币为:xxx
[0078] 然后,双方签署智能合约,把预言机标识写入智能合约,智能合约的执行,以预言机的答案和状态为条件。答案分为三种,一种是“是”,一种是“否”。还有一种是“未提供答案”。如果预言机过了答案提供时间,没有提供答案。这时就是第三种“未提供答案”。未提供答案,则视为D公司未发货,判定D公司违约。B公司存在智能合约里的货款与D公司存在智能合约里的违约金,将全部发送给B。
[0079] 实施例例二
[0080] A与B,周日,NBA公牛队对火箭队的一场比赛结束进行下赌注。如果公牛队赢则A需要支付1000给B,否则B将支付1000给A。
[0081] 1、A或B作何一个人,发起一个预言机。
[0082] 2、预言机定义的问题:周日公牛队与火箭队的比赛,公牛队会赢。
[0083] 3、预言机定义者回答时间:周日20点至周一10点。
[0084] 4、预主机定义者未回答其它人回答时间:周一10至周一15点。
[0085] 5、反证时间:有提供答案后24小时内。
[0086] 6、存入代币:XXX
[0087] 7、然后,双方签署智能合约,每人存1000到智能合约里面。把预言机标识写入智能合约,智能合约的执行,以预言机的答案和状态为条件。答案分为三种,一种是“是”,一种是“否”。还有一种是“未提供答案”。如果预言机过了答案提供时间,没有提供答案。这时就是第三种“未提供答案”。如果答案是“是”,则将合约里的2000全部转给B,如果答案是否,则转给A。如果未提供答案,我们假设他们约定未提供答案则需将合约里的钱转给A。那么在此逻辑处理块中,将合约里的2000转给A。
[0088] 本发明还提供一种区块链与链外数据对接、验证、共识的方法的装置。
[0089] 以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈