CN113132078B - 一种基于同态承诺的区块链隐私保护方法及区块链系统 - Google Patents
一种基于同态承诺的区块链隐私保护方法及区块链系统 Download PDFInfo
- Publication number
- CN113132078B CN113132078B CN201911425099.9A CN201911425099A CN113132078B CN 113132078 B CN113132078 B CN 113132078B CN 201911425099 A CN201911425099 A CN 201911425099A CN 113132078 B CN113132078 B CN 113132078B
- Authority
- CN
- China
- Prior art keywords
- transaction
- data
- homomorphic
- promise
- sender
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- 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
-
- 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
- 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
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种基于同态承诺的区块链隐私保护方法及区块链系统,该方法包括:对接收的交易发送方发送的第一同态承诺数据、交易接收方发送的第二同态承诺数据进行校验,确定交易是否成功;第一同态承诺数据、第二同态承诺数据为采用同态承诺对转账金额明文进行计算得到的数据;若校验出第一同态承诺数据和第二同态承诺数据不相等,确定交易失败;否则校验第一同态承诺数据和第二同态承诺数据的校验数据,当校验数据符合区块链系统预设的数据格式后,确定交易成功,更新交易发送方和交易接收方的账户余额。通过在区块链上使用同态承诺,可以达到保障区块链的交易信息的隐私性和支持加密信息密文计算双重效果,提高了业务落地的可行性。
Description
技术领域
本发明涉及区块链通信技术领域,尤指一种基于同态承诺的区块链隐私保护方法及区块链系统。
背景技术
近几年,区块链技术引起大众广泛关注,区块链相关技术本身也快速发展。区块链(Blockchain)是一种由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储、难以篡改、防止抵赖的记账技术,也称为分布式账本技术(Distributed LedgerTechnology)。
但是,由于区块链账本数据是由区块链网络中所有节点共同维护,而在真实落地应用中账本中某些数据只能给部分有权限的节点查看,但是,由于需要在区块链网络中达成共识,交易信息必须公开对节点公开,这样就会泄露交易双方的隐私。因此,需要引入区块链隐私保护方案。
目前,主要是通过普通承诺将加密数据写在区块链上,用于保障有权限的用户的隐私性。但是,由于普通承诺加密得到的加密数据为密文,而数据在密文状态下无法进行数学运算,使得业务落地(即手工干预处理业务)的可行性低。
发明内容
本发明实施例提供一种基于同态承诺的区块链隐私保护方法及区块链系统,用以解决现有技术中存在数据在普通承诺加密后得到的密文状态下无法进行数学运算的问题。
第一方面,本发明实施例提供一种基于同态承诺的区块链隐私保护方法,所述方法应用于区块链系统;所述方法包括:
接收交易发送方发送的第一同态承诺数据和交易、交易接收方发送的第二同态承诺数据;所述第一同态承诺数据为交易发送方采用同态承诺对第一转账金额明文进行计算得到的数据;所述第二同态承诺数据为交易接收方采用同态承诺对第二转账金额明文进行计算得到的数据;
对所述第一同态承诺数据和所述第二同态承诺数据进行校验,确定所述交易是否成功;
若校验出所述第一同态承诺数据和所述第二同态承诺数据不相等,确定所述交易失败;
若校验出所述第一同态承诺数据和所述第二同态承诺数据相等,则校验所述第一同态承诺数据和所述第二同态承诺数据的校验数据,确定所述校验数据是否符合所述区块链系统预设的数据格式;其中,所述校验数据至少包括同态承诺数据的数据结构、数据签名;
当所述校验数据符合所述区块链系统预设的数据格式后,确定所述交易成功,并更新所述交易发送方和所述交易接收方的账户余额。
在一种可能的设计中,所述第一同态承诺数据表征为C1=g*m1+h*r;其中,g、h为公开参数,r为所述交易发送方选择的随机数,m1表征为所述第一转账金额明文。
在一种可能的设计中,所述第二同态承诺数据表征为C2=g*m2+h*r;其中,m2表征为所述第二转账金额明文,r由所述交易接收方通过自己的私钥解密所述交易发送方发送的密文后得到的,所述密文为所述交易发送方法根据所述交易接收方的公钥将r进行加密后得到的密文。
在一种可能的设计中,更新所述交易发送方和所述交易接收方的账户余额,包括:
获取存储的所述交易发送方在所述交易之前的第三同态承诺数据和所述交易接收方在所述交易之前的第四同态承诺数据;
根据所述第一同态承诺数据和所述第三同态承诺数据计算得到所述交易发送方更新后的账户余额,以及根据所述第二同态承诺数据和所述第四同态承诺数据计算得到所述交易接收方更新后的账户余额;其中,所述交易发送方更新后的账户余额等于所述第三同态承诺数据与所述第一同态承诺之间的差值,所述交易接收方更新后的账户余额等于所述第四同态承诺数据与所述第二同态承诺之间的差值;
将所述交易发送方更新后的账户余额和所述交易接收方更新后的账户余额记录在区块链上。
第二方面,本发明实施例提供一种区块链系统,包括:
接收单元,用于接收交易发送方发送的第一同态承诺数据和交易、交易接收方发送的第二同态承诺数据;所述第一同态承诺数据为交易发送方采用同态承诺对第一转账金额明文进行计算得到的数据;所述第二同态承诺数据为交易接收方采用同态承诺对第二转账金额明文进行计算得到的数据;
校验单元,用于对所述第一同态承诺数据和所述第二同态承诺数据进行校验,确定所述交易是否成功;若验证所述第一同态承诺数据和所述第二同态承诺数据不相等,确定所述交易失败;若验证所述第一同态承诺数据和所述第二同态承诺数据相等,则校验所述第一同态承诺数据和所述第二同态承诺数据的校验数据;其中,所述校验数据至少包括同态承诺数据和同态承诺数据的数据结构、数据签名;当所述第一同态承诺数据和所述第二同态承诺数据的校验数据校验成功后,确定所述交易成功,并更新所述交易发送方和所述交易接收方的账户余额。
在一种可能的设计中,所述第一同态承诺数据表征为C1=g*m1+h*r;其中,g、h为公开参数,r为所述交易发送方选择的随机数,m1表征为所述第一转账金额明文。
在一种可能的设计中,所述第二同态承诺数据表征为C2=g*m2+h*r;其中,m2表征为所述第二转账金额明文,r由所述交易接收方通过自己的私钥解密所述交易发送方发送的密文后得到的,所述密文为所述交易发送方法根据所述交易接收方的公钥将r进行加密后得到的密文。
在一种可能的设计中,所述校验单元还用于:
获取存储的所述交易发送方在所述交易之前的第三同态承诺数据和所述交易接收方在所述交易之前的第四同态承诺数据;
根据所述第一同态承诺数据和所述第三同态承诺数据计算得到所述交易发送方更新后的账户余额,以及根据所述第二同态承诺数据和所述第四同态承诺数据计算得到所述交易接收方更新后的账户余额;其中,所述交易发送方更新后的账户余额等于所述第三同态承诺数据与所述第一同态承诺之间的差值,所述交易接收方更新后的账户余额等于所述第四同态承诺数据与所述第二同态承诺之间的差值;
将所述交易发送方更新后的账户余额和所述交易接收方更新后的账户余额记录在区块链上。
第三方面,本发明实施例提供一种区块链系统,所述区块链系统包括:至少一个处理器和存储器;其中,所述存储器用于存储一个或多个计算机程序;当所述存储器存储的一个或多个计算机程序被所述至少一个处理器执行时,使得所述区块链系统能够执行上述第一方面或上述第一方面的任意一种可能的设计的方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得所述计算机能够执行上述第一方面或上述第一方面的任意一种可能的设计的方法。
本发明有益效果如下:
本发明实施例中,接收交易发送方发送的第一同态承诺数据和交易、交易接收方发送的第二同态承诺数据;第一同态承诺数据为交易发送方采用同态承诺对第一转账金额明文进行计算得到的数据;第二同态承诺数据为交易接收方采用同态承诺对第二转账金额明文进行计算得到的数据;对第一同态承诺数据和第二同态承诺数据进行校验,确定交易是否成功;若校验出第一同态承诺数据和第二同态承诺数据不相等,确定交易失败;若校验出第一同态承诺数据和第二同态承诺数据相等,则校验第一同态承诺数据和第二同态承诺数据的校验数据,确定校验数据是否符合区块链系统预设的数据格式;其中,校验数据至少包括同态承诺数据的数据结构、数据签名;当校验数据符合区块链系统预设的数据格式后,确定交易成功,并更新交易发送方和交易接收方的账户余额。通过在区块链上使用同态承诺,可以达到保障区块链的交易信息的隐私性和支持加密信息密文计算双重效果,从而可以提高业务落地的可行性。
附图说明
图1为本发明实施例提供的一种应用场景的示意图;
图2为本发明实施例提供的一种基于同态承诺的区块链隐私保护方法的流程示意图;
图3为本发明实施例提供的一种区块链系统的结构示意图;
图4为本发明实施例提供的一种区块链系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
附图中各部件的形状和大小不反映真实比例,目的只是示意说明本发明内容。
本发明的说明书和权利要求书及上述附图中的术语“第一”致“第四”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了本领域技术人员便于理解本发明实施例中的技术方案,下面介绍本发明实施例的应用场景。
示例性的,请参考图1所示,为本发明实施例提供的一种应用场景的示意图。如图1所示,该应用场景中包括:区块链系统100、交易发送方101和交易接收方。其中,区块链系统100可以存储交易发送方101和交易接收方102之间的交易数据。
下面介绍区块链系统100存储交易发送方101和交易接收方102之间的交易数据的过程。
请继续参考图1所示,当交易发送方101想向交易接收方102转账一笔交易金额例如第一转账金额明文(未加密的转账金额)时,可以对要转账的第一转账金额明文(例如10万元)进行加密得到第一转账金额密文,之后,可以向区块链系统100发起交易和第一转账金额密文。对应的,交易接收方102也可以向区块链系统100发送由需要接收到的第二转账金额明文(例如10万元)加密后得到的第二转账金额密文。区块链系统100接收到交易、第一转账金额密文和第二转账金额密文后,对第一密文转账金额密文和第二转账金额密文进行校验,确定该交易是否成功。当区块链系统100确定该交易成功后,更新交易发送方101和交易接收方102的账户余额。
由前述内容可知,现有的方案中,交易发送方101向区块链系统100发送的第一转账金额密文和交易接收方102向区块链系统100发送的第二转账金额密文,均是采用普通承诺加密得到的。因此,第一转账金额密文和第二转账金额密文处于密文状态,导致区块链系统100根据第一转账金额密文和第二转账金额密文无法进行数学运算即无法进行加、减、乘、除运算,使得业务人员通过区块链系统100对交易发送方101和交易接收方102之间的交易业务进行手工干预处理的可行性降低,即交易发送方101和交易接收方102之间的交易业务落地的可行性低。
为了解决该问题,本发明实施例中,提供了一种基于同态承诺的区块链隐私保护方法,以使区块链系统100可以根据第一转账金额密文和第二转账金额密文进行无法进行数学运算。比如,交易发送方采用同态承诺对第一转账金额明文进行计算得到第一同态承诺数据(即第一转账金额密文)。对应的,交易接收方可以采用同态承诺对第二转账金额明文进行计算得到第二同态承诺数据(即第二转账金额密文)。由于第一同态承诺数据和第二同态承诺具有同态性,使得区块链系统可以对第一同态承诺数据和第二同态承诺进行数学运算,从而可以提高交易发送方和交易接收方之间的交易业务落地的可行性。
下面介绍交易发送方和交易接收方通过区块链系统进行交易的过程。
示例性的,请参考图2所示,为本发明实施例提供的一种基于同态承诺的区块链隐私保护方法的流程示意图。该方法可以应用于图1所示的应用场景或者应用于与图1所示的应用场景类似的应用场景中。其中,图2中以执行主体为区块链系统为例。如图2所示,该方法流程包括:
S201、接收交易发送方发送的第一同态承诺数据和交易、交易接收方发送的第二同态承诺数据;第一同态承诺数据为交易发送方采用同态承诺对第一转账金额明文进行计算得到的数据;第二同态承诺数据为交易接收方采用同态承诺对第二转账金额明文进行计算得到的数据。
可选地,第一同态承诺数据可以表征为C1=g*m1+h*r。其中,g、h为公开参数,r为交易发送方选择的随机数,m1表征为第一转账金额明文。在具体的实现的过程中,当交易发送方向区块链系统发送交易之前,交易发送方可以获取公开参数g和h和选择随机数r。比如,交易发送方获取自己预先存储的公开参数g和h,或者获取区块链服务预先存储的公开参数g和h,本发明实施例不限定。比如,交易发送方可以根据预设规则选择随机数r,例如根据该交易所对应的交易类型与随机数之间的对应关系或者采用随机算法选择随机r等,本发明实施例不限定。之后,交易发送方可以根据g*m1+h*r生成第一同态承诺数据C1,并可以将第一同态承诺数据C1和该交易发送给区块链系统。
可选地,交易发送方选择随机数r后,可以根据交易接收方的公钥将随机数r进行加密后得到携带有该随机数r的密文,并将该密文发送给交易接收方,以使交易接收方在接收到该密文后,可以根据该密文获取该随机数r。比如,交易接收方可以通过自己的私钥解密该密文,获取到该随机数r。
可选地,第二同态承诺数据表征为C2=g*m2+h*r;其中,m2表征为第二转账金额明文。在具体的实现的过程中,交易接收方获取到该随机数r之前或者之后,交易接收方可以获取公开参数g和h和选择随机数r。比如,交易接收方获取自己预先存储的公开参数g和h,或者获取区跨链服务预先存储的公开参数g和h,本发明实施例不限定。
需要说明的是,为了提高计算得到的第一同态承诺数据C1和第二同态承诺数据C2的隐私安全性,公开参数g和h取大数,即,公开参数g和h取128位以上的数值。
在本发明实施例中,交易双方通过采用同态承诺来加密交易金额(即交易信息),解决了区块链交易信息隐私暴露的问题,进一步的保障了区块链交易信息隐私性。
S202、对第一同态承诺数据和第二同态承诺数据进行校验,确定该交易是否成功;若检验出第一同态承诺数据和第二同态承诺数据不相等,则执行S203,否则,执行S204。
可选地,区块链系统接收到第一同态承诺数据C1和第二同态承诺数据C2后,首先校验第一同态承诺数据C1和第二同态承诺数据C2是否相同。通过校验第一同态承诺数据C1和第二同态承诺数据C2是否相等,即可确定交易失败,还是需要继续对第一同态承诺数据C1和第二同态承诺数据C2进行校验。比如,若检验出第一同态承诺数据C1和第二同态承诺数据C2不相等,则执行S203。若检验出第一同态承诺数据C1和第二同态承诺数据C2不相等,则确定需要继续对第一同态承诺数据C1和第二同态承诺数据C2进行校验,执行S204。
S203、确定交易失败,结束此次交易。
S204、校验第一同态承诺数据和第二同态承诺数据的校验数据,确定校验数据是否符合区块链系统预设的数据格式;其中,校验数据至少包括同态承诺数据的数据结构、数据签名。若检验出第一同态承诺数据和第二同态承诺数据的校验数据检验不符合区块链系统预设的数据格式,执行S205,否则执行S206。
可选地,区块链系统确定需要继续对第一同态承诺数据C1和第二同态承诺数据C2进行校验后,校验第一同态承诺数据C1和第二同态承诺数据C2的校验数据,确定第一同态承诺数据C1和第二同态承诺数据C2的校验数据是否符合区块链系统预设的数据格式。其中,区块链系统校验第一同态承诺数据C1和第二同态承诺数据C2的校验数据的具体地实现方式为现有技术,为了说明书的简洁,在此不赘述。
S205、确定交易失败,结束此次交易。
S206、确定交易成功,并更新交易发送方和交易接收方的账户余额。
可选地,区块链系统确定交易成功后,可以更新交易发送方和交易接收方的账户余额。比如,区块链系统获取存储的交易发送方在交易之前的第三同态承诺数据C3,和获取存储的交易接收方在交易之前的第四同态承诺数据C4。之后,区块链系统可以根据第一同态承诺数据C1和第三同态承诺数据C3计算得到交易发送方更新后的账户余额,比如,交易发送方更新后的账户余额C5=第三同态承诺数据C3-第一同态承诺数据C1。之后,区块链系统可以将C5作为交易发送方更新后的账户余额记录在区块链上。区块链系统可以根据第二同态承诺数据C2和第四同态承诺数据C4计算得到交易接收方更新后的账户余额,比如,交易接收方更新后的账户余额C6=第四同态承诺数据C4-第二同态承诺数据C2。之后,区块链系统可以将C6作为交易接收方更新后的账户余额记录在区块链上。
在本发明实施例中,区块链系统通过采用同态承诺,将交易信息加密保存在区块链上,可以在保障区块链上的交易信息隐私性的基础上,支持加密信息密文计算,提高了业务落地的可行性。
可选地,交易发送方可以采用明文对区块链上记录的更新后的账户余额进行校验。比如,交易发送方获取交易发送方交易之前的账户余额明文。之后,交易发送方可以根据账户余额明文和第一转账金额明文,校验交易发送方更新后的账户余额是否正确。比如,若检验出交易发送方更新后的账户余额=账户余额明文-第一转账金额明文,交易发送方则可以确定交易发送方更新后的账户余额正确;若检验出交易发送方更新后的账户余额≠账户余额明文-第一转账金额明文,交易发送方则可以确定交易发送方更新后的账户余额不正确。其中,交易接收方采用明文对区块链上记录的更新后的账户余额进行校验的方式,与交易发送方可以采用明文对区块链上记录的更新后的账户余额进行校验的方式相同或者类似,在此不再赘述。
在本发明实施例中,交易双方可以根据各自的账户余额明文和转账金额明文校验更新后的账户余额明文,便于交易双方可以了解自己的交易信息是否正确。
通过以上描述可知,本发明实施例中,接收交易发送方发送的第一同态承诺数据和交易、交易接收方发送的第二同态承诺数据;第一同态承诺数据为交易发送方采用同态承诺对第一转账金额明文进行计算得到的数据;第二同态承诺数据为交易接收方采用同态承诺对第二转账金额明文进行计算得到的数据;对第一同态承诺数据和第二同态承诺数据进行校验,确定交易是否成功;若校验出第一同态承诺数据和第二同态承诺数据不相等,确定交易失败;若校验出第一同态承诺数据和第二同态承诺数据相等,则校验第一同态承诺数据和第二同态承诺数据的校验数据,确定校验数据是否符合区块链系统预设的数据格式;其中,校验数据至少包括同态承诺数据的数据结构、数据签名;当校验数据符合区块链系统预设的数据格式后,确定交易成功,并更新交易发送方和交易接收方的账户余额。通过在区块链上使用同态承诺,可以达到保障区块链的交易信息的隐私性和支持加密信息密文计算双重效果,从而可以提高业务落地的可行性。
基于同一发明构思下,本发明实施例提供了一种网络设备。请参考图3所示,为本发明实施例提供的一种网络设备的结构示意图。其中,区块链系统100应用于基于同态承诺的区块链隐私保护系统(图3中未示出);其中,区块链系统300位于该基于同态承诺的区块链隐私保护系统中的区块链节点。
如图3所示,区块链系统300包括:
接收单元301,用于接收交易发送方发送的第一同态承诺数据和交易、交易接收方发送的第二同态承诺数据;第一同态承诺数据为交易发送方采用同态承诺对第一转账金额明文进行计算得到的数据;第二同态承诺数据为交易接收方采用同态承诺对第二转账金额明文进行计算得到的数据;
校验单元302,用于对第一同态承诺数据和第二同态承诺数据进行校验,确定该交易是否成功;若验证第一同态承诺数据和第二同态承诺数据不相等,确定该交易失败;若验证第一同态承诺数据和第二同态承诺数据相等,则校验第一同态承诺数据和第二同态承诺数据的校验数据;其中,校验数据至少包括同态承诺数据和同态承诺数据的数据结构、数据签名;当第一同态承诺数据和第二同态承诺数据的校验数据校验成功后,确定该交易成功,并更新交易发送方和交易接收方的账户余额。
在一种可能的设计中,第一同态承诺数据表征为C1=g*m1+h*r;其中,g、h为公开参数,r为交易发送方选择的随机数,m1表征为第一转账金额明文。
在一种可能的设计中,第二同态承诺数据表征为C2=g*m2+h*r;其中,m2表征为第二转账金额明文,r由交易接收方通过自己的私钥解密交易发送方发送的密文后得到的,该密文为交易发送方法根据交易接收方的公钥将r进行加密后得到的密文。
在一种可能的设计中,校验单元302还用于:
获取存储的交易发送方在该交易之前的第三同态承诺数据和交易接收方在该交易之前的第四同态承诺数据;
根据第一同态承诺数据和第三同态承诺数据计算得到交易发送方更新后的账户余额,以及根据第二同态承诺数据和第四同态承诺数据计算得到交易接收方更新后的账户余额;其中,交易发送方更新后的账户余额等于第三同态承诺数据与第一同态承诺之间的差值,交易接收方更新后的账户余额等于第四同态承诺数据与第二同态承诺之间的差值;
将交易发送方更新后的账户余额和交易接收方更新后的账户余额记录在区块链上。
本发明实施例中的区块链系统300与前述图2所示的基于同态承诺的区块链隐私保护方法是基于同一构思下的发明,通过前述对基于同态承诺的区块链隐私保护方法的详细描述,本领域技术人员可以清楚的了解本实施例中区块链系统300的实施过程,所以为了说明书的简洁,在此不再赘述。
基于同一发明构思下,本发明实施例提供了一种区块链系统。请参考图4所示,为本发明实施例提供的一种区块链系统的结构示意图。
如图4所示,区块链系统400包括:
存储器401,用于存储一个或多个计算机指令;
至少一个处理器402,用于读取存储器401中的计算机指令,使得区块链系统400能够实现图2所示的实施例中的全部或部分步骤。
可选地,存储器401可以包括高速随机存取存储器,还可以包括非易失存储器,例如磁盘存储器件、闪存器件或其他非易失性固态存储器件等,本发明实施例不作限定。
可选地,处理器402可以是通用的处理器(central processing unit,CPU),或ASIC,或FPGA,也可以是一个或多个用于控制程序执行的集成电路。
在一些实施例中,存储器401和处理器402可以在同一芯片上实现,在另一些实施例中,它们也可以在独立的芯片上分别实现,本发明实施例不作限定。
基于同一发明构思下,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,当计算机指令被数字通信设备执行时,使数字通信设备执行上述基于同态承诺的区块链隐私保护方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种基于同态承诺的区块链隐私保护方法,其特征在于,应用于区块链系统;所述方法包括:
接收交易发送方发送的第一同态承诺数据和交易、交易接收方发送的第二同态承诺数据;所述第一同态承诺数据为交易发送方采用同态承诺对第一转账金额明文进行计算得到的数据,所述第一同态承诺数据表征为C1=g*m1+h*r;其中,g、h为公开参数,r为所述交易发送方选择的随机数,m1表征为所述第一转账金额明文,所述随机数r是交易发送方根据所述交易所对应的交易类型与随机数之间的对应关系确定的;所述第二同态承诺数据为交易接收方采用同态承诺对第二转账金额明文进行计算得到的数据;
对所述第一同态承诺数据和所述第二同态承诺数据进行校验,确定所述交易是否成功;
若校验出所述第一同态承诺数据和所述第二同态承诺数据不相等,确定所述交易失败;
若校验出所述第一同态承诺数据和所述第二同态承诺数据相等,则校验所述第一同态承诺数据和所述第二同态承诺数据的校验数据,确定所述校验数据是否符合所述区块链系统预设的数据格式;其中,所述校验数据至少包括同态承诺数据的数据结构、数据签名;
当所述校验数据符合所述区块链系统预设的数据格式后,确定所述交易成功,并更新所述交易发送方和所述交易接收方的账户余额;
向所述交易发送方发送所述交易发送方的更新后的账户余额,以及向所述交易接收方发送所述交易接收方的更新后的账户余额,以使所述交易发送方根据所述交易发送方的账户余额明文以及所述第一转账金额明文校验所述交易发送方更新后的账户余额正确,以及所述交易接收方根据所述交易接收方的账户余额明文以及所述第二转账金额明文校验所述交易接收方的更新后的账户余额正确。
2.如权利要求1所述的方法,其特征在于,所述第二同态承诺数据表征为C2=g*m2+h*r;其中,m2表征为所述第二转账金额明文,r由所述交易接收方通过自己的私钥解密所述交易发送方发送的密文后得到的,所述密文为所述交易发送方法根据所述交易接收方的公钥将r进行加密后得到的密文。
3.如权利要求1或2所述的方法,其特征在于,更新所述交易发送方和所述交易接收方的账户余额,包括:
获取存储的所述交易发送方在所述交易之前的第三同态承诺数据和所述交易接收方在所述交易之前的第四同态承诺数据;
根据所述第一同态承诺数据和所述第三同态承诺数据计算得到所述交易发送方更新后的账户余额,以及根据所述第二同态承诺数据和所述第四同态承诺数据计算得到所述交易接收方更新后的账户余额;其中,所述交易发送方更新后的账户余额等于所述第三同态承诺数据与所述第一同态承诺之间的差值,所述交易接收方更新后的账户余额等于所述第四同态承诺数据与所述第二同态承诺之间的差值;
将所述交易发送方更新后的账户余额和所述交易接收方更新后的账户余额记录在区块链上。
4.一种区块链系统,其特征在于,包括:
接收单元,用于接收交易发送方发送的第一同态承诺数据和交易、交易接收方发送的第二同态承诺数据;所述第一同态承诺数据为交易发送方采用同态承诺对第一转账金额明文进行计算得到的数据,所述第一同态承诺数据表征为C1=g*m1+h*r;其中,g、h为公开参数,r为所述交易发送方选择的随机数,m1表征为所述第一转账金额明文,所述随机数r是交易发送方根据所述交易所对应的交易类型与随机数之间的对应关系确定的;所述第二同态承诺数据为交易接收方采用同态承诺对第二转账金额明文进行计算得到的数据;
校验单元,用于对所述第一同态承诺数据和所述第二同态承诺数据进行校验,确定所述交易是否成功;若验证所述第一同态承诺数据和所述第二同态承诺数据不相等,确定所述交易失败;若验证所述第一同态承诺数据和所述第二同态承诺数据相等,则校验所述第一同态承诺数据和所述第二同态承诺数据的校验数据;其中,所述校验数据至少包括同态承诺数据和同态承诺数据的数据结构、数据签名;当所述第一同态承诺数据和所述第二同态承诺数据的校验数据校验成功后,确定所述交易成功,并更新所述交易发送方和所述交易接收方的账户余额;
所述接收单元,还用于向所述交易发送方发送所述交易发送方的更新后的账户余额,以及向所述交易接收方发送所述交易接收方的更新后的账户余额,以使所述交易发送方根据所述交易发送方的账户余额明文以及所述第一转账金额明文校验所述交易发送方更新后的账户余额正确,以及所述交易接收方根据所述交易接收方的账户余额明文以及所述第二转账金额明文校验所述交易接收方的更新后的账户余额正确。
5.如权利要求4所述的区块链系统,其特征在于,所述第二同态承诺数据表征为C2=g*m2+h*r;其中,m2表征为所述第二转账金额明文,r由所述交易接收方通过自己的私钥解密所述交易发送方发送的密文后得到的,所述密文为所述交易发送方法根据所述交易接收方的公钥将r进行加密后得到的密文。
6.如权利要求4或5所述的区块链系统,其特征在于,所述校验单元还用于:
获取存储的所述交易发送方在所述交易之前的第三同态承诺数据和所述交易接收方在所述交易之前的第四同态承诺数据;
根据所述第一同态承诺数据和所述第三同态承诺数据计算得到所述交易发送方更新后的账户余额,以及根据所述第二同态承诺数据和所述第四同态承诺数据计算得到所述交易接收方更新后的账户余额;其中,所述交易发送方更新后的账户余额等于所述第三同态承诺数据与所述第一同态承诺之间的差值,所述交易接收方更新后的账户余额等于所述第四同态承诺数据与所述第二同态承诺之间的差值;
将所述交易发送方更新后的账户余额和所述交易接收方更新后的账户余额记录在区块链上。
7.一种区块链系统,其特征在于,所述区块链系统包括至少一个处理器和存储器;
所述存储器用于存储一个或多个计算机程序;
当所述存储器存储的一个或多个计算机程序被所述至少一个处理器执行时,使得所述区块链系统执行如权利要求1-3任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得所述计算机执行如权利要求1-3任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911425099.9A CN113132078B (zh) | 2019-12-31 | 2019-12-31 | 一种基于同态承诺的区块链隐私保护方法及区块链系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911425099.9A CN113132078B (zh) | 2019-12-31 | 2019-12-31 | 一种基于同态承诺的区块链隐私保护方法及区块链系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113132078A CN113132078A (zh) | 2021-07-16 |
CN113132078B true CN113132078B (zh) | 2023-07-14 |
Family
ID=76770932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911425099.9A Active CN113132078B (zh) | 2019-12-31 | 2019-12-31 | 一种基于同态承诺的区块链隐私保护方法及区块链系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113132078B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115114315B (zh) * | 2022-08-29 | 2022-11-08 | 人民法院信息技术服务中心 | 律师敏感数据隐私上链存证方法、装置、设备及存储介质 |
CN116975936B (zh) * | 2023-09-22 | 2023-12-05 | 北京天润基业科技发展股份有限公司 | 金融资质证明方法、金融资质验证方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106549749A (zh) * | 2016-12-06 | 2017-03-29 | 杭州趣链科技有限公司 | 一种基于加法同态加密的区块链隐私保护方法 |
CN109359974A (zh) * | 2018-08-30 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 区块链交易方法及装置、电子设备 |
CN109544129A (zh) * | 2018-10-26 | 2019-03-29 | 阿里巴巴集团控股有限公司 | 区块链交易方法及装置、电子设备 |
CN110472957A (zh) * | 2019-08-20 | 2019-11-19 | 深圳市网心科技有限公司 | 一种区块链交易验证方法及相关设备 |
CN110612547A (zh) * | 2018-12-29 | 2019-12-24 | 阿里巴巴集团控股有限公司 | 一种用于信息保护的系统和方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3718069B1 (en) * | 2017-11-30 | 2024-04-17 | Visa International Service Association | Blockchain system for confidential and anonymous smart contracts |
CN111899012B (zh) * | 2018-10-26 | 2024-04-05 | 创新先进技术有限公司 | 基于区块链的汇款方法及装置 |
CN109903027A (zh) * | 2018-12-14 | 2019-06-18 | 阿里巴巴集团控股有限公司 | 基于区块链的事件处理方法及装置、电子设备 |
CN110059494B (zh) * | 2019-04-17 | 2020-11-03 | 深圳启元信息服务有限公司 | 一种区块链交易数据的隐私保护方法及区块链系统 |
-
2019
- 2019-12-31 CN CN201911425099.9A patent/CN113132078B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106549749A (zh) * | 2016-12-06 | 2017-03-29 | 杭州趣链科技有限公司 | 一种基于加法同态加密的区块链隐私保护方法 |
CN109359974A (zh) * | 2018-08-30 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 区块链交易方法及装置、电子设备 |
CN109544129A (zh) * | 2018-10-26 | 2019-03-29 | 阿里巴巴集团控股有限公司 | 区块链交易方法及装置、电子设备 |
CN110612547A (zh) * | 2018-12-29 | 2019-12-24 | 阿里巴巴集团控股有限公司 | 一种用于信息保护的系统和方法 |
CN110472957A (zh) * | 2019-08-20 | 2019-11-19 | 深圳市网心科技有限公司 | 一种区块链交易验证方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113132078A (zh) | 2021-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110391900B (zh) | 基于sm2算法的私钥处理方法、终端及密钥中心 | |
US10897456B2 (en) | Cryptography using multi-factor key system and finite state machine | |
US10880100B2 (en) | Apparatus and method for certificate enrollment | |
US9698984B2 (en) | Re-encrypted data verification program, re-encryption apparatus and re-encryption system | |
JP6363032B2 (ja) | 鍵付替え方向制御システムおよび鍵付替え方向制御方法 | |
US9614681B2 (en) | Private electronic signature service for electronic documents | |
CN111989891A (zh) | 数据处理方法、相关装置及区块链系统 | |
CN109818741B (zh) | 一种基于椭圆曲线的解密计算方法及装置 | |
CN110289968A (zh) | 私钥恢复、协同地址的创建、签名方法及装置、存储介质 | |
CN112118245B (zh) | 密钥管理方法、系统和设备 | |
CN111783129A (zh) | 一种保护隐私的数据处理方法及系统 | |
JP2018502320A (ja) | 公開鍵暗号化システム | |
US20180278417A1 (en) | Apparatus and method for generating key, and apparatus and method for encryption | |
CN109754226B (zh) | 数据管理方法、设备和存储介质 | |
CN109413084B (zh) | 一种口令更新方法、装置及系统 | |
CN113132078B (zh) | 一种基于同态承诺的区块链隐私保护方法及区块链系统 | |
US8732481B2 (en) | Object with identity based encryption | |
WO2017006118A1 (en) | Secure distributed encryption system and method | |
CN104200154A (zh) | 一种基于标识的安装包签名方法及其装置 | |
CN115203749A (zh) | 一种基于区块链的数据交易方法和系统 | |
US20050002528A1 (en) | RSA cryptographic method and system | |
CN104734847A (zh) | 面向公钥密码应用的共享对称密钥数据加密和解密方法 | |
US10116439B2 (en) | Encrypted data computation system, device, and program | |
CN109361506A (zh) | 信息处理方法 | |
CN113347270A (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 |