一种基于区块链技术的输入数据可信性验证方法及装置制造方法及图纸

技术编号:30285143 阅读:17 留言:0更新日期:2021-10-09 21:56
本发明专利技术涉及信息安全技术领域,特别是指一种基于区块链技术的输入数据可信性验证方法及装置,方法包括:获取所有参与者节点的实际数据,通过智能合约分别进行加密,将加密后的实际数据存储至区块链;对输入数据进行加密,将加密后的输入数据分享给给所有参与者节点;对每个秘密份额分别进行加密,并将加密后的秘密份额广播给所有参与者节点;获取所有参与者节点接收到的加密后的秘密份额,通过智能合约对加密后的秘密份额进行数据恢复,得到待验证数据;根据待验证数据与区块链中的加密后的实际数据,通过智能合约对输入数据进行验证。采用本发明专利技术,可以验证输入数据的可信性,确保数据真实可信,避免参与方输入错误数据这一现象出现。出现。出现。

【技术实现步骤摘要】
一种基于区块链技术的输入数据可信性验证方法及装置


[0001]本专利技术涉及信息安全
,特别是指一种基于区块链技术的输入数据可信性验证方法及装置。

技术介绍

[0002]区块链技术是比特币等民间数字货币的底层核心技术,融合了P2P网络、共识机制、密码等关键技术,具有去中心化、不可篡改、匿名性、可追溯性、开放透明等特点。
[0003]智能合约是区块链的一项核心技术,是应用系统与区块链系统进行交互的桥梁。智能合约基于区块链上不可篡改的数据,可以自动化的执行一些预先定义好的规则和条款。
[0004]大数据、云计算、物联网、区块链等新兴技术的迅猛发展,导致数据爆炸式增长,而这些数据又由不同的实体机构掌握。各实体机构希望能够实现数据共享,同时又不泄露自身数据。以隐私计算为例,隐私计算是信息安全领域一个十分热门的研究课题,可以让参与者节点在数据本身不对外泄露的前提下,实现数据分析计算的一类信息技术。隐私计算的应用场景十分广泛,已经应用于电子投票、保密拍卖、数据挖掘、保密查询、科学计算、数据统计等领域。
[0005]目前大多数隐私计算的实现方案都是在参与者节点为半诚实的情形下进行讨论,半诚实的情形即为参与者节点遵循协议执行,但是被攻击者控制并向其提供秘密输入、中间过程及自己的输出。对于更恶意的情形,例如在协议执行中,如果参与者节点被攻击者控制,不仅向其提供秘密输入、中间过程得到的信息和自己的输出,还能按照攻击者的指令更改原始输入、篡改交互信息及中断协议执行,通常是由半诚实的隐私计算进行扩展和推广得到,但是现有的隐私计算都无法避免参与者节点更改自己原始输入的问题。
[0006]在现实场景中,由于各数据拥有实体存在竞争关系,并不能保证各参与者节点在参与隐私计算时输入完整、真实的数据。比如政务部门通过隐私计算对各个公司进行效益评估,公司可以通过篡改、添加、删除部分数据使得隐私计算输出对自身公司有利的效益分。
[0007]结合区块链技术和智能合约,很多人提出新的隐私计算方案。例如,利用区块链构造时控承诺,承诺者要么在一定时间内揭示自己的秘密值,要么支付罚金,通过这种保证金机制实现公平隐私计算协议。但是到目前为止,并没有利用区块链技术来解决隐私计算输入可信的方案。

技术实现思路

[0008]本专利技术实施例提供了一种基于区块链技术的输入数据可信性验证方法及装置。所述技术方案如下:
[0009]一方面,提供了一种基于区块链技术的输入数据可信性验证方法,该方法应用于服务器,该方法包括:
[0010]获取所有参与者节点的实际数据,通过智能合约分别进行加密,并通过智能合约将加密后的实际数据存储至区块链;
[0011]获取任一参与者节点的输入数据,通过智能合约对所述输入数据进行加密,将加密后的输入数据通过秘密分享算法,通过智能合约分享给给所有参与者节点;
[0012]通过智能合约获取每个参与者节点接收到的秘密份额,通过智能合约对每个秘密份额分别进行加密,并将加密后的秘密份额广播给所有参与者节点;
[0013]通过智能合约获取所有参与者节点接收到的加密后的秘密份额,通过智能合约对所述加密后的秘密份额进行数据恢复,得到待验证数据;
[0014]根据所述待验证数据与区块链中的加密后的实际数据,通过智能合约对输入数据进行验证。
[0015]可选地,所述通过智能合约分别进行加密,包括:
[0016]通过智能合约使用具有同态性质的函数对所述实际数据分别进行加密。
[0017]可选地,所述同态性质的函数包括Pedersen承诺或ElGamal算法。
[0018]可选地,所述将加密后的秘密份额广播给所有参与者节点,包括:
[0019]通过智能合约采用Shamir门限将加密后的秘密份额分享给所有参与者节点。
[0020]可选地,所述根据所述待验证数据与区块链中的加密后的实际数据,通过智能合约对输入数据进行验证,包括:
[0021]通过智能合约将所述待验证数据与区块链中的加密后的实际数据进行对比,如果所述待验证数据与区块链中的加密后的实际数据相同,则判断所述输入数据可信,所述输入数据验证通过,如果所述待验证数据与区块链中的加密后的实际数据不相同,则判断所述输入数据不可信,所述输入数据验证不通过。
[0022]一方面,提供了一种基于区块链技术的输入数据可信性验证装置,该装置应用于服务器,该装置包括:
[0023]获取单元,用于获取所有参与者节点的实际数据,通过智能合约分别进行加密,并通过智能合约将加密后的实际数据存储至区块链;
[0024]加密单元,用于获取任一参与者节点的输入数据,通过智能合约对所述输入数据进行加密,将加密后的输入数据通过秘密分享算法,通过智能合约分享给给所有参与者节点;
[0025]分享单元,用于通过智能合约获取每个参与者节点接收到的秘密份额,通过智能合约对每个秘密份额分别进行加密,并将加密后的秘密份额广播给所有参与者节点;
[0026]恢复单元,用于通过智能合约获取所有参与者节点接收到的加密后的秘密份额,通过智能合约对所述加密后的秘密份额进行数据恢复,得到待验证数据;
[0027]验证单元,用于根据所述待验证数据与区块链中的加密后的实际数据,通过智能合约对输入数据进行验证。
[0028]可选地,所述获取单元,用于:
[0029]通过智能合约获取所有参与者节点的实际数据,使用具有同态性质的函数对所述实际数据分别进行加密。
[0030]可选地,所述同态性质的函数包括Pedersen承诺或ElGamal算法。
[0031]可选地,所述分享单元,用于:
[0032]通过智能合约采用Shamir门限将加密后的秘密份额分享给所有参与者节点。
[0033]可选地,所述验证单元,用于:
[0034]通过智能合约将所述待验证数据与区块链中的加密后的实际数据进行对比,如果所述待验证数据与区块链中的加密后的实际数据相同,则判断所述输入数据可信,所述输入数据验证通过,如果所述待验证数据与区块链中的加密后的实际数据不相同,则判断所述输入数据不可信,所述输入数据验证不通过。
[0035]一方面,提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述基于区块链技术的输入数据可信性验证方法。
[0036]一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述基于区块链技术的输入数据可信性验证方法。
[0037]本专利技术实施例提供的技术方案带来的有益效果至少包括:
[0038]上述方案中,本专利技术实施例针对多方计算场景中恶意参与方输入错误数据这一问题,利用区块链的不可篡改性,智能合约通过秘密分享方案将数据分享给所有参与者节点,智能合约对所有参与者节点将获得的秘密份额使用具有(半)同态性质的函数进行本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链技术的输入数据可信性验证方法,其特征在于,所述方法包括:获取所有参与者节点的实际数据,通过智能合约分别进行加密,并通过智能合约将加密后的实际数据存储至区块链;获取任一参与者节点的输入数据,通过智能合约对所述输入数据进行加密,将加密后的输入数据通过秘密分享算法,通过智能合约分享给给所有参与者节点;通过智能合约获取每个参与者节点接收到的秘密份额,通过智能合约对每个秘密份额分别进行加密,并将加密后的秘密份额广播给所有参与者节点;通过智能合约获取所有参与者节点接收到的加密后的秘密份额,通过智能合约对所述加密后的秘密份额进行数据恢复,得到待验证数据;根据所述待验证数据与区块链中的加密后的实际数据,通过智能合约对输入数据进行验证。2.根据权利要求1所述的方法,其特征在于,所述通过智能合约分别进行加密,包括:通过智能合约使用具有同态性质的函数对所述实际数据分别进行加密。3.根据权利要求2所述的方法,其特征在于,所述同态性质的函数包括Pedersen承诺或ElGamal算法。4.根据权利要求1所述的方法,其特征在于,所述将加密后的秘密份额广播给所有参与者节点,包括:通过智能合约采用Shamir门限将加密后的秘密份额分享给所有参与者节点。5.根据权利要求1所述的方法,其特征在于,所述根据所述待验证数据与区块链中的加密后的实际数据,通过智能合约对输入数据进行验证,包括:通过智能合约将所述待验证数据与区块链中的加密后的实际数据进行对比,如果所述待验证数据与区块链中的加密后的实际数据相同,则判断所述输入数据可信,所述输入数据验证通过,如果所述待验证数据与区块链中的加密后的实际数据不相同,则判断所述输入数据不可信,所述输入数据验证不通过。6.一...

【专利技术属性】
技术研发人员:高嵩蔡超超单进勇石志国章敏
申请(专利权)人:北京数牍科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1