CN113393238A - 一种保护隐私的智能合约模型及其实现方法 - Google Patents
一种保护隐私的智能合约模型及其实现方法 Download PDFInfo
- Publication number
- CN113393238A CN113393238A CN202110667086.3A CN202110667086A CN113393238A CN 113393238 A CN113393238 A CN 113393238A CN 202110667086 A CN202110667086 A CN 202110667086A CN 113393238 A CN113393238 A CN 113393238A
- Authority
- CN
- China
- Prior art keywords
- intelligent contract
- contract
- party
- layer
- data
- 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.)
- Granted
Links
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/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Bioethics (AREA)
- Technology Law (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种保护隐私的智能合约模型及其实现方法,利用安全多方计算输入隐私性、计算正确性等优点,在区块链原有层次模型的基础上,加入安全多方计算层,将智能合约输入分为多份由多方运算,使每个节点只掌握部分输入,无法得到全局数据也无法得知其他参与者的任何输入输出信息,保障智能合约的输入隐私。同时利用非对称密码算法,对智能合约输出进行加密签名,实现对智能合约输出的隐私保护。本发明的技术方案根据签名可实现交易的可追溯。
Description
技术领域
本发明涉及智能合约隐私保护技术领域,尤其涉及一种保护隐私的智能合约模型及其实现方法。
背景技术
区块链作为一种新兴的技术,因其不可篡改、去中心化、可追溯等特点而在众筹、投标、拍卖等领域被广为使用。随着以比特币为代表的区块链技术的蓬勃发展,区块链技术已经开始逐步超越可编程时代进入智能合约时代。智能合约作为区块链2.0的应用,是一种由事件驱动的、具有状态的代码合约和算法合同,随着区块链技术的深入发展而受到广泛关注和研究。其具有确定性、实时性、自治性、可观察、可验证、去中心化等特点,在数字支付、金融资产处置、云计算、物联网、共享经济等方面有着广阔的应用前景。
然而,在区块链及智能合约带来便利的同时,隐私问题也随之而来,其中,被人们广泛关注的便是链上数据隐私问题。可以看出,智能合约存储在链上,且由节点运行,任何一个节点都可以在链上获取关于智能合约代码及调用的完整信息。一方面,节点需得到智能合约的输入参数才可保证合约的顺利执行,但在涉及金钱、竞争等的交易中,合约的输入也是用户期望得到保护的隐私数据。另一方面,交易的输出若直接以明文的形式存储在区块链中,虽然可以防止数据的伪造和篡改,但无法保证数据的隐私性。想象一下,在银行借贷中,用户需要向银行证明自己满足借款条件,但并不想暴露自己的私人财务数据。因此,智能合约如何在为用户提供便利性等优点的同时保障用户链上数据的隐私性值得深思。
发明内容
本发明的目的在于提供一种保护隐私的智能合约模型及其实现方法。
本发明采用的技术方案是:
一种保护隐私的智能合约模型,将安全多方计算与区块链结合,在区块链原有层次模型的基础上,加入安全多方计算层,并将共识层与网络层合并设计为新的通信层,实现一种基于安全多方计算的隐私保护的智能合约模型,模型自下至上的层次为:通信层,数据层,安全多方计算层,智能合约层,应用层。
一种保护隐私的智能合约模型的实现方法,将智能合约函数表示为:Fm:(x1,x2,...,xn)→(y1,y2,...yn),则智能合约运行步骤为:
S1:Init初始化:设合约参与者为ai(i=1,2,...,n),参与者调用智能合约,智能合约响应后进入安全多方计算层进行运行。选取监管方Dealer,Dealer在所有合约参与者ai中随机选取K(k<n)个,将其作为安全多方计算player。
S2:Freeze冻结:将用户调用智能合约的时间及其签名进行记录。
S3:compute多方计算:ai将自身输入进行秘密共享,把秘密值xik发送给player,
Player按照获取的秘密值xik执行智能合约函数,并最终得到函数输出yik=Fm(xik)。
每位计算参与者player得到自己的函数输出值后,将输出值yik返回给Dealer,重构后得到合约最终结果。
S4:证明计算正确性:Dealer向验证节点证明合约执行所利用的安全多方计算算法的正确性,使得验证节点相信合约运行结果是正确可靠的。
S5:输出隐私:Dealer得到最终结果后,若智能合约输入输出结果需进行隐私保护,如竞标中投标方的输入,则其利用数据拥有者的非对称加密密钥的公钥将计算结果进行加密,利用数据拥有者非对称加密密钥的私钥对智能合约输出数据的密文进行签名,实现链上数据的可追溯,当交易出现问题时,可经签名进行参与者的追溯。若智能合约实现的是逻辑判断功能,如用户是否满足借款条件,不需要进行输出隐私保护的情况下,则无需对输出进行数据进行加密。
S6:Finalize完成:Dealer对智能合约运行完成需要写入区块的数据进行广播,验证节点验证区块的完整性和合法性,验证通过并取得共识后将区块并入区块链。
本发明采用以上技术方案,有益效果在于:1、在区块链原有架构上加入一层安全多方计算层,不影响其他层的原有架构,可以适用于现有的智能合约平台,具有平台通用性。2、用以实现智能合约的安全多方计算的算法于安全多方计算层中进行选择,可实现包括逻辑判断及逻辑运算等功能的智能合约,具有功能通用性。3、通过安全多方计算方法,将智能合约的隐私输入分为多方进行计算,实现了智能合约用户输入数据隐私的保护。4、对于隐私的智能合约输出,利用非对称密码算法,对输出数据进行加密签名,实现智能合约输出的隐私保护,且根据签名可实现交易可追溯。
附图说明
以下结合附图和具体实施方式对本发明做进一步详细说明;
图1为基于安全多方计算的隐私保护的智能合约模型示意图;
图2为本发明一种保护隐私的智能合约模型的设计与实现方法示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图对本申请实施例中的技术方案进行清楚、完整地描述。
如图1或2所示,一种保护隐私的智能合约模型,将安全多方计算与区块链结合,在区块链原有层次模型的基础上加入安全多方计算层;且根据区块链广播及点对点通信特点以及安全多方计算中各参与方的通信特点,将共识层与网络层合并设计为新的通信层,实现一种基于安全多方计算的隐私保护的智能合约模型,模型自下至上的层次为:通信层,数据层,安全多方计算层,智能合约层,应用层。每层的功能如下:
通信层:包含通信方法及共识节点及共识算法,可实现安全多方计算中各参与方的通信和智能合约运行完成后写入区块后的共识。
数据层:区块链为链式结构,利用时间戳和哈希实现链上数据的不可篡改和反映文件创建的先后顺序。数据模型包括基于账户模型和基于交易模型(UTXO)。
安全多方计算层:当用户调用智能合约时,智能合约运行进入安全多方计算层。安全多方计算层包括安全多方计算算法,如混淆电路、秘密共享等。安全多方计算层还包括安全多方计算节点的选取。
智能合约层:智能合约是一种用算法和程序来编制的存储在区块链中并按照预先设定的规则可以自动执行的合同条款。部署在链上的智能合约代码由用户在沙箱环境中编写和执行。
应用层:区块链的应用,包含比特币交易以及其他的链上去中心化应用。
本发明进一步公开了隐私保护的智能合约的实现:一种保护隐私的智能合约模型的实现方法,将智能合约函数表示为:Fm:(x1,x2,...,xn)→(y1,y2,...yn),则智能合约运行步骤为:
S1:Init初始化:设合约参与者为ai(i=1,2,...,n),参与者调用智能合约,智能合约响应后进入安全多方计算层进行运行。选取监管方Dealer,Dealer在所有合约参与者ai中随机选取K(k<n)个,将其作为安全多方计算player。
S2:Freeze冻结:将用户调用智能合约的时间及其签名进行记录。
S3:compute多方计算:ai将自身输入进行秘密共享,把秘密值xik发送给player,
Player按照获取的秘密值xik执行智能合约函数,并最终得到函数输出yik=Fm(xik)。
每位计算参与者player得到自己的函数输出值后,将输出值yik返回给Dealer,重构后得到合约最终结果。
S4:证明计算正确性:Dealer向验证节点证明合约执行所利用的安全多方计算算法的正确性,使得验证节点相信合约运行结果是正确可靠的。
S5:输出隐私:Dealer得到最终结果后,若智能合约输入输出结果需进行隐私保护,如竞标中投标方的输入,则其利用数据拥有者的非对称加密密钥的公钥将计算结果进行加密,利用数据拥有者非对称加密密钥的私钥对智能合约输出数据的密文进行签名,实现链上数据的可追溯,当交易出现问题时,可经签名进行参与者的追溯。若智能合约实现的是逻辑判断功能,如用户是否满足借款条件,不需要进行输出隐私保护的情况下,则无需对输出进行数据进行加密。
S6:Finalize完成:Dealer对智能合约运行完成需要写入区块的数据进行广播,验证节点验证区块的完整性和合法性,验证通过并取得共识后将区块并入区块链。
本发明采用以上技术方案,分为模型建立阶段和隐私保护的智能合约实现阶段。本发明面向区块链智能合约,对智能合约的输入输出数据进行隐私保护。本发明的有益效果在于:1、在区块链原有架构上加入一层安全多方计算层,不影响其他层的原有架构,可以适用于现有的智能合约平台,具有平台通用性。2、用以实现智能合约的安全多方计算的算法于安全多方计算层中进行选择,可实现包括逻辑判断及逻辑运算等功能的智能合约,具有功能通用性。3、通过安全多方计算方法,将智能合约的隐私输入分为多方进行计算,实现了智能合约用户输入数据隐私的保护。4、对于隐私的智能合约输出,利用非对称密码算法,对输出数据进行加密签名,实现智能合约输出的隐私保护,且根据签名可实现交易可追溯。
显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
Claims (10)
1.一种保护隐私的智能合约模型,其包括采用现有区块链智能合约模型构建数据层、合约层和应用层,其特征在于:智能合约模型还包括安全多方计算层,安全多方计算层配置在合约层和数据层之间,同时共识层与网络层合并为通信层,通信层、数据层、安全多方计算层、智合约层和应用层自下至上构成智能合约模型;通信层包括通信方法、共识节点及共识算法,通信层实现安全多方计算中各参与方的通信以及智能合约运行完成后写入区块后的共识;安全多方计算层用于选取合适的安全多方计算方作为参与者player进行安全多方计算并提供至少一种安全多方计算算法;当用户调用智能合约时,智能合约运行进入安全多方计算层。
2.根据权利要求1所述的一种保护隐私的智能合约模型,其特征在于:数据层的区块链为链式结构,数据层利用时间戳和哈希实现链上数据的不可篡改和反映文件创建的先后顺序;合约层提供智能合约,智能合约为一种用算法和程序来编制的存储在区块链中并按照预先设定的规则可以自动执行的合同条款;部署在链上的智能合约代码由用户在沙箱环境中编写和执行;应用层提供区块链的应用,区块链的应用包含比特币交易以及其他的链上去中心化应用。
3.根据权利要求2所述的一种保护隐私的智能合约模型,其特征在于:数据层的数据模型包括基于账户模型和基于交易模型。
4.根据权利要求1所述的一种保护隐私的智能合约模型,其特征在于:在安全多方计算层中,合约的组织发起方作为监管方从合约参与方中随机选取安全多方计算方;智能合约的输入方将其输入拆分成多份并分发给每个安全多方计算方;每个安全多方计算方得到自己的计算结果输出汇总到可信的合约组织方,可信的合约组织方进行秘密重构;最后通过密码学方法对相应的隐私输出数据加密且经验证节点共识后写入区块链中。
5.根据权利要求1所述的一种保护隐私的智能合约模型,其特征在于:所述安全多方计算算法包括混淆电路和秘密共享。
6.一种保护隐私的智能合约模型的实现方法,采用了权利要求1至5之一所述的一种保护隐私的智能合约模型,其特征在于:方法包括以下步骤:
S1:初始化:合约参与者ai(i=1,2,...,n)调用智能合约并进入安全多方计算层运行;选取监管方Dealer并由监管方Dealer在所有合约参与者ai中选取安全多方计算参与者player;
S2:冻结:将用户调用智能合约的时间及其签名进行记录;
S3:多方计算:安全多方计算参与者player对合约参与者的输入执行智能合约函数得到函数输出值,函数输出值返回至监管方Dealer并由监管方Dealer重构后得到合约最终结果;
S4:证明计算正确性:监管方Dealer向区块链的验证节点证明合约执行所利用的安全多方计算算法的正确性,使得验证节点相信合约运行结果是正确可靠的;
S5:输出隐私:监管方Dealer得到最终结果后直接输出或根据需要对需要隐私保护的数据通过密码学方法对隐私输出数据加密;
S6:Finalize完成:监管方Dealer对智能合约运行完成需要写入区块的数据进行广播,验证节点验证区块的完整性和合法性,验证通过并取得共识后将区块并入区块链。
7.根据权利要求6所述的一种保护隐私的智能合约模型的实现方法,其特征在于:S1中选定的监管方Dealer在所有合约参与者ai中随机选取(k<n)个作为安全多方计算参与者player。
8.根据权利要求6所述的一种保护隐私的智能合约模型的实现方法,其特征在于:S1中将智能合约函数表示为Fm:(x1,x2,...,xn)→(y1,y2,...yn)。
10.根据权利要求6所述的一种保护隐私的智能合约模型的实现方法,其特征在于:S5中当智能合约输入输出结果需进行隐私保护时,则其利用数据拥有者的非对称加密密钥的公钥将计算结果进行加密,利用数据拥有者非对称加密密钥的私钥对智能合约输出数据的密文进行签名;当智能合约实现的是逻辑判断功能,不需要进行输出隐私保护的情况下,则无需对输出进行数据进行加密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110667086.3A CN113393238B (zh) | 2021-06-16 | 2021-06-16 | 一种保护隐私的智能合约模型及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110667086.3A CN113393238B (zh) | 2021-06-16 | 2021-06-16 | 一种保护隐私的智能合约模型及其实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113393238A true CN113393238A (zh) | 2021-09-14 |
CN113393238B CN113393238B (zh) | 2023-04-14 |
Family
ID=77621396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110667086.3A Active CN113393238B (zh) | 2021-06-16 | 2021-06-16 | 一种保护隐私的智能合约模型及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113393238B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114124347A (zh) * | 2021-11-15 | 2022-03-01 | 浪潮云信息技术股份公司 | 一种基于区块链的安全多方计算方法及系统 |
CN115982700A (zh) * | 2023-03-21 | 2023-04-18 | 北京快成科技有限公司 | 一种数字孪生系统权限控制方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102196431A (zh) * | 2011-05-13 | 2011-09-21 | 南京邮电大学 | 基于物联网应用场景的隐私查询和隐私身份验证的保护方法 |
CN106503994A (zh) * | 2016-11-02 | 2017-03-15 | 西安电子科技大学 | 基于属性加密的区块链隐私数据访问控制方法 |
CN109614820A (zh) * | 2018-12-06 | 2019-04-12 | 山东大学 | 基于零知识证明的智能合约认证数据隐私保护方法 |
CN110532734A (zh) * | 2019-07-12 | 2019-12-03 | 中国科学院信息工程研究所 | 一种基于安全多方计算的隐私时间戳的数字版权方法及系统 |
CN110971390A (zh) * | 2019-11-29 | 2020-04-07 | 杭州云象网络技术有限公司 | 一种用于智能合约隐私保护的全同态加密方法 |
US20200372394A1 (en) * | 2019-05-20 | 2020-11-26 | International Business Machines Corporation | Machine learning with differently masked data in secure multi-party computing |
-
2021
- 2021-06-16 CN CN202110667086.3A patent/CN113393238B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102196431A (zh) * | 2011-05-13 | 2011-09-21 | 南京邮电大学 | 基于物联网应用场景的隐私查询和隐私身份验证的保护方法 |
CN106503994A (zh) * | 2016-11-02 | 2017-03-15 | 西安电子科技大学 | 基于属性加密的区块链隐私数据访问控制方法 |
CN109614820A (zh) * | 2018-12-06 | 2019-04-12 | 山东大学 | 基于零知识证明的智能合约认证数据隐私保护方法 |
US20200372394A1 (en) * | 2019-05-20 | 2020-11-26 | International Business Machines Corporation | Machine learning with differently masked data in secure multi-party computing |
CN110532734A (zh) * | 2019-07-12 | 2019-12-03 | 中国科学院信息工程研究所 | 一种基于安全多方计算的隐私时间戳的数字版权方法及系统 |
CN110971390A (zh) * | 2019-11-29 | 2020-04-07 | 杭州云象网络技术有限公司 | 一种用于智能合约隐私保护的全同态加密方法 |
Non-Patent Citations (2)
Title |
---|
HONGMIN GAO: "BFR-MPC: A Blockchain-Based Fair and Robust Multi-Party Computation Scheme", 《IEEE ACCESS》 * |
朱岩: "基于安全多方计算的区块链智能合约执行系统", 《密码学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114124347A (zh) * | 2021-11-15 | 2022-03-01 | 浪潮云信息技术股份公司 | 一种基于区块链的安全多方计算方法及系统 |
CN115982700A (zh) * | 2023-03-21 | 2023-04-18 | 北京快成科技有限公司 | 一种数字孪生系统权限控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113393238B (zh) | 2023-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bhutta et al. | A survey on blockchain technology: Evolution, architecture and security | |
Gutub et al. | Counting-based secret sharing technique for multimedia applications | |
CN110166442B (zh) | 一种基于区块链的数据处理方法和装置 | |
CN109523683B (zh) | 一种基于区块链技术的不记名电子投票方法 | |
JP7203829B2 (ja) | ブロックチェーンでエンティティにより提供されるデータの通信、保存、及び処理のためのシステム及び方法 | |
Noether et al. | Ring confidential transactions | |
WO2022068575A1 (zh) | 纵向联邦学习中的计算方法、装置、设备及介质 | |
Kaur et al. | Blockchain: A path to the future | |
ES2871053T3 (es) | Prevención de la tergiversación de los datos de entrada por parte de los participantes en una computación segura multipartita | |
CN112347495B (zh) | 一种基于区块链的可信隐私智能服务计算系统及方法 | |
CN113765657A (zh) | 一种密钥数据处理方法、装置及服务器 | |
CN110971390A (zh) | 一种用于智能合约隐私保护的全同态加密方法 | |
CN113393238B (zh) | 一种保护隐私的智能合约模型及其实现方法 | |
Gayvoronskaya et al. | Blockchain | |
Shakya | Efficient security and privacy mechanism for block chain application | |
CN112435020A (zh) | 一种基于区块链的有监管的匿名交易系统 | |
CN112613601B (zh) | 神经网络模型更新方法、设备及计算机存储介质 | |
CN113554421A (zh) | 一种基于区块链的警务资源数据治理协同方法 | |
Liu et al. | A blockchain-based privacy preservation scheme in multimedia network | |
Jain et al. | A blockchain-based distributed network for secure credit scoring | |
CN117290887B (zh) | 基于账户区块链的可问责隐私保护智能合约实现方法 | |
Li et al. | Efficient secure multiparty computational geometry | |
Sharma | Blockchain for Cybersecurity: Working Mechanism, Application areas and Security Challenges | |
Rao | Paras-A Private NFT Protocol | |
CN115023721A (zh) | 用于保护和验证记录的状态转换的方法和设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |