CN113032800A - 一种基于零知识证明的链上自动执行智能合约中间件系统 - Google Patents

一种基于零知识证明的链上自动执行智能合约中间件系统 Download PDF

Info

Publication number
CN113032800A
CN113032800A CN202110198930.2A CN202110198930A CN113032800A CN 113032800 A CN113032800 A CN 113032800A CN 202110198930 A CN202110198930 A CN 202110198930A CN 113032800 A CN113032800 A CN 113032800A
Authority
CN
China
Prior art keywords
intelligent contract
data
middleware system
verification
user
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.)
Pending
Application number
CN202110198930.2A
Other languages
English (en)
Inventor
王荣
蔡维德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN202110198930.2A priority Critical patent/CN113032800A/zh
Publication of CN113032800A publication Critical patent/CN113032800A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, 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/405Establishing or using transaction specific rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明开发了一种基于零知识证明的链上自动执行智能合约中间件系统。该系统不同于传统的智能合约预言机系统,该系统能将在Web服务器上签名的数据转换为zk‑SNARKs证明的数据证据,区块链上智能合约能够验证证明是否正确。该中间件系统由四个部分组成:(1)数据源模块(2)数据证明模块(3)智能合约代码转换模块(4)智能合约验证模块。本发明解决传统预言机系统存在不能提供隐私的能力,无法保护用户的数据隐私,无法提供智能合约自动生成、验证服务的问题。能够为智能合约提供数据证明的同时保护用户的数据隐私,保障链上数据的真实性,实现智能合约可信的与外部世界进行交互。

Description

一种基于零知识证明的链上自动执行智能合约中间件系统
技术领域
本发明涉及针对区块链领域,特别是涉及一种基于零知识证明的链上自动执行智能合约中间件系统。
背景技术
预言机是一个链外数据的提供平台,作为智能合约的参数输入来源,能够将链外的数据真实准确的输入到链内,从而保障链上数据的真实性,实现智能合约可信的与外部世界进行交互。传统预言机系统存在不能提供隐私的能力,无法保护用户的数据隐私,无法提供智能合约自动生成、验证服务的问题。
zk-SNARKs全称是“Zero-Knowledge Succinct Non-Interactive Argument ofKnowledge”,是一种带有零知识特性的非交互简洁论证技术,在证明的过程中不透露任何内情。zk-SNARKs技术能应用到很多场景,比如隐私保护、区块链扩容、可验证计算等。
ECDH全称是椭圆曲线迪菲-赫尔曼秘钥交换(Elliptic Curve Diffie–Hellmankey Exchange),主要是用来在一个不安全的通道中建立起安全的共有加密资料,一般来说交换的都是私钥,这个密钥一般作为“对称加密”的密钥而被双方在后续数据传输中使用。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供本发明针对目前技术发展的需求和不足之处,提供一种基于零知识证明的链上自动执行智能合约中间件系统,其特征在于:包含以下组成部分:
(1)数据源模块,定义证明和验证过程中所需的输入数据的参数,验证用户的数据是否来自正确的数据源;
(2)数据证明模块,使用零知识证明zk-SNARKs技术对用户数据进行验证,生成可证明的数据证据;
(3)智能合约代码转换模块,将程序员开发的应用程序转换为可在区块链上运行的智能合约,该智能合约能够验证生成的外部数据证明。
(4)智能合约验证模块,对生成的智能合约进行形式化验证。
具体的,所涉及组成部分(1)验证用户的数据是否来自正确的数据源是通过与ECDH交换的加密密钥进行签名验证,用户与中间件系统之间加密是加密进行传输。所涉及组成部分(1)数据源可以是用户可以通过从外部来源导入数据来用户证明数据如用户的银行余额或资格证书证明等,还可以来自公开的数据源。所涉及组成部分(2),零知识证明zk-SNARKs技术可以是PGHR13、G16和GM17等方案。所涉及组成部分(3),程序员开发的应用程序是通过中间件系统提供的接口来编写中间程序。所涉及组成部分(3),转换生成智能合约过程包括智能合约代码转换模块进行预处理,根据语法规则创建一个带有标记的抽象语法树,并将签名验证转换为零知识证明,生成区块链可运行的智能合约程序。所涉及组成部分(4),程序进行形式化验证是对智能合约建模、分析和验证,采用的方法可以是演绎验证方法也可以是模型检测方法。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。本发明的目标及特征考虑到如下结合附图的描述将更加明显,附图中:
图1为本发明工作示意图。
具体实施方式
为了使得本发明能够针对其发明要点更加明显易懂,下面将结合附图和实例对本发明作进一步的说明。在下面的描述中阐述了很多细节和具体实例,提供这些实例是为了能够更透彻地理解本发明,并且能够将本发明完整形象地传达给本领域的技术人员。虽然本发明能够以很多不同于此描述的其它方式实施,但是本领域技术人员可以在不违背本发明内涵的情况下做相应的推广,因此本发明不受下面公开的具体实例及具体附图所限制。
下面将附图结合具体实施方式对本发明的技术加以详细说明。
本发明为了解决预言机系统存在不能提供隐私的能力,无法保护用户的数据隐私,无法提供智能合约自动生成、验证服务的问题,提出一种基于零知识证明的链上自动执行智能合约中间件系统,本实施例是以用户银行存款金额证明为例子,本实施例将说明本发明的工作流程,包括:
S01、软件开发人员使用中间件系统提供的智能合约接口编写一个可以获取外部信息的智能合约应用程序,基于该接口实现的程序能够实现获取外部信息的同时保护用户的数据隐私;
S02、中间件系统智能合约代码转换模块,将程序员开发的应用程序转换为可在区块链上运行的智能合约,智能合约代码转换模块通过语法规则创建一个带有标记的抽象语法树,遍历抽象语法树检查类型,基于抽象语法树重构代码,生成可以在区块链运行的智能合约源码;
S03、使用形式化工具对生成的智能合约程序进行形式化验证,通过在一个特制的智能合约虚拟机里运行智能合约字节码来检查合约的安全问题,它使用符号执行技术来检查程序可能的状态;
S04、在区块链上部署通过形式化验证的智能合约程序;
S05、用户通过客户端输入身份凭证信息和数据参数,客户端在本机使用零知识证明zk-SNARKs技术生成证明银行存款金额凭证数据;
S06、中间件系统对用户数据凭证数据进行验证,验证用户的数据是否来自正确的数据源,验证用户的数据是否来有效,在通过验证之后生成可证明的证据;
S07、用户将中间件系统生成可证明的证据上传至区块链,区块链智能合约验证该证据,验证通过之后,能够确认被证明事实的准确性。同时不需要知道用户的隐私数据内容,从而保护用户的隐私。

Claims (7)

1.一种基于零知识证明的链上自动执行智能合约中间件系统,其特征在于:包含以下组成部分:
(1)数据源模块,定义证明和验证过程中所需的输入数据的参数,验证用户的数据是否来自正确的数据源;
(2)数据证明模块,使用零知识证明zk-SNARKs技术对用户数据进行验证,生成可证明的数据证据;
(3)智能合约代码转换模块,将程序员开发的应用程序转换为可在区块链上运行的智能合约,该智能合约能够验证生成的外部数据证明。
(4)智能合约验证模块,对生成的智能合约进行形式化验证。
2.根据权利要求1所述的一种基于零知识证明的链上自动执行智能合约中间件系统,其特征在于:所述组成部分(1)验证用户的数据是否来自正确的数据源是通过与ECDH交换的加密密钥进行签名验证,用户与中间件系统之间加密是加密进行传输。
3.根据权利要求1所述的一种基于零知识证明的链上自动执行智能合约中间件系统,其特征在于:所述组成部分(1)数据源可以是用户可以通过从外部来源导入数据来用户证明数据如用户的银行余额或资格证书证明等,还可以来自公开的数据源。
4.根据权利要求1所述的一种基于零知识证明的链上自动执行智能合约中间件系统,其特征在于:所述组成部分(2),零知识证明zk-SNARKs技术可以是PGHR13、G16和GM17等方案。
5.根据权利要求1所述的一种基于零知识证明的链上自动执行智能合约中间件系统,其特征在于:所述组成部分(3),程序员开发的应用程序是通过中间件系统提供的接口来编写中间程序。
6.根据权利要求1所述的一种基于零知识证明的链上自动执行智能合约中间件系统,其特征在于:所述组成部分(3),转换生成智能合约过程包括智能合约代码转换模块进行预处理,根据语法规则创建一个带有标记的抽象语法树,并将签名验证转换为零知识证明,生成区块链可运行的智能合约程序。
7.根据权利要求1所述的一种基于零知识证明的链上自动执行智能合约中间件系统,其特征在于所述组成部分(4),程序进行形式化验证是对智能合约建模、分析和验证,采用的方法可以是演绎验证方法也可以是模型检测方法。
CN202110198930.2A 2021-02-22 2021-02-22 一种基于零知识证明的链上自动执行智能合约中间件系统 Pending CN113032800A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110198930.2A CN113032800A (zh) 2021-02-22 2021-02-22 一种基于零知识证明的链上自动执行智能合约中间件系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110198930.2A CN113032800A (zh) 2021-02-22 2021-02-22 一种基于零知识证明的链上自动执行智能合约中间件系统

Publications (1)

Publication Number Publication Date
CN113032800A true CN113032800A (zh) 2021-06-25

Family

ID=76460985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110198930.2A Pending CN113032800A (zh) 2021-02-22 2021-02-22 一种基于零知识证明的链上自动执行智能合约中间件系统

Country Status (1)

Country Link
CN (1) CN113032800A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113344551A (zh) * 2021-07-05 2021-09-03 招商局金融科技有限公司 基于零知识证明技术的多头授信方法、装置、设备及介质
CN113986250A (zh) * 2021-12-23 2022-01-28 杭州趣链科技有限公司 零知识证明电路优化方法、装置、终端设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108418783A (zh) * 2017-09-01 2018-08-17 矩阵元技术(深圳)有限公司 一种保护区块链智能合约隐私的方法、介质
CN108898490A (zh) * 2018-06-25 2018-11-27 北京奇虎科技有限公司 智能合约的执行方法、节点、系统、电子设备及存储介质
CN109614820A (zh) * 2018-12-06 2019-04-12 山东大学 基于零知识证明的智能合约认证数据隐私保护方法
CN111433798A (zh) * 2020-02-03 2020-07-17 支付宝(杭州)信息技术有限公司 基于区块链的可信保函
CN111429138A (zh) * 2020-03-25 2020-07-17 中国工商银行股份有限公司 区块链节点数据安全交互方法及第一交互节点

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108418783A (zh) * 2017-09-01 2018-08-17 矩阵元技术(深圳)有限公司 一种保护区块链智能合约隐私的方法、介质
CN108898490A (zh) * 2018-06-25 2018-11-27 北京奇虎科技有限公司 智能合约的执行方法、节点、系统、电子设备及存储介质
CN109614820A (zh) * 2018-12-06 2019-04-12 山东大学 基于零知识证明的智能合约认证数据隐私保护方法
CN111433798A (zh) * 2020-02-03 2020-07-17 支付宝(杭州)信息技术有限公司 基于区块链的可信保函
CN111429138A (zh) * 2020-03-25 2020-07-17 中国工商银行股份有限公司 区块链节点数据安全交互方法及第一交互节点

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113344551A (zh) * 2021-07-05 2021-09-03 招商局金融科技有限公司 基于零知识证明技术的多头授信方法、装置、设备及介质
CN113344551B (zh) * 2021-07-05 2024-02-09 招商局金融科技有限公司 基于零知识证明技术的多头授信方法、装置、设备及介质
CN113986250A (zh) * 2021-12-23 2022-01-28 杭州趣链科技有限公司 零知识证明电路优化方法、装置、终端设备及存储介质
CN113986250B (zh) * 2021-12-23 2022-04-08 杭州趣链科技有限公司 零知识证明电路优化方法、装置、终端设备及存储介质

Similar Documents

Publication Publication Date Title
Vigano Automated security protocol analysis with the AVISPA tool
EP3564884A1 (en) Method and system for verifying policy compliance of transactions in a blockchain executing smart contracts
CN100556035C (zh) 在运行时包签名中使用受信的、基于硬件的身份认证以使移动通信和高价值交易执行安全的方法
CN111316595A (zh) 用于保护验证密钥不被更改并验证正确性证明的有效性的系统
CN111801910A (zh) 基于证明验证的用于认证链外数据的系统和方法
Cortier et al. A method for proving observational equivalence
CN107111713A (zh) 软件系统的自动验证
CN112508563B (zh) 跨链交易可信验证方法、装置及计算机设备
Bacelar Almeida et al. Full proof cryptography: verifiable compilation of efficient zero-knowledge protocols
Wesemeyer et al. Formal analysis and implementation of a tpm 2.0-based direct anonymous attestation scheme
CN102171652A (zh) 为电子装置提供可信软件的方法
Backes et al. Union and intersection types for secure protocol implementations
CN113032800A (zh) 一种基于零知识证明的链上自动执行智能合约中间件系统
Corin et al. A logic for constraint-based security protocol analysis
Arapinis et al. Verifying privacy-type properties in a modular way
Dadeau et al. Model‐based mutation testing from security protocols in HLPSL
Datta et al. Abstraction and refinement in protocol derivation
CN110798322B (zh) 一种操作请求方法、装置、存储介质及处理器
Cortier et al. Equivalence properties by typing in cryptographic branching protocols
Arquint et al. Sound verification of security protocols: From design to interoperable implementations
González-Burgueno et al. Analysis of the IBM CCA security API protocols in Maude-NPA
CN116896463A (zh) 一种基于区块链的可信环境认证方法及装置
Pintaldi Implementation of a Blockchain-based Distributed PKI for IoT using Emercoin NVS and TPM 2.0
Arquint et al. Sound verification of security protocols: From design to interoperable implementations (extended version)
CN112766971A (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