CN113222758A - 以隐私为前提的联盟链交易信息监管方法、系统、终端 - Google Patents
以隐私为前提的联盟链交易信息监管方法、系统、终端 Download PDFInfo
- Publication number
- CN113222758A CN113222758A CN202110497477.5A CN202110497477A CN113222758A CN 113222758 A CN113222758 A CN 113222758A CN 202110497477 A CN202110497477 A CN 202110497477A CN 113222758 A CN113222758 A CN 113222758A
- Authority
- CN
- China
- Prior art keywords
- transaction
- ciphertext
- balance
- verification
- chain
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000012544 monitoring process Methods 0.000 title claims description 10
- 230000008569 process Effects 0.000 claims abstract description 28
- 238000012795 verification Methods 0.000 claims description 83
- 238000012546 transfer Methods 0.000 claims description 73
- 238000004422 calculation algorithm Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 description 13
- 230000007547 defect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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
- 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/602—Providing cryptographic facilities or services
-
- 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
- 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/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Economics (AREA)
- Computing Systems (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明属于区块链隐私保护技术领域,公开了一种以隐私为前提的联盟链交易信息监管方法、系统、终端,通过paillier同态加密方法加密交易过程,并生成交易信息密文以及验证数据,链码端接受应用端密文和验证证据,并使用验证证据和密文中包含的承诺进行交易合法性验证,若验证通过则将交易结果写入区块链,否则,则拒绝交易入链。本发明在以账户模型为基础的fisco联盟链的交易过程中,通过加密交易余额与双方交易金额,实现对个人、机构隐私数据的保护。本发明实现了对交易流程的动态监管,使得区块链交易发生时,交易敏感信息对记账节点不可见,而记账节点可以正确地验证交易信息的合法性。
Description
技术领域
本发明属于区块链隐私保护技术领域,尤其涉及一种以隐私为前提的联盟链交易信息监管方法、系统、终端。
背景技术
目前,以账户模型为基础和以UTXO(unspent transaction outputs未使用的交易输出)模型为基础的区块链交易过程中,账户的交易信息包括交易金额及交易余额对链上节点是可见的,整个交易流程交易信息都是以明文形式展现。监管者可以查看到每笔交易的明文信息,在复杂的商业环境中,尤其是在金融领域,机构往往希望自己的数据尤其是交易金额等数据只对自己可见,在越来越重实个人数据隐私保护的环境和日益完善的隐私保护法规形势下,个人、机构对隐私保护的诉求日益增强。如何既能满足区块链上节点的监管,又能不泄露数据隐私成为现阶段各区块链领域需要解决的问题。
现有的区块链为了便于链上验证交易信息,区块链各节点要掌握能够验证交易合法性的信息,因此交易信息是以明文形式展现,这就与监管过程隐私数据保护形成了冲突,因为个人、机构希望自己的数据除了自己可见,链上其他节点不应知道自己的数据。
为了在链码端保护用户隐私,目前解决区块链隐私问题的主要技术有环签名、同态加密等方式。
环签名是群签名算法中的一种,环签名适用于在特定情况下由群管理员识别签名者具体身份信息,但环签名的技术缺陷在于若签名组用的公钥大多源于一个作恶团队或用户,该团队就会获得其他人的信息,进而泄露用户的隐私
同态加密允许在数据加密情况下对数据进行操作并且不泄露明文数据,关于同态加密的算法研究,基本都停留在加密阶段,并不具备零知识证明功能。以本发明相近的现有联盟链开源项目fisco为例,fisco联盟链提供了合约隐私保护模块,如果涉及简单密文计算,可以借助改模块实现相关功能,业务层通过调用paillier库加密交易明文或解密交易密文,智能合约链码端对密文进行简单加法运算。该技术缺陷在于提前假设了业务层交易合法,因此在特定场景种会产生一些问题。现假设业务层A端转账到B端,A端转账后余额为负数后加密余额明文,将交易发送至链码端进行校验,链码端简单计算后将结果广播至区块链网络进行共识,很明显,该场景不满足正常交易的合法性。
为了解决上述分析现有技术存在的问题及缺陷本发明提出满足交易合法性的所有条件,先对联盟链业务层加密数据的合法性验证,保证业务层交易的合法性,再进行同态加密的密文操作,研究结合同态加密和零知识证明的一种以隐私为前提的联盟链交易信息监管方法、系统、终端。
解决以上问题及缺陷的难度为:
设计基于paillier和零知识证明技术的同态加密体制,利用零知识证明功能的特点,验证业务层对交易数据加密后交易的合法性。
解决以上问题及缺陷的意义为:
基于paillier和零知识证明技术的同态加密体制不仅能够解决区块链种明文存储问题,还能够在区块链链码端验证交易隐藏金额的合法性,保护用户隐私,防止作恶节点产生不合规的交易。
发明内容
针对现有技术存在的问题,本发明提供了一种以隐私为前提的联盟链交易信息监管方法、系统、终端。
本发明是这样实现的,一种以隐私为前提的联盟链交易信息监管方法,所述以隐私为前提的联盟链交易信息监管方法包括:
通过paillier同态加密方法加密交易过程,并生成交易信息密文以及验证数据,链码端接受应用端密文和验证证据,并使用验证证据和密文中包含的承诺进行交易合法性验证,若验证通过则将交易结果写入区块链,否则,则拒绝交易入链。
进一步,所述交易合法性验证包括:用于验证交易金额在交易双方不同公钥加密的密文下生成的承诺中包含同一个隐藏值的交易双方交易金额相等性验证即交易等额验证、用于验证交易金额在转账方公钥加密的密文下的承诺中包含的隐藏值大于零的交易金额大于零范围性验证即交易非负验证以及用于验证交易余额在转账方公钥加密的密文下的承诺中包含的隐藏值大于零交易余额大于零范围性验证即交易足额验证。
进一步,所述以隐私为前提的联盟链交易信息监管方法包括以下步骤:
步骤一,应用端获取转账方A的公钥、私钥,获取账本中的系统参数以及交易收款方B的公钥;
步骤二,从账本中获取转账方A的上一次余额密文作为交易输入,使用A的私钥和公钥对密文余额进行解密,获取对应的明文余额和加密过程中使用的随机数,并验证输入金额即上一次交易余额是否能够足以完成这笔交易;以余额密文、A的公钥、A的私钥作为参数,在Paillier的零知识证明算法基础上得到明文和随机数;如果输入金额大于交易金额,则为A计算本次交易余额,转向步骤三;否则,终止此次交易过程;
步骤三,分别使用A的公钥和B的公钥对交易金额进行加密,为A和B分别生成对应的交易金额密文;
步骤四,为步骤三生成交易金额密文的承诺产生相等性证据,为A交易金额密文的承诺产生范围证据;将A的输入金额密文和交易金额密文经同态运算后产生本次交易余额密文,并为密文中交易余额的承诺产生范围证据;
步骤五,将A和B的交易金额密文、A的交易余额密文、相等性证据、范围性证据发送到链上,利用链上共识节点对交易数据进行合法性验证;
步骤六,对账本中A和B的余额状态进行更新;并向应用端返回交易成功信息。
进一步,步骤五中,所述利用链上共识节点对交易数据进行合法性验证包括:
(1)链码共识端从账本中获取系统参数,转账方A的公钥,A的上一次交易余额密文,接收方B的公钥,B的上一次交易余额密文,从应用端发过来的数据中获取对交易金额的加密密文,相等性证据,范围证据;
(2)利用相等性证据,验证A和B的交易金额密文的承诺是否隐藏同一个秘密值;
(3)利用范围证据,验证A的密文交易金额中的承诺隐藏的值是否大于0;
(4)利用A的输入交易余额密文和交易金额密文同态运算得到交易余额密文,并根据范围证据验证交易余额密文中的承诺隐藏的秘密值是否大于0;
(5)当且仅当步骤(2)、步骤(3)、步骤(4)的验证均通过时,交易验证通过;否则交易验证失败,向应用端返回错误信息。
本发明的另一目的在于提供一种实施所述以隐私为前提的联盟链交易信息监管方法的以隐私为前提的联盟链交易信息监管系统,所述以隐私为前提的联盟链交易信息监管系统包括:
应用端以及链码端;
应用端,用于获取转账方的公私钥、收款方的公钥、系统参数和交易输入密文;用于根据转账方的私钥和系统参数解密交易输入,并计算交易余额;用于利用转账方和收款方的公钥以及系统参数加密交易金额生成交易金额密文,并为两个交易金额密文中的承诺产生交易金额相等性证据;用于利用转账方交易金额和系统参数为密文中交易金额承诺生成交易金额范围大于零范围性证据;用于用转账方上一次交易余额密文和交易金额密文同态运算后,为转账方产生交易余额密文,并为交易余额密文中承诺产生交易余额大于零范围性证据;同时用于将密文和相关证据发送至链码端,供链码端完成验证过程;
所述链码端即共识节点,用于获取转账方的公钥、收款方的公钥和系统参数,以及应用端发过来的交易金额、交易余额密文和相关的零知识证据;用于使用转账方和收款方的公钥、系统参数和交易金额相等性证据,验证交易双方交易金额密文中的承诺是否隐藏着同一个秘密值;用于使用转账方公钥和系统参数以及交易金额大于零的范围证据,验证交易金额承诺中隐藏的秘密值是否大于零;用于使用转账方公钥和系统参数以及交易余额大于零的范围证据,验证交易余额中隐藏的秘密值是否大于零。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述以隐私为前提的联盟链交易信息监管方法。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述以隐私为前提的联盟链交易信息监管方法。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:
本发明填补了fisco联盟链简易paillier同态加密模块的缺陷,使得链码端交易广播至全网进行共识前,能够验证业务层交易的合法性,链码端能在不了解交易数据明文情况下,验证交易隐含的具体交易金额是否合法。
本发明提供了一种应用于fisco联盟链的基于paillier同态加密方法,在以账户模型为基础的fisco联盟链的交易过程中,通过加密交易余额与双方交易金额,实现对个人、机构隐私数据的保护。
本发明提供了一种基于paillier加密的零知识证明的隐私保护监管方法,利用零知识证明验证双方交易金额密文的承诺中包含同一个秘密值,保证交易转账方交易转出金额等于另一方交易转入金额一致,进一步验证双方交易金额密文的承诺中包含的秘密值大于零,保证交易转账时转账方只能将自己账户的余额转入另一方的账户,秘密值大于零则转账方不能利用交易合法性漏洞将他人账户余额转入自己账户;进一步验证转账方交易余额密文的承诺中包含的秘密值大于零,保证交易转账时转账方输入的交易余额大于交易金额,秘密值大于零则转账方不能利用交易合法性漏洞转出比自己账户输入交易余额更大金额的交易金额。综上实现链上共识节点在不掌握交易过程明文信息的条件下,依然能够正确进行交易合法性验证,正常出块,实现在保护用户隐私前提下,正确监管交易动态信息。如在交易过程中用户A对用户B转账,A转出负数金额,导致A账户余额增加,B账户余额减少,这样虽然在应用端可以生成交易数据密文信息和零知识证据,但在链码端使用这些证据无法完成交易验证过程,所以链码端可以拒绝该类恶意交易,保证每笔交易的合法性。
本发明实现了对交易流程的动态监管,使得区块链交易发生时,交易敏感信息对记账节点不可见,而记账节点可以正确地验证交易信息的合法性。
附图说明
图1是本发明实施例提供的应用端加密交易信息并生成密文承诺和链上所需验证的证据示意图。
图2是本发明实施例提供的交易合法性验证流程图。
图3是本发明实施例提供的以隐私为前提的联盟链交易信息监管方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种以隐私为前提的联盟链交易信息监管方法,下面结合附图对本发明作详细的描述。
如图1-图2所示,本发明实施例提供的以隐私为前提的联盟链交易信息监管方法包括:
通过paillier同态加密方法加密交易过程,并生成交易信息密文以及验证数据,链码端接受应用端密文和验证证据,并使用验证证据和密文中包含的承诺进行交易合法性验证,若验证通过则将交易结果写入区块链,否则,则拒绝交易入链。
本发明实施例提供的交易合法性验证包括:用于验证交易金额在交易双方不同公钥加密的密文下生成的承诺中包含同一个隐藏值的交易双方交易金额相等性验证即交易等额验证、用于验证交易金额在转账方公钥加密的密文下的承诺中包含的隐藏值大于零的交易金额大于零范围性验证即交易非负验证以及用于验证交易余额在转账方公钥加密的密文下的承诺中包含的隐藏值大于零交易余额大于零范围性验证即交易足额验证。
如图3所示,本发明实施例提供的以隐私为前提的联盟链交易信息监管方法包括以下步骤:
S101,应用端获取转账方A的公钥、私钥,获取账本中的系统参数以及交易收款方B的公钥;
S102,从账本中获取转账方A的上一次余额密文作为交易输入,使用A的私钥和公钥对密文余额进行解密,获取对应的明文余额和加密过程中使用的随机数,并验证输入金额即上一次交易余额是否能够足以完成这笔交易;以余额密文、A的公钥、A的私钥作为参数,在Paillier的零知识证明算法基础上得到明文和随机数;如果输入金额大于交易金额,则为A计算本次交易余额,转向步骤S103;否则,终止此次交易过程;
S103,分别使用A的公钥和B的公钥对交易金额进行加密,为A和B分别生成对应的交易金额密文;
S104,为步骤S103生成交易金额密文的承诺产生相等性证据,为A交易金额密文的承诺产生范围证据;将A的输入金额密文和交易金额密文经同态运算后产生本次交易余额密文,并为密文中交易余额的承诺产生范围证据;
S105,将A和B的交易金额密文、A的交易余额密文、相等性证据、范围性证据发送到链上,利用链上共识节点对交易数据进行合法性验证;
S106,对账本中A和B的余额状态进行更新;并向应用端返回交易成功信息。
本发明实施例提供的利用链上共识节点对交易数据进行合法性验证包括:
(1)链码共识端从账本中获取系统参数,转账方A的公钥,A的上一次交易余额密文,接收方B的公钥,B的上一次交易余额密文,从应用端发过来的数据中获取对交易金额的加密密文,相等性证据,范围证据;
(2)利用相等性证据,验证A和B的交易金额密文的承诺是否隐藏同一个秘密值;
(3)利用范围证据,验证A的密文交易金额中的承诺隐藏的值是否大于0;
(4)利用A的输入交易余额密文和交易金额密文同态运算得到交易余额密文,并根据范围证据验证交易余额密文中的承诺隐藏的秘密值是否大于0;
(5)当且仅当步骤(2)、步骤(3)、步骤(4)的验证均通过时,交易验证通过;否则交易验证失败,向应用端返回错误信息。
本发明实施例提供的以隐私为前提的联盟链交易信息监管系统包括:
应用端以及链码端;
应用端,用于获取转账方的公私钥、收款方的公钥、系统参数和交易输入密文;用于根据转账方的私钥和系统参数解密交易输入,并计算交易余额;用于利用转账方和收款方的公钥以及系统参数加密交易金额生成交易金额密文,并为两个交易金额密文中的承诺产生交易金额相等性证据;用于利用转账方交易金额和系统参数为密文中交易金额承诺生成交易金额范围大于零范围性证据;用于用转账方上一次交易余额密文和交易金额密文同态运算后,为转账方产生交易余额密文,并为交易余额密文中承诺产生交易余额大于零范围性证据;同时用于将密文和相关证据发送至链码端,供链码端完成验证过程;
所述链码端即共识节点,用于获取转账方的公钥、收款方的公钥和系统参数,以及应用端发过来的交易金额、交易余额密文和相关的零知识证据;用于使用转账方和收款方的公钥、系统参数和交易金额相等性证据,验证交易双方交易金额密文中的承诺是否隐藏着同一个秘密值;用于使用转账方公钥和系统参数以及交易金额大于零的范围证据,验证交易金额承诺中隐藏的秘密值是否大于零;用于使用转账方公钥和系统参数以及交易余额大于零的范围证据,验证交易余额中隐藏的秘密值是否大于零。
下面结合具体实施例对本发明的技术方案作进一步说明。
实施例1:
fisco联盟链交易发生模型为账户模型,本发明以fisco联盟链为例,应用paillier同态加密及零知识证明承诺实现隐私保护的交易监管。同态加密是一种特殊的加密方法,它允许数据在密文状态下进行运算,其结果与数据在明文状态下的一种运算后再进行加密的结果相同,对区块链交易信息采用同态加密后,链上节点可以在交易结果为密文状态下,对交易结果进行运算,保证基于账户的交易过程能够正确地进行余额增删,但是链上节点由于没有交易节点的私钥,因此链上访问的数据对链上节点是不可见的,这就实现了交易数据的隐私保护。零知识证明是一种基于承诺的证明技术,无需知道承诺中隐藏值可以确定隐藏值在一定范围或两个承诺中是否包含同一隐藏值,使用零知识证明可以使记账节点在不了解具体交易信息的情况下,验证交易的有效性,正确记账并实现对交易的正确监管。
因此,基于同态加密和零知识证明的加密算法能够以个人隐私安全为前提,实现对交易的正确动态监管。
本发明应用了一种基于paillier同态加密的零知识证明隐私保护监管方法,如图1-2所示,包括应用端应用本发明算法生成交易信息的密文并生成验证证据,链码端接受应用端密文和验证证据,并使用验证证据和密文中包含的承诺进行交易合法性验证。
所述的隐私保护交易监管方法具体包括如下步骤:
具体的,以满足加法同态的paillier加密算法为基础,进一步进行零知识证明,如图1所示,包括以下步骤:
S1、应用端获取转账方A的公钥PubA,私钥PrvA,获取账本中的系统参数包括paillier加密过程中的大整数n,随机整数g2等,接收方B的公钥PubB。
S2、从账本获取上一次A的交易余额(交易输入)密文Cin,A使用自己的私钥PrvA及系统参数解密Cin,获取上一次交易余额明文in和paillier加密过程中使用的随机数r0in。提前判断输入金额in是否大于交易金额t,如果in≥t,执行S3,否则终值本次交易,输出余额不足的失败信息。
S3、分别使用PubA和PubB以及系统参数对交易金额t进行基于paillier的可零知识证明算法的加密,A和B分别得到交易金额密文Cta和Ctb。
具体的,Cta中包含A的交易金额明文ta的承诺Cpta,Ctb中包含B的交易金额明文tb的承诺Cptb。
S4、以系统参数、交易金额t等为Cpta与Cptb产生相等性证据EqualProof,便于链码端验证双方交易金额t中隐藏着同一个秘密值;为Cpta产生范围性证据RangeProofT,便于链码端验证中承诺Cpta隐藏的秘密值交易金额明文t大于0。
S5、使用密文Cin、Cta经过同态运算得到A的交易余额密文Cra,利用系统参数、A的交易余额r为Cra中包含A的交易余额明文r的承诺Cpra产生范围性证据RangeProofR,便于链码端能够验证承诺Cpra中隐藏的秘密值交易余额明文大于0。
更进一步地,将所述地密文Cta、Ctb,相等性证据EqualProof、范围性证据RangeProofT、RangeProofR发送至链码端,便于链码端对交易进行验证。
具体的,链码端进行交易的合法性验证如图2所示,包括如下步骤:
S41、获取账本中系统参数、A的公钥PubA,A的上一次交易余额密文Cin,接收方B的公钥PubB,B的上一次交易余额Coldb,从应用端传输的密文Cta、Ctb,相等性证据EqualProof、范围性证据RangeProofT、RangeProofR。
具体的,链码端首先进行双方交易金额相等性验证和交易金额大于0范围性验证。
S42、使用系统参数、相等性证据EqualProof、Cta中包含的A的交易金额承诺Cpta、Ctb中包含的B的交易金额承诺Cptb验证Cpta与Cptb是否隐藏同一隐藏值,若验证不通过,拒绝交易,返回交易失败信息,若验证通过,进入S43。
S43、使用系统参数、范围性证据RangeProofT、Cta中包含的A的交易金额承诺Cpta验证Cpta中隐藏值是否大于0,若验证不通过,拒绝交易,返回交易失败信息,若验证通过,进入S51。
S51、使用Cin和Cta,通过同态运算获得A的交易余额密文Cra,再使用系统参数、范围性证据RangeProofR、Cra中包含的A的交易余额承诺Cpra验证Cpra中隐藏值是否大于0,若验证不通过,拒绝交易,返回交易失败信息,若验证通过,进入S6。
S6、使用Coldb、Ctb,通过同台运算获得B交易后交易余额密文Cnewb,将A和B的余额Cra、Cnewb打包入块,写入账本,向应用端返回交易成功信息。
整个交易过程共识节点是对交易信息的密文进行验证处理,交易信息的明文对共识节点不透明,并且paillier算法是一种综合性能良好的加密算法,fisco联盟链内部也保留了最基础的paillier加密算法接口,算法对节点共识过程影响较小,用户隐私安全得到极大程度保障;共识节点对于交易能够正确进行合法性验证,监管者依然可以作为节点接入fisco联盟链,当异常节点甚至作恶节点产生异常错误交易或不合法交易时,可以向fisco联盟链发出监管权限指令,对业务、参与人、账户等进行管控,实现“穿透式监管”。
本发明算法中的系统参数只需要在区块链系统中产生一次,后续交易涉及算法可以沿用已经产生的系统参数,因此系统参数不会对系统的运行时间产生影响,本发明以同态加密中秘钥生成和加解密过程以及零知识证明中的产生证据和零知识验证过程进行测试。
本发明的算法安全性基于计算离散对数的困难程度,当系统参数长度n足够大时,可以保证该算法的安全行,这里选取系统参数长度n为1024、2048、3072位进行测试,3072位的验证过程所需时间已经达到秒数量级,继续扩展秘钥长度将不适用于实际使用场景,同时3072位长度已经能够保证算法安全性,这里不在扩展更高位数系统参数的测试。
在实际交易过程中,交易金额一般为8字节即64位的整数或浮点数,并且大多数交易金额不超过32位,这里分别采用32位和64位整数对算法运行效率进行测试,32位不同秘钥长度对应测试结果如表1所示,64位不同秘钥长度对应测试结果如表2所示。
表1不同秘钥长度对应的32位交易金额测试结果(ms)
表2不同秘钥长度对应的64位交易金额测试结果(ms)
为了将该算法和不支持零知识证明的基础paillier算法做对比,这里仍然分别采用32位和64位整数,在相同实验环境下对paillier算法的秘钥生成和加解密过程进行测试,加密32位交易金额数据测试结果如表3所示,加密64位交易金额数据测试结果如表4所示。
表3不同秘钥长度对应的32位交易金额测试结果(ms)
表4不同秘钥长度对应的64位交易金额测试结果(ms)
本发明在实验环境下测试结果表明虽然加解密效率比paillier算法低,但两者相差细微,运行时间仍控制在同一数量级(毫秒)以内,同时本发明对应3072位秘钥长度会导致零知识证明过程运行时间长达2秒,但各个证据的生成和验证是可以并行运行的,所以该算法也可以在秒级数量级以内处理完成32位或64位金额数额的交易;对应2048位秘钥长度的每个交易算法步骤测试结果控制在秒以内,兼备较好的安全性;对应1024位秘钥长度的每个交易步骤运行速度较快,在安全性要求较低,实时性要求较高的场景有良好的应用前景。
在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上;术语“上”、“下”、“左”、“右”、“内”、“外”、“前端”、“后端”、“头部”、“尾部”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种以隐私为前提的联盟链交易信息监管方法,其特征在于,所述以隐私为前提的联盟链交易信息监管方法包括:
通过paillier同态加密方法加密交易过程,并生成交易信息密文以及验证数据,链码端接受应用端密文和验证证据,并使用验证证据和密文中包含的承诺进行交易合法性验证,若验证通过则将交易结果写入区块链,否则,则拒绝交易入链。
2.如权利要求1所述以隐私为前提的联盟链交易信息监管方法,其特征在于,所述交易合法性验证包括:用于验证交易金额在交易双方不同公钥加密的密文下生成的承诺中包含同一个隐藏值的交易双方交易金额相等性验证即交易等额验证、用于验证交易金额在转账方公钥加密的密文下的承诺中包含的隐藏值大于零的交易金额大于零范围性验证即交易非负验证以及用于验证交易余额在转账方公钥加密的密文下的承诺中包含的隐藏值大于零交易余额大于零范围性验证即交易足额验证。
3.如权利要求1所述以隐私为前提的联盟链交易信息监管方法,其特征在于,所述以隐私为前提的联盟链交易信息监管方法包括以下步骤:
步骤一,应用端获取转账方A的公钥、私钥,获取账本中的系统参数以及交易收款方B的公钥;
步骤二,从账本中获取转账方A的上一次余额密文作为交易输入,使用A的私钥和公钥对密文余额进行解密,获取对应的明文余额和加密过程中使用的随机数,并验证输入金额即上一次交易余额是否能够足以完成这笔交易;以余额密文、A的公钥、A的私钥作为参数,在Paillier的零知识证明算法基础上得到明文和随机数;如果输入金额大于交易金额,则为A计算本次交易余额,转向步骤三;否则,终止此次交易过程;
步骤三,分别使用A的公钥和B的公钥对交易金额进行加密,为A和B分别生成对应的交易金额密文;
步骤四,为步骤三生成交易金额密文的承诺产生相等性证据,为A交易金额密文的承诺产生范围证据;将A的输入金额密文和交易金额密文经同态运算后产生本次交易余额密文,并为密文中交易余额的承诺产生范围证据;
步骤五,将A和B的交易金额密文、A的交易余额密文、相等性证据、范围性证据发送到链上,利用链上共识节点对交易数据进行合法性验证;
步骤六,对账本中A和B的余额状态进行更新;并向应用端返回交易成功信息。
4.如权利要求3所述以隐私为前提的联盟链交易信息监管方法,其特征在于,步骤五中,所述利用链上共识节点对交易数据进行合法性验证包括:
(1)链码共识端从账本中获取系统参数,转账方A的公钥,A的上一次交易余额密文,接收方B的公钥,B的上一次交易余额密文,从应用端发过来的数据中获取对交易金额的加密密文,相等性证据,范围证据;
(2)利用相等性证据,验证A和B的交易金额密文的承诺是否隐藏同一个秘密值;
(3)利用范围证据,验证A的密文交易金额中的承诺隐藏的值是否大于0;
(4)利用A的输入交易余额密文和交易金额密文同态运算得到交易余额密文,并根据范围证据验证交易余额密文中的承诺隐藏的秘密值是否大于0;
(5)当且仅当步骤(2)、步骤(3)、步骤(4)的验证均通过时,交易验证通过;否则交易验证失败,向应用端返回错误信息。
5.一种实施如权利要求1-4任意一项所述以隐私为前提的联盟链交易信息监管方法的以隐私为前提的联盟链交易信息监管系统,其特征在于,所述以隐私为前提的联盟链交易信息监管系统包括:应用端以及链码端;
应用端,用于获取转账方的公私钥、收款方的公钥、系统参数和交易输入密文;用于根据转账方的私钥和系统参数解密交易输入,并计算交易余额;用于利用转账方和收款方的公钥以及系统参数加密交易金额生成交易金额密文,并为两个交易金额密文中的承诺产生交易金额相等性证据;
所述链码端即共识节点,用于获取转账方的公钥、收款方的公钥和系统参数,以及应用端发过来的交易金额、交易余额密文和相关的零知识证据;用于使用转账方和收款方的公钥、系统参数和交易金额相等性证据,验证交易双方交易金额密文中的承诺是否隐藏着同一个秘密值。
6.如权利要求5所述的以隐私为前提的联盟链交易信息监管系统,其特征在于,所述应用端还用于利用转账方交易金额和系统参数为密文中交易金额承诺生成交易金额范围大于零范围性证据。
7.如权利要求5所述的以隐私为前提的联盟链交易信息监管系统,其特征在于,所述应用端还用于利用转账方上一次交易余额密文和交易金额密文同态运算后,为转账方产生交易余额密文,并为交易余额密文中承诺产生交易余额大于零范围性证据;同时用于将密文和相关证据发送至链码端,供链码端完成验证过程。
8.如权利要求5所述的以隐私为前提的联盟链交易信息监管系统,其特征在于,所述链码端还用于使用转账方公钥和系统参数以及交易金额大于零的范围证据,验证交易金额承诺中隐藏的秘密值是否大于零;
以及还用于使用转账方公钥和系统参数以及交易余额大于零的范围证据,验证交易余额中隐藏的秘密值是否大于零。
9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1~4任意一项所述以隐私为前提的联盟链交易信息监管方法。
10.一种信息数据处理终端,其特征在于,所述信息数据处理终端包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1~4任意一项所述以隐私为前提的联盟链交易信息监管方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110497477.5A CN113222758A (zh) | 2021-05-08 | 2021-05-08 | 以隐私为前提的联盟链交易信息监管方法、系统、终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110497477.5A CN113222758A (zh) | 2021-05-08 | 2021-05-08 | 以隐私为前提的联盟链交易信息监管方法、系统、终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113222758A true CN113222758A (zh) | 2021-08-06 |
Family
ID=77091542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110497477.5A Pending CN113222758A (zh) | 2021-05-08 | 2021-05-08 | 以隐私为前提的联盟链交易信息监管方法、系统、终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113222758A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113570373A (zh) * | 2021-09-23 | 2021-10-29 | 北京理工大学 | 一种基于区块链的可追责交易方法及系统 |
CN113988863A (zh) * | 2021-12-28 | 2022-01-28 | 浙江大学 | 一种可监管的在线支付隐私保护方法及装置、电子设备 |
CN114399307A (zh) * | 2021-11-01 | 2022-04-26 | 上海能链众合科技有限公司 | 一种区块链隐私的计算机交易方法 |
CN114493709A (zh) * | 2022-01-29 | 2022-05-13 | 国网能源研究院有限公司 | 电力需求响应交易补贴计算方法、系统及装置 |
CN114598496A (zh) * | 2022-01-24 | 2022-06-07 | 华数云科技有限公司 | 一种基于HyperLedger Fabric系统链码的联盟链监管系统与方法 |
CN115062334A (zh) * | 2022-05-29 | 2022-09-16 | 北京理工大学 | 一种基于Pedersen承诺的联盟链隐私交易方法 |
CN115242370A (zh) * | 2022-05-23 | 2022-10-25 | 华数云科技有限公司 | 基于区块链可信安全多方计算的监督系统及方法 |
CN115622728A (zh) * | 2022-08-05 | 2023-01-17 | 贵州大学 | 一种基于dlin加密的可审计联盟链隐私保护方案 |
CN115829754A (zh) * | 2023-02-16 | 2023-03-21 | 之江实验室 | 一种面向隐私保护区块链的交易监管方法及装置 |
CN116432204A (zh) * | 2023-04-20 | 2023-07-14 | 兰州理工大学 | 基于同态加密和零知识证明的可监管交易隐私保护方法 |
CN116545773A (zh) * | 2023-07-05 | 2023-08-04 | 北京天润基业科技发展股份有限公司 | 一种处理隐私数据的方法、介质及电子设备 |
CN117132280A (zh) * | 2023-10-26 | 2023-11-28 | 环球数科集团有限公司 | 一种基于Web3技术的分布式交易验证系统 |
WO2024098589A1 (zh) * | 2022-11-10 | 2024-05-16 | 上海零数众合信息科技有限公司 | 事务监管方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109858281A (zh) * | 2019-02-01 | 2019-06-07 | 杭州云象网络技术有限公司 | 一种基于零知识证明的区块链账户模型隐私保护方法 |
CN110011781A (zh) * | 2019-03-04 | 2019-07-12 | 华中科技大学 | 一种用于交易金额加密且支持零知识证明的同态加密方法 |
CN110326013A (zh) * | 2018-11-07 | 2019-10-11 | 阿里巴巴集团控股有限公司 | 在账户模型下支持公开交易和私有交易的区块链系统 |
-
2021
- 2021-05-08 CN CN202110497477.5A patent/CN113222758A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110326013A (zh) * | 2018-11-07 | 2019-10-11 | 阿里巴巴集团控股有限公司 | 在账户模型下支持公开交易和私有交易的区块链系统 |
CN109858281A (zh) * | 2019-02-01 | 2019-06-07 | 杭州云象网络技术有限公司 | 一种基于零知识证明的区块链账户模型隐私保护方法 |
CN110011781A (zh) * | 2019-03-04 | 2019-07-12 | 华中科技大学 | 一种用于交易金额加密且支持零知识证明的同态加密方法 |
Non-Patent Citations (2)
Title |
---|
李龚亮等: "基于零知识证明的区块链隐私保护算法", 《华中科技大学学报(自然科学版)》 * |
贺东博: "基于同态加密和零知识证明的区块链隐私保护研究" * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113570373A (zh) * | 2021-09-23 | 2021-10-29 | 北京理工大学 | 一种基于区块链的可追责交易方法及系统 |
CN114399307A (zh) * | 2021-11-01 | 2022-04-26 | 上海能链众合科技有限公司 | 一种区块链隐私的计算机交易方法 |
CN113988863A (zh) * | 2021-12-28 | 2022-01-28 | 浙江大学 | 一种可监管的在线支付隐私保护方法及装置、电子设备 |
CN114598496B (zh) * | 2022-01-24 | 2024-02-20 | 华数云科技有限公司 | 一种基于HyperLedger Fabric系统链码的联盟链监管系统与方法 |
CN114598496A (zh) * | 2022-01-24 | 2022-06-07 | 华数云科技有限公司 | 一种基于HyperLedger Fabric系统链码的联盟链监管系统与方法 |
CN114493709A (zh) * | 2022-01-29 | 2022-05-13 | 国网能源研究院有限公司 | 电力需求响应交易补贴计算方法、系统及装置 |
CN115242370A (zh) * | 2022-05-23 | 2022-10-25 | 华数云科技有限公司 | 基于区块链可信安全多方计算的监督系统及方法 |
CN115062334A (zh) * | 2022-05-29 | 2022-09-16 | 北京理工大学 | 一种基于Pedersen承诺的联盟链隐私交易方法 |
CN115622728A (zh) * | 2022-08-05 | 2023-01-17 | 贵州大学 | 一种基于dlin加密的可审计联盟链隐私保护方案 |
WO2024098589A1 (zh) * | 2022-11-10 | 2024-05-16 | 上海零数众合信息科技有限公司 | 事务监管方法、装置、电子设备及存储介质 |
CN115829754A (zh) * | 2023-02-16 | 2023-03-21 | 之江实验室 | 一种面向隐私保护区块链的交易监管方法及装置 |
CN116432204B (zh) * | 2023-04-20 | 2023-11-17 | 兰州理工大学 | 基于同态加密和零知识证明的可监管交易隐私保护方法 |
CN116432204A (zh) * | 2023-04-20 | 2023-07-14 | 兰州理工大学 | 基于同态加密和零知识证明的可监管交易隐私保护方法 |
CN116545773B (zh) * | 2023-07-05 | 2023-09-08 | 北京天润基业科技发展股份有限公司 | 一种处理隐私数据的方法、介质及电子设备 |
CN116545773A (zh) * | 2023-07-05 | 2023-08-04 | 北京天润基业科技发展股份有限公司 | 一种处理隐私数据的方法、介质及电子设备 |
CN117132280A (zh) * | 2023-10-26 | 2023-11-28 | 环球数科集团有限公司 | 一种基于Web3技术的分布式交易验证系统 |
CN117132280B (zh) * | 2023-10-26 | 2024-02-02 | 环球数科集团有限公司 | 一种基于Web3技术的分布式交易验证系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113222758A (zh) | 以隐私为前提的联盟链交易信息监管方法、系统、终端 | |
Xu et al. | Blockchain-enabled accountability mechanism against information leakage in vertical industry services | |
WO2021083179A1 (zh) | 一种安全多方计算方法、设备、系统及存储介质 | |
US20190273620A1 (en) | Data sharing method and data sharing system | |
US10833871B2 (en) | System and method for deterministic signing of a message using a multi-party computation (MPC) process | |
WO2018076762A1 (zh) | 基于区块链的交易验证方法、系统、电子装置及介质 | |
Obaidat et al. | Security of E-systems and Computer Networks | |
CN108900533A (zh) | 一种共享数据隐私保护方法、系统、终端及介质 | |
CA3048425A1 (en) | System and method for an electronic identity brokerage | |
CN112926092A (zh) | 保护隐私的身份信息存储、身份认证方法及装置 | |
EP3673609A1 (en) | Method and apparatus for obtaining input of secure multiparty computation protocol | |
Elkhiyaoui et al. | CHECKER: On-site checking in RFID-based supply chains | |
US8959357B2 (en) | Biometric encryption and key generation | |
CN108768652A (zh) | 一种可抗量子攻击的联盟区块链底层加密方法 | |
US11411742B2 (en) | Private set calculation using private intersection and calculation, and applications thereof | |
CN106326763A (zh) | 获取电子文件的方法及装置 | |
FI86486B (fi) | Foerfarande foer att arrangera teleroestningen pao ett saekert saett. | |
CN111814193B (zh) | 一种信息共享方法、装置及设备 | |
CN109858911A (zh) | 资质验证方法、装置、系统、设备和可读存储介质 | |
CN113221089A (zh) | 基于可验证声明的隐私保护属性认证系统及方法 | |
CN110519268A (zh) | 基于区块链的投票方法、装置、设备、系统及存储介质 | |
CN106209730A (zh) | 一种管理应用标识的方法及装置 | |
CN117155644A (zh) | 链上链下相协作的医疗数据分级访问控制与共享方法 | |
CN112217636A (zh) | 基于区块链的数据处理方法、装置、计算机设备及介质 | |
CN112948789B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210806 |