CN109102286B - 跨账本交易方法及装置 - Google Patents

跨账本交易方法及装置 Download PDF

Info

Publication number
CN109102286B
CN109102286B CN201810874378.2A CN201810874378A CN109102286B CN 109102286 B CN109102286 B CN 109102286B CN 201810874378 A CN201810874378 A CN 201810874378A CN 109102286 B CN109102286 B CN 109102286B
Authority
CN
China
Prior art keywords
transaction
account
ciphertext
ledger
share
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
Application number
CN201810874378.2A
Other languages
English (en)
Other versions
CN109102286A (zh
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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201810874378.2A priority Critical patent/CN109102286B/zh
Publication of CN109102286A publication Critical patent/CN109102286A/zh
Application granted granted Critical
Publication of CN109102286B publication Critical patent/CN109102286B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/382Payment protocols; Details thereof insuring higher security of transaction
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了一种跨账本交易方法及装置,该方法包括但不限于:交易请求装置生成交易信息并发送给交易处理装置后,交易处理装置通过检验所述第二账本校正参数的数字签名成功以及检验所述第二账本未校正交易份额密文,确定第一账户与第二账户之间的跨账本交易的合规性,从而更新账本余额密文。可以看出,本发明能够在***露交易具体数值的情况下进行全同态校验的零知识证明,从而保证交易成功,有利于跨账本交易过程的安全与隐私。

Description

跨账本交易方法及装置
技术领域
本发明涉及数字货币领域,尤其涉及一种跨账本交易方法及装置。
背景技术
零知识证明(Zero—Knowledge Proof),是由S.Goldwasser、S.Micali及C.Rackoff在20世纪80年代初提出的。它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。
目前在数字货币的交易过程中,零知识证明一般局限于一个账本内的交易,例如将人民币从甲账户转到乙账户。但实际应用中常常会存在多个账本间的交易,例如甲账户的人民币兑换乙账户的美元,那甲账户与乙账户的人民币、美元账本都需要同时更新。而为了保证账本信息在第三方平台中的隐私性,需要通过零知识证明来解决跨账本交易问题,但本发明的发明人发现目前并没有行之有效的方法解决该问题。
发明内容
本发明实施例提供一种跨账本交易方法及装置,能够在***露交易具体数值的情况下,进行全同态校验的零知识证明来验证跨账本交易的合规性,从而保证交易成功,有利于跨账本交易过程的安全与隐私。
第一方面,本发明提供了一种跨账本交易方法,该方法包括:
交易请求装置生成第一账户与第二账户之间的交易信息,所述交易信息包括兑换率密文、第一账本交易份额密文、第二账本交易份额密文、第二账本未校正交易份额密文以及第二账本校正参数的数字签名;其中,所述第二账本未校正交易份额密文为所述交易请求装置对所述第一账本交易份额密文与所述兑换率密文进行双线性映射得到的密文;
所述交易请求装置向交易处理装置发送所述交易信息,以使所述交易处理装置将所述第二账本校正参数作为公钥检验所述第二账本校正参数的数字签名,并根据所述兑换率密文与所述第一账本交易份额密文的双线性映射检验所述第二账本未校正交易份额密文,并在所述第二账本校正参数的数字签名检验成功以及所述第二账本未校正交易份额密文检验成功的情况下,更新所述第一账户的账本余额密文和所述第二账户的账本余额密文,所述第二账本校正参数为所述交易处理装置根据所述第二账本交易份额密文与所述第二账本未校正交易份额密文计算得到的参数。
第二方面,本发明提供了一种跨账本交易方法,该方法包括:
交易处理装置接收交易请求装置发送的第一账户与第二账户之间的交易信息,所述交易信息包括兑换率密文、第一账本交易份额密文、第二账本交易份额密文、第二账本未校正交易份额密文以及第二账本校正参数的数字签名;
所述交易处理装置根据所述第二账本交易份额密文与所述第二账本未校正交易份额密文计算得到所述第二账本校正参数;将所述第二账本校正参数作为公钥,检验所述第二账本校正参数的数字签名;
所述交易处理装置根据所述兑换率密文与所述第一账本交易份额密文的双线性映射,检验所述第二账本未校正交易份额密文;
在检验所述第二账本校正参数的数字签名成功、检验所述第二账本未校正交易份额密文成功的情况下,所述交易处理装置更新所述第一账户的账本余额密文和所述第二账户的账本余额密文。
第三方面,本发明提供一种交易请求装置,该装置包括:
生成单元,用于生成第一账户与第二账户之间的交易信息,所述交易信息包括兑换率密文、第一账本交易份额密文、第二账本交易份额密文、第二账本未校正交易份额密文以及第二账本校正参数的数字签名;其中,所述第二账本未校正交易份额密文为所述交易请求装置对所述第一账本交易份额密文与所述兑换率密文进行双线性映射得到的密文;
发送单元,用于向交易处理装置发送所述交易信息,以使所述交易处理装置将所述第二账本校正参数作为公钥检验所述第二账本校正参数的数字签名,并根据所述兑换率密文与所述第一账本交易份额密文的双线性映射检验所述第二账本未校正交易份额密文,并在所述第二账本校正参数的数字签名检验成功以及所述第二账本未校正交易份额密文检验成功的情况下,更新所述第一账户的账本余额密文和所述第二账户的账本余额密文,所述第二账本校正参数为所述交易处理装置根据所述第二账本交易份额密文与所述第二账本未校正交易份额密文计算得到的参数。第四方面,本发明提供一种交易处理装置,该装置包括用于执行如第二方面所述的方法的单元。
第四方面,本发明提供一种交易请求装置,该装置包括:
接收单元,用于交易请求装置发送的第一账户与第二账户之间的交易信息;
计算单元,用于根据所述第二账本交易份额密文与所述第二账本未校正交易份额密文计算得到所述第二账本校正参数;
签名检验单元,用于将所述第二账本校正参数作为公钥,检验所述第二账本校正参数的数字签名;
密文检验单元,用于根据所述兑换率密文与所述第一账本交易份额密文的双线性映射,检验所述第二账本未校正交易份额密文;
更新单元,在检验所述第二账本校正参数的数字签名成功、检验所述第二账本未校正交易份额密文成功的情况下,更新所述第一账户的账本余额密文和所述第二账户的账本余额密文。
第五方面,本发明提供一种交易处理装置,该装置包括处理器、存储器以及收发器,所述处理器、存储器和收发器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如第一或二方面所述的方法。
第六方面,本发明提供一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如第一或二方面所述的方法。
通过实施本发明实施例,交易请求装置生成交易信息并发送给交易处理装置后,交易处理装置通过检验所述第二账本校正参数的数字签名成功以及检验所述第二账本未校正交易份额密文,确定第一账户与第二账户之间的跨账本交易的合规性,从而更新账本余额密文。可以看出,本发明实施例能够在***露交易具体数值的情况下进行全同态校验的零知识证明,从而保证交易成功,有利于跨账本交易过程的安全与隐私。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种跨账本交易方法的***架构图;
图2是本发明实施例提供的一种跨账本交易方法的流程示意图;
图3是本发明实施例提供的另一种跨账本交易方法的流程示意图;
图4是本发明实施例提供的一种交易请求装置的结构示意图;
图5是本发明实施例提供的一种交易处理装置的结构示意图;
图6是本发明实施例提供的另一种交易请求装置的结构示意图;
图7是本发明实施例提供的另一种交易处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
下面描述本发明实施例的***架构。参见图1,本发明实施例***架构包括交易发起装置、交易接收装置、交易处理装置。
交易发起装置主要用于生成待确认交易信息,并将所述待确认交易信息发送给交易接收装置确认;以及对两个账本的交易份额密文进行数字签名,从而确认交易。
交易接收装置主要用于接收交易发起装置发送的待确认交易信息后,对第一账本交易份额与第二账本交易份额进行确认,并对两个账本的交易份额密文进行数字签名以确认交易。
其中,交易发起装置对应第一账户(即交易发起装置对应的用户的账户),交易接受装置对应第二账户(即交易接收装置对应的用户的账户)。在同一账户中包括一个或多个账本,所述账本为数字资产的账本,例如港币、人民币、美元或欧元等。需要说明的是,在本发明实施例中为了方便说明,交易请求装置包括交易发起装置、交易接收装置;换句话说,在涉及交易请求装置的步骤中,该步骤可以是交易发起装置单独执行的,也可以是交易接收装置单独执行的,还可以是交易发起装置和交易接收装置合作执行的,这里不作具体限定。
交易处理装置主要用于接收交易请求装置发送的交易信息后,通过全同态校验验证交易信息,并更新第一账户与第二账户的账本余额密文。
请参阅图2,图2是本发明实施例提供的一种跨账本交易方法的流程示意图。首先介绍本方法实施例方案的基础知识,主要涉及双线性映射与加密算法:
双线性:对于任意的g1∈G1;g2∈G2;a,b∈Zp,均有e(g1^a,g2^b)=e(g1,g2)^ab成立。其中,e称为双线性映射。
加密算法:具有加法同态特性,即R和S是域,加密算法E:R→S具有加法同态特性,则如果存在有效算法⊕,E(x+y)=E(x)⊕E(y)或者x+y=D(E(x)⊕E(y))成立;且该加密算法加密后得到的值可以作为双线性映射中的参数(输入因子),即e(g1^a,g2^b)中的g1^a或g2^b。
该跨账本交易方法包括但不限于以下步骤:
S201,交易发起装置确定兑换率、第一账本交易份额、第二账本交易份额、兑换率密钥、第一账本交易份额密钥。
本发明实施例中,第一账本交易份额为用于兑换的第一账本中数字资产的份额,第二账本交易份额为兑换的第二账本中数字资产的份额,兑换率为第一账本指示的货币兑换第二账本指示的数字资产的比率。举例来说,第一账本指示的数字资产为人民币,第二账本指示的数字资产为美元,兑换率为将单位数量的人民币兑换美元的数量。即,公式1:第二账本交易份额=第一账本交易份额*兑换率;或者,兑换率=第二账本交易份额/第一账本交易份额。
交易发起装置可以接收用户设置的兑换率、第一账本交易份额、第二账本交易份额中的任意两个,并根据公式1得到另一个;也可以接受用户设置的兑换率、第一账本交易份额以及第二账本交易份额,不作限定。
交易发起装置在确定兑换率、第一账本交易份额、第二账本交易份额后,生成在加密算法中用于对兑换率加密的兑换率密钥、用于对第一账本交易份额加密的第一账本交易份额密钥。
S202,交易发起装置确定兑换率密文、第一账本交易份额密文、第二账本未校正交易份额密文、第二账本交易份额密文、第二账本交易份额密钥、第二账本校正参数的数字签名。
本发明实施例中,交易发起装置根据加密算法与兑换率密钥对兑换率加密得到所述兑换率密文。可选地,交易发起装置在生成兑换率密文后向交易处理装置发送兑换率密文,以使交易处理装置录入所述兑换率密文。
交易发起装置根据加密算法与第一账本交易份额密钥对第一账本交易份额加密得到所述第一账本交易份额密文。
在得到兑换率密文以及第一账本交易份额密文之后,交易发起装置对所述第一账本交易份额密文与所述兑换率密文进行双线性映射得到第二账本未校正交易份额密文。
本发明实施例中,经加密算法得到的值具有独特的形式,而两个密文经双线性映射得到的值在所述形式之上多出一部分(定义为未校正部分,或校正参数)。例如两个密文分别是S1=f(a,m)、S2=f(b,n),其中,f为加密算法,a、b为原文,m、n为密钥;而两个密文经双线性映射的值S’=f(x,y)☉c,其中,x=a*b,☉为存在的有效算法,c为矫正参数。则将y定义为x的密钥,f(x,y)定义为x的密文,c定义为S’相对于f(x,y)的校正参数。
所以,交易发起装置可以根据加密算法、兑换率、兑换率密钥、第一账本交易份额及第一账本交易份额密文计算得到第二账本交易份额密钥、第二账本校正参数。然后,根据第二账本未校正交易份额密文与第二账本校正参数计算得到第二账本交易份额密文。
在得到第二账本校正参数之后,对第二账本校正参数进行加密得到第二账本校正参数的数字签名,需要说明的是所述数字签名的验签公钥为第二账本校正参数。可选地,所述数字签名的签名私钥为兑换率密钥与第一账本交易份额密钥的乘积。
S203,交易发起装置向交易接收装置发送第一账本交易份额、第一账本交易份额密钥、第二账本交易份额、第二账本交易份额密钥、第二账本未校正交易份额密文、第二正本校正参数的数字签名。
本发明实施例中,第一账本交易份额、第一账本交易份额密钥、第二账本交易份额、第二账本交易份额密钥、第二账本未校正交易份额密文、第二正本校正参数的数字签名为待确认交易信息,用于供交易接收装置确认。
S204,交易接收装置确认第一账本交易份额、第二账本交易份额,计算得到第一账本交易份额密文、第二账本交易份额密文,并生成第二账户的第一账本交易份额密文的数字签名、第二账户的第二账本交易份额密文的数字签名。
本发明实施例中,交易接收装置接收到交易发起装置发送的待确认交易信息后,对第一账本交易份额、第二账本交易份额进行确认。在一具体实施例中,交易接收装置根据公式1得到兑换率,并将第一账本交易份额、第二账本交易份额、兑换率中的任意两个或全部显示给用户进行确认。可选地,若交易发起装置在步骤S202未向交易处理装置发送兑换率密文,则在步骤S203中交易发起装置发送的待确认交易信息中还包括兑换率、兑换率密钥。从而在本步骤中,交易接收装置可以不经过计算将兑换率显示给用户确认。
在确认第一账本交易份额、第二账本交易份额之后,交易接收装置根据加密算法与第一账本交易份额密钥对第一账本交易份额加密得到第一账本交易份额密文,根据加密算法与第二账本交易份额密钥对第二账本交易份额加密得到第二账本交易份额密文。然后,交易接收装置对第一账本交易份额密文使用第二账户的第一账本私钥进行数字签名,得到第二账户的第一账本交易份额密文的数字签名;对第二账本交易份额密文使用第二账户的第二账本私钥进行数字签名,得到第二账户的第二账本交易份额密文的数字签名。
S205,交易发起装置生成第一账户的第一账本交易份额密文的数字签名、第一账户的第二账本交易份额密文的数字签名。
本发明实施例中,交易发起装置对第一账本交易份额密文使用第一账户的第一账本私钥进行数字签名,得到第一账户的第一账本交易份额密文的数字签名;对第二账本交易份额密文使用第一账户的第二账本私钥进行数字签名,得到第一账户的第二账本交易份额密文的数字签名。
需要说明的是,在步骤S204与步骤S205中的对第一账本交易份额密文、第二账本交易份额密文进行的数字签名中,交易处理装置已录入第一账户的第一账本公钥、第一账户的第二账本公钥、第二账户的第一账本公钥及第二账户的第二账本公钥,或者交易处理装置通过数字证书获得第一账户的第一账本公钥、第一账户的第二账本公钥、第二账户的第一账本公钥及第二账户的第二账本公钥,在此不作限定。
S206,交易发起装置向交易接收装置发送第一账户的第一账本交易份额密文的数字签名、第一账户的第二账本交易份额密文的数字签名;交易接收装置向交易发起装置发送第二账户的第一账本交易份额密文的数字签名、第二账户的第二账本交易份额密文的数字签名。
本发明实施例中,第一账户与第二账户的第一账本交易份额密文的数字签名、第二账本交易份额密文的数字签名分别用于说明交易发起装置与交易接收装置确认交易,并存储有所述交易的交易信息,即兑换率密文、第一账本交易份额密文、第二账本交易份额密文、第二账本未校正交易份额密文以及第二账本校正参数的数字签名。需要说明的是,若交易发起装置在步骤S202向交易处理装置已发送兑换率密文,则在本步骤以及后续步骤中的交易信息可不包括兑换率密文。
进一步地,交易发起装置与交易接收装置互相发送自身生成的两个账本交易份额的数字签名,以保证交易双方存储有对方的对所述交易的确认信息。需要说明的是,交易发起装置生成并向交易接收装置发送第一账户的第一账本交易份额密文的数字签名、第一账户的第二账本交易份额密文的数字签名可以在步骤204之前,也可以在步骤204之后,在此不作具体限定。
S207,交易发起装置或交易接收装置向交易处理装置发送交易信息。
本发明实施例中,在交易发起装置和交易接收装置通过数字签名确认交易后,交易请求装置向交易处理装置发送交易信息。换句话说,可以是交易发起装置向交易处理装置发送交易信息;也可以是交易接收装置向交易处理装置发送交易信息;还可以是交易发起装置向交易处理装置发送一部分交易信息,交易接收装置向交易处理装置发送另一部分交易信息,在此不作具体限定。
S208,交易处理装置检验第一账户的第一账本交易份额密文的数字签名、第一账户的第二账本交易份额密文的数字签名、第二账户的第一账本交易份额密文的数字签名、第二账户的第二账本交易份额密文的数字签名。
本发明实施例中,交易处理装置通过第一账户的第一账本公钥、第一账户的第二账本公钥、第二账户的第一账本公钥及第二账户的第二账本公钥分别检验第一账本交易份额密文的数字签名、第一账户的第二账本交易份额密文的数字签名、第二账户的第一账本交易份额密文的数字签名、第二账户的第二账本交易份额密文的数字签名,从而确定交易发起装置与交易接收装置确认所述交易。
S209,交易处理装置检验第二账本校正参数的数字签名,检验第二账本未校正交易份额密文。
本发明实施例中,交易处理装置根据第二账本未校正交易份额密文与第二账本交易份额密文,计算得到第二账本校正参数;然后,将计算得到的第二账本校正参数作为验签公钥检验第二账本校正参数的数字签名。若检验成功,则表示第二账本未校正交易份额密文与第二账本交易份额密文的关系是未校正部分(即第二账本校正参数),从而第二账本未校正交易份额密文保护的第二账本交易份额的与第二账本交易份额密文保护的第二账本交易份额相同,即第二账本交易份额未被更改。
本发明实施例中,交易处理装置对第一账本交易份额密文与兑换率密文进行双线性映射,通过所述双线性映射得到的值检验第二账本未校正交易份额密文。若检验成功,则表示第二账本交易份额密文保护的兑换率与兑换率密文保护的兑换率相同,即兑换率未被更改。
应理解,通过公式1可知在第二账本交易份额、兑换率未被更改的情况下第一账本交易份额同样未被更改,即第一账户与第二账户的交易信息合法。
S210,交易处理装置更新第一账户的账本余额密文和第二账户的账本余额密文。
本发明实施例中,交易处理装置检验第二账本校正参数的数字签名成功,检验第二账本未校正交易份额密文成功后,根据第一账本交易份额密文与第二账本交易份额密文分别更新第一账户的账本余额密文、第二账户的账本交易密文。由于加密算法具有加法同态特性,在原文为加减运算时原文对应的密文存在有效算法进行运算。为了方便说明,定义原文运算的“+”对应密文运算的“⊕”,原文运算的“-”对应密文运算的“Θ”。
在跨账本转账交易场景中,交易发起装置将第一账户的第一账本中的交易份额转给交易接收装置对应的第二账户的第二账本中,从而现第一账户的第一账本余额=原第一账户的第一账本余额-第一账本交易份额;现第二账户的第二账本余额=原第二账户的第二账本余额+第二账本交易份额。
对应地,交易处理装置更新账本余额密文:现第一账户的第一账本余额密文=原第一账户的第一账本余额密文Θ第一账本交易份额密文;现第二账户的第二账本余额密文=原第二账户的第二账本余额密文⊕第二账本交易份额密文。
在跨账本兑换交易场景中,交易发起装置使用第一账户的第一账本中的交易份额兑换交易接收装置对应的第二账户的第二账本的交易份额,从而现第一账户的第一账本余额=原第一账户的第一账本余额-第一账本交易份额;现第一账户的第二账本余额=原第一账户的第二账本余额+第二账本交易份额;现第二账户的第一账本余额=原第二账户的第一账本余额+第一账本交易份额;现第二账户的第二账本余额=原第二账户的第二账本余额-第二账本交易份额。
对应地,交易处理装置更新账本余额密文:现第一账户的第一账本余额密文=原第一账户的第一账本余额密文Θ第一账本交易份额密文;现第一账户的第二账本余额密文=原第一账户的第二账本余额密文⊕第二账本交易份额密文;现第二账户的第一账本余额密文=原第二账户的第一账本余额密文⊕第一账本交易份额密文;现第二账户的第二账本余额密文=原第二账户的第二账本余额密文Θ第二账本交易份额密文。
进一步地,在交易成功的情况下,交易发起装置更新第一账户的账本余额以及账本余额密钥,交易接收装置更新第二账户的账本余额以及账本余额密钥。其中,交易发起装置更新第一账户的账本余额、交易接收装置更新第二账户的账本余额请参考前述交易场景中的具体说明。在本发明实施例中,加密算法中的密钥同样存在有效算法进行对应原文加减运算的同态运算,可参考前述密文对应原文的同态运算方式,这里不再详述。在密钥更新过程中,交易发起装置根据所述密钥同态运算更新第一账户的第一账本与第二账本的账本余额密钥,交易发起装置根据所述密钥同态运算更新第二账户的第一账本与第二账本的账本余额密钥。
通过实施本发明实施例,交易请求装置生成交易信息并发送给交易处理装置后,交易处理装置通过检验所述第二账本校正参数的数字签名成功以及检验所述第二账本未校正交易份额密文,确定第一账户与第二账户之间的跨账本交易的合规性,从而更新账本余额密文。可以看出,本发明实施例能够在***露交易具体数值的情况下进行全同态校验的零知识证明,从而保证交易成功,有利于跨账本交易过程的安全与隐私。
请参阅图3,图3是本发明实施例提供的另一种跨账本交易方法的流程示意图。在阅读本发明实施例过程中,部分内容可参考前述图2实施例中的相关说明,在此不再详述。下面先介绍本方法实施例方案的基础知识,主要涉及离散对数与佩德森承诺(PedersenCommitment)加密算法的特性:
离散对数:在离散对数问题的运算中存在h=g^n,其中,g是基,由于离散对数问题的复杂性,无法在知道h和g的情况下计算出n的值。可选地,所述运算环境为基于椭圆曲线上的运算。
佩德森承诺加密算法:在离散对数问题的运算环境下,a为原文,x为密钥,对a加密后的密文a’=g^a*h^x,其中,g与h各代表一个基,h=g^n。佩德森承诺算法具有加法同态特性并可以作为双线性映射公式中的参数(输入因子)。
下面对本方法实施例的背景进行介绍:
本实施例涉及第三方平台、区块链网络,其中,第三方平台可以是云端服务器、分布式***等。需要说明的是,本实施例中的第三方平台或区块链网络对应图2实施例中的交易处理装置。
在第三方平台或区块链网络存储有3个基,分别是g,h,i。g是公共参数,h和i是可信第三方设置并上传至第三方平台或区块链网络中的。具体地,可信第三方生成一个随机数α,并基于预先设置的基g,通过h=g^α,i=h^α=g^αα得到h与i。当第三方平台或区块链网络接收到三个基后,通过双线性映射的特性判断是否得到e(i,g)=e(h,h)(注:e(i,g)=e(g^αα,g)=e(h,h)=e(g^α,g^α)=e(g,g)^αα),从而确定这三个基是通过同一α进行设置的。
每一个用户的每一个账本都拥有余额、密钥以及余额密文,值得说明的是,余额密文为通过前述佩德森承诺加密算法使用密钥对余额加密得到。其中,余额及密钥为用户终端存储的,换句话说,余额及密钥只有用户自己知道。余额密文是发送至区块链网络中公开的,但由于是密文所以只有用户通过密钥才能解密得到密文中所指示的余额。
具体地,本实施例为方便说明将用户侧装置简称为发起方与接收方,发起方与接收方可以是智能手环、智能手表、便携式数字播放器、智能手机、掌上电脑、平板电脑、笔记本电脑、台式电脑等,不作限定。需要说明的是,本实施例中的发起方对应图2实施例中的交易发起装置,本实施例中的接收方对应图2实施例中的交易接收装置。
发起方与接收方各自拥有两个账本,分别是发起方第一账本、发起方第二账本、接收方第一账本、接收方第二账本,其中第一账本与第二账本分别代表两个不同数字资产的账本。请参考表1,表1是相关信息的字符对照表。
表1
Figure GDA0004094022470000121
其中,ax1=g^a1*h^x1;ax2=g^a2*h^x2;by1=g^b1*h^y1;by2=g^b2*h^y2。
接下来对本发明实施例进行详细说明,该跨账本交易方法包括:
S301:发起方确定兑换率。
具体地,发起方生成兑换率,所述兑换率可以是发起方设置的,也可以是接收方确定并通过与发起方通信进行设置的,还可以是由发起方与接收方通信从而协商设置的。另外,所述兑换率可以通过可信第三方进行设置,例如将银行发布的两种货币之间的汇率作为本实施例所用到的兑换率。可选地,确定兑换率后生成所述兑换率的密钥,通过所述兑换率与所述兑换率密钥得到兑换率密文,并上传至第三方平台或区块链网络中。
S302:发起方确定第一账本交易份额。
本发明实施例中,发起方终端接收用户输入的第一账本交易份额、兑换率;或者,接收用户输入的第一账本交易份额、第二账本交易份额并依据前述图2实施例中的公式1得到兑换率;或者,接收用户输入的第二账本交易份额、兑换率从而依据上述公式1得到第一账本交易份额。优选地,兑换率在步骤S301时被设置,发起方根据第一账本交易份额,兑换率,得到第二账本交易份额。
S303:发起方生成第一账本交易份额密钥与兑换率密钥。可选的,兑换率密钥在步骤S301时设置。
S304:发起方通过第一账本交易份额、第一账本交易密钥、兑换率和兑换率密钥,得到第一账本交易份额密文、兑换率密文、第二账本交易份额、第二账本交易份额密钥、第二账本交易份额密文、第二账本未校正交易份额密文、第二账本校正参数的数字签名。
请参考表2,表2是相关信息的字符对照表。
表2
Figure GDA0004094022470000131
a)通过兑换率和兑换率密钥,得到兑换率密文。
具体地,根据佩德森承诺加密算法,计算得到兑换率密文,即er=g^e*h^r。优选的,兑换率密文可以在步骤S301中预先设定并上传至第三方平台或区块链网络中。
b)通过第一账本交易份额和第一账本交易份额密钥,得到第一账本交易份额密文。
具体地,根据佩德森承诺加密算法,计算得到第一账本交易份额密文,即tz1=g^t1*h^z1。
c)通过第一账本交易份额和兑换率,得到第二账本交易份额。
具体地,若在步骤S301中用户输入第一账本交易份额和兑换率,则基于公式1执行本步骤计算得到第二账本交易份额,即t2=t1*e。若在步骤S301中用户输入第一账本交易份额与第二账本交易份额(或者第二账本交易份额与兑换率),由于接收方已经得到第二账本交易份额则不执行本步骤。
d)通过第一账本交易份额密文和兑换率密文,得到第二账本未校正交易份额密文。
具体地,对第一账本交易份额密文和兑换率密文进行双线性映射得到第二账本未校正交易份额密文,该双线性映射代表第一账本交易份额密文和兑换率密文的“乘积”的数值。第二账本未校正交易份额密文和基g在双线性映射公式计算得出来的数值等于第一账本交易份额密文和兑换率密文在双线性映射公式计算得出来的数值。在本实施例中使用的双线性映射的公式为:e(g^a,g^b)=(g^a)^b=g^ab。进一步的,第一账本交易份额密文tz1=g^t1*h^z1=g^(e+αr),兑换率密文er=g^e*h^r=g^(t1+αz1),则计算得到的第二账本未校正交易份额密文t2m=e(er,tz1)=[g^(e+αr)]^(t1+αz1)=g^et1*g^αez1*g^αrt1*g^ααrz1=g^et1*h^(ez1+rt1)*i^rz1。
e)通过第二账本交易未校正交易份额密文、第一账本交易份额密钥和兑换率密钥,得到第二账本交易份额密文。
具体地,由于第二账本未校正交易份额密文t2m=g^et1*h^(ez1+rt1)*i^rz1,所以第二账本校正参数是以i为基的数,第二账本校正参数tc=i^rz1。即,通过第一账本交易份额密钥和兑换率密钥,可得到第二账本校正参数。再通过第二账本校正参数和第二账本未校正交易份额密文,得到第二账本交易份额密文,即tz2=t2m/tc=g^et1*h^(ez1+rt1)。
f)基于第二账本交易份额密文,得到第二账本交易份额密钥。
具体地,由于第二账本交易份额密文tz2=g^et1*h^(ez1+rt1)=g^et1*h^z2,所以第二账本交易份额密钥z2=ez1+rt1。即,通过第一账本交易份额、第一账本交易份额密钥、兑换率、兑换率密钥,可得到第二账本交易份额密钥。
g)对第二账本校正参数进行数字签名,得到第二账本校正参数的数字签名。
具体地,将兑换率密钥和第一账本交易份额密钥的乘积rz1作为签名私钥,将第二账本校正参数本身tc=i^rz1作为验签公钥,对第二账本校正参数tc进行数字签名,从而得到第二账本校正参数的数字签名。其中,第二账本校正参数的数字签名用于验证第二账本交易份额和第二账本交易份额密钥在第二账本未校正交易份额密文和第二账本交易份额密文中是相同的。
S305:发起方将第一账本交易份额、第一账本交易份额密钥、第二账本交易份额、第二账本交易份额密钥发送给接收方,接收方根据第一账本交易份额与第二账本交易份额确认交易。
具体地,接收方基于发起方发送的第一账本交易份额与第二账本交易份额,得到兑换率。若接收方的用户确认第一账本交易份额、第二账本交易份额及兑换率中的任意两个或全部从而同意所述交易,则接收方通过第一账本交易份额、第一账本交易份额密钥、第二账本交易份额、第二账本交易份额密钥,得到第一账本交易份额密文与第二账本交易份额密文。
接收方对所述第一账本交易份额密文使用接收方第一账本私钥进行数字签名,得到接收方第一账本交易份额密文的数字签名;对所述第二账本交易份额密文使用接收方第二账本私钥进行数字签名,得到接收方第二账本交易份额密文的数字签名。另外,发起方也对所述第一账本交易份额密文使用发起方第一账本私钥进行数字签名,得到发起方第一账本交易份额密文的数字签名;对所述第二账本交易份额密文使用发起方第二账本私钥进行数字签名,得到发起方第二账本交易份额密文的数字签名。需要说明的是,接收方第一账本公钥、接收方第二账本公钥、发起方第一账本公钥、发起方第二账本公钥预先存入第三方平台或区块链网络中。
S306:发起方或接收方将交易信息发送至第三方平台或区块链网络中。
具体地,发起方和接收方通过互相通信各自存储第二账本未校正交易份额密文、第二账本校正参数的数字签名、发起方第一账本交易份额密文的数字签名、发起方第二账本交易份额密文的数字签名、接收方第一账本交易份额密文的数字签名、接收方第二账本交易份额密文的数字签名。
进一步地,发起方或接收方将包含有第一账本交易份额密文、第二账本交易份额密文、第二账本未校正交易份额密文、第二账本校正参数的数字签名、发起方第一账本交易份额密文的数字签名、发起方第二账本交易份额密文的数字签名、接收方第一账本交易份额密文的数字签名、接收方第二账本交易份额密文的数字签名的交易信息发送至第三方平台或区块链网络中。
S307:第三方平台或区块链网络检验所述交易信息。
具体地,第三方平台或区块链网络通过接收方第一账本公钥、接收方第二账本公钥、发起方第一账本公钥、发起方第二账本公钥,验证发起方第一账本交易份额密文的数字签名、发起方第二账本交易份额密文的数字签名、接收方第一账本交易份额密文的数字签名、接收方第二账本交易份额密文的数字签名,从而确定所述交易信息为发起方与接收方确认后的交易信息。
第三方平台或区块链网络检验第二账本交易份额的一致性。首先,第三方平台或区块链网络通过第二账本交易份额密文和第二账本未校正交易份额密文,得到第二账本校正参数,即tc=t2m/tz2=i^rz1。然后,将第二账本校正参数tc作为验签公钥检验第二账本校正参数的数字签名i_sig,从而确定第二账本交易份额没有被更改,第二账本交易份额密文和第二账本未校正交易份额密文所保护的交易份额相同。
第三方平台或区块链网络基于双线性映射检验兑换率的一致性。
由于e(tz1,er)=e(g^t1*h^z1,g^e*h^r)
=e(g^t1*g^αz1,g^e*g^αr)
=e(g^(t1+αz1),g^(e+αr))
=e(g,g)^[(t1+αz1)*(e+αr)]
=e(g,g)^(et1+αez1+αrt1+ααrz1);
e(t2m,g)=e(g^et1*h^(ez1+rt1)*I^rz1,g)
=e(g^et1*g^α(ez1+rt1)*g^ααrz1,g)
=e(g^(et1+αez1+αrt1+ααrz1),g)
=e(g,g)^(et1+αez1+αrt1+ααrz1)
所以,通过验证e(tz1,er)与e(t2m,g)相等,则可以确定兑换率密文与第二账本未校正隐私交易份额密文中所保护的兑换率相等,没有被更改。需要说明的是,若发起方没有提前将兑换率密文通过智能合约发送至第三方平台或区块链网络中,则在发起方或接收方发送交易信息至第三方平台或区块链网络中时,所述交易信息包含所述兑换率密文。
可以看出,通过双线性映射得到的第二账本未校正交易份额密文t2m=e(er,tz1)=g^et1*h^(ez1+rt1)*i^rz1,既包含了第二账本交易份额的信息,又包含了兑换率的信息。将该第二账本未校正交易份额密文作为判定标准,结合第二账本校正参数的数字签名可以验证第二账本交易份额,结合兑换率密文可以验证兑换率,有效地防止了交易信息在交易过程中被更改,提供交易过程的隐私性与安全性。同时,所述交易信息通过密文的形式包含了不同账本间的交易份额,有效解决了基于数字数字签名的同账本接收方法不能应用于跨账本交易的难题。
S308:第三方平台或区块链网络更新所述交易信息。
具体地,基于佩德森承诺加密算法将发起方与接收方的第一账本及第二账本的余额密文更新。即:
发起方第一账本余额密文ax1’=ax1/tz1=(g^a1*h^x1)/(g^t1*h^z1)=g^(a1-t1)*h^(x1-z1);
接收方第一账本余额密文by1’=by1*tz1=(g^b1*h^y1)*(g^t1*h^z1)=g^(b1+t1)*h^(y1+z1);
发起方第二账本余额密文ax2’=ax2*tz2=(g^a2*h^x2)*(g^t2*h^z2)=g^(a2+t2)*h^(x2+z2);
接收方第二账本余额密文by2’=by2/tz2=(g^b2*h^y2)/(g^t2*h^z2)=g^(b2-t2)*h^(y2-z2)。
需要说明的是,在步骤S308与步骤S309中交易信息的检验与余额密文的更新可以是区块链网络上的智能合约,也可以是部署在第三方平台上的运行程序。
进一步地,发起方与接收方在交易后各自更新第一账本及第二账本的余额与余额密钥。即:发起方第一账本余额a1’=a1-t1,发起方第一账本余额密钥x1’=x1-z1;发起方第二账本余额a2’=a2+t2,发起方第二账本余额密钥x2’=x2+z2;接收方第一账本余额b1’=b1+t1,接收方第一账本余额密钥y1’=y1+z1;接收方第二账本余额b2’=b2-t2;接收方第二账本余额密钥y2’=y2-z2。
可以看出,交易信息公开在区块链网络、云端服务器、分布式***等公共环境中,任何第三方都可以在无法解密账本信息和兑换率信息的条件下检验发起方与接收方之间的跨账本交易的合规性,不仅保护了账本信息和兑换率信息的隐私性,又保护了发起方与接收方之间的不能被篡改的交易,有效地执行了跨账本交易。
基于同一发明构思,本发明实施例提供了一种交易请求装置,参见图4,所述装置至少包括生成单元401及发送单元402,所述交易请求装置用于实现图2、图3方法实施例所描述的跨账本交易方法。
生成单元401,用于生成第一账户与第二账户之间的交易信息。
发送单元402,用于向交易处理装置发送所述交易信息。
可选地,所述兑换率密文为所述交易请求装置根据加密算法与兑换率密钥对兑换率加密得到的密文;和/或,所述第一账本交易份额密文为所述交易请求装置根据加密算法与第一账本交易份额密钥对第一账本交易份额加密得到的密文。
可选地,所述交易请求装置为交易接收装置;所述第二账本交易份额密文为所述交易接收装置根据加密算法与第二账本交易份额密钥对第二账本交易份额加密得到的密文。
可选地,所述交易请求装置为交易发起装置;所述第二账本交易份额密文为所述交易发起装置根据所述第二账本未校正交易份额密文与所述第二账本校正参数计算得到的密文。
可选地,所述加密算法具有加法同态特性。
可选地,所述第二账本校正参数的数字签名为所述交易请求装置以第一账本交易份额密钥与兑换率密钥的乘积作为私钥,以所述第二账本校正参数作为公钥,对所述第二账本校正参数加密得到的数字签名。
可选地,所述交易信息还包括第一账户的第一账本交易份额密文的数字签名、第一账户的第二账本交易份额密文的数字签名、第二账户的第一账本交易份额密文的数字签名、第二账户的第二账本交易份额密文的数字签名。
可选地,所述交易请求装置为交易发起装置;发送单元402还用于向交易接收装置发送所述第一账本交易份额、所述第一账本交易份额密钥、所述第二账本交易份额、所述第二账本交易份额密钥、所述第二账本未校正交易份额密文、所述第二账本校正参数的数字签名;所述交易请求装置还包括接收单元,用于接收所述交易接收装置在确认所述第一账本交易份额与所述第二账本交易份额的情况下发送的所述第二账户的第一账本交易份额密文的数字签名、所述第二账户的第二账本交易份额密文的数字签名。
可选地,所述交易请求装置为交易接收装置;所述交易请求装置还包括接收单元,用于接收交易发起装置发送的所述第一账本交易份额、所述第一账本交易份额密钥、所述第二账本交易份额、所述第二账本交易份额密钥、所述第二账本未校正交易份额密文、所述第二账本校正参数的数字签名;生成单元401还用于在确认所述第一账本交易份额与所述第二账本交易份额的情况下,生成所述第二账户的第一账本交易份额密文的数字签名、所述第二账户的第二账本交易份额密文的数字签名;发送单元402还用于向所述交易发起装置发送所述第一账本交易份额密文的数字签名、所述第二账户的第二账本交易份额密文的数字签名。
需要说明的,通过前述图2、图3方法实施例的详细描述,本领域技术人员可以清楚地知道交易请求装置所包含的各个单元的实现方法,所以为了说明书的简洁,在此不再赘述。
基于同一发明构思,本发明实施例提供了一种交易处理装置,参见图5,所述装置至少包括接收单元501、计算单元502、签名检验单元503、密文检验单元504、更新单元505,所述交易处理装置用于实现图2、图3方法实施例所描述的跨账本交易方法。
接收单元501,用于交易请求装置发送的第一账户与第二账户之间的交易信息。
计算单元502,用于根据所述第二账本交易份额密文与所述第二账本未校正交易份额密文计算得到所述第二账本校正参数。
签名检验单元503,用于将所述第二账本校正参数作为公钥,检验所述第二账本校正参数的数字签名。
密文检验单元504,用于根据所述兑换率密文与所述第一账本交易份额密文的双线性映射,检验所述第二账本未校正交易份额密文。
更新单元505,在检验所述第二账本校正参数的数字签名成功、检验所述第二账本未校正交易份额密文成功的情况下,更新所述第一账户的账本余额密文和所述第二账户的账本余额密文。
可选地,所述交易信息还包括第一账户的第一账本交易份额密文的数字签名、第一账户的第二账本交易份额密文的数字签名、第二账户的第一账本交易份额密文的数字签名、第二账户的第二账本交易份额密文的数字签名;所述签名检验单元,还用于检验所述第一账户的第一账本交易份额密文的数字签名、所述第一账户的第二账本交易份额密文的数字签名、所述第二账户的第一账本交易份额密文的数字签名、所述第二账户的第二账本交易份额密文的数字签名。
需要说明的,通过前述图2、图3方法实施例的详细描述,本领域技术人员可以清楚地知道交易处理装置所包含的各个单元的实现方法,所以为了说明书的简洁,在此不再赘述。
基于同一发明构思,本发明实施例还提供一种交易请求装置,参见图6,所述终端用于实现图2、图3方法实施例所描述的跨账本交易方法。如图6所示,所述终端可包括:处理器601、存储器602、收发器603。这些部件可在一个或多个通信总线604上进行通信。所述终端还可以包括输入输出***605、电源模块606。
所称处理器601可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器602可以包括只读存储器和随机存取存储器,并向处理器601提供指令和数据。存储器602的一部分还可以包括非易失性随机存取存储器。另外,存储器602还可以存储设备类型的信息。
所述收发器603主要用于与其它装置进行数据通信;可以包括一个接收器和一个发送器,例如,无线射频模块,以下描述的处理器601接收或者发送某个消息,具体可以理解为该处理器601通过该收发器来接收或者发送。
所述输入输出***605主要用于接收用户输入指令以及显示相关信息。所述电源模块606主要用于为设备中的其它装置提供稳定的电源。
本发明实施例中,所述处理器601用于调用所述存储器602中所存储的指令,并执行以下步骤:生成第一账户与第二账户之间的交易信息;向交易处理装置发送所述交易信息。
需要说明的,通过前述图2或图3方法实施例的详细描述,本领域技术人员可以清楚地知道交易请求装置所包含的各个功能器件的实现方法,所以为了说明书的简洁,在此不再赘述。
基于同一发明构思,本发明实施例还提供一种交易处理装置,参见图7,所述终端用于实现图2、图3方法实施例所描述的跨账本交易方法。如图7所示,所述装置可包括:处理器701、存储器702、收发器703。这些部件可在一个或多个通信总线704上进行通信。所述装置还可以包括输入输出***705、电源模块706。
所称处理器701可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器702可以包括只读存储器和随机存取存储器,并向处理器701提供指令和数据。存储器702的一部分还可以包括非易失性随机存取存储器。另外,存储器702还可以存储设备类型的信息。
所述收发器703主要用于与其它装置进行数据通信;可以包括一个接收器和一个发送器,例如,无线射频模块,以下描述的处理器701接收或者发送某个消息,具体可以理解为该处理器701通过该收发器来接收或者发送。
所述输入输出***705主要用于接收用户输入指令以及显示相关信息。所述电源模块706主要用于为设备中的其它装置提供稳定的电源。
本发明实施例中,所述处理器701用于调用所述存储器702中所存储的指令,并执行以下步骤:接收交易请求装置发送的第一账户与第二账户之间的交易信息;根据所述第二账本交易份额密文与所述第二账本未校正交易份额密文计算得到所述第二账本校正参数;将所述第二账本校正参数作为公钥,检验所述第二账本校正参数的数字签名;根据所述兑换率密文与所述第一账本交易份额密文的双线性映射,检验所述第二账本未校正交易份额密文;在检验所述第二账本校正参数的数字签名成功、检验所述第二账本未校正交易份额密文成功的情况下,更新所述第一账户的账本余额密文和所述第二账户的账本余额密文。
需要说明的,通过前述图2或图3方法实施例的详细描述,本领域技术人员可以清楚地知道交易处理装置所包含的各个功能器件的实现方法,所以为了说明书的简洁,在此不再赘述。
基于同一发明构思,在本发明的另一实施例中提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现前述任一方法实施例所描述的方法。
所述计算机可读存储介质可以是前述任一实施例所述的终端的内部存储单元,例如终端的硬盘或内存。所述计算机可读存储介质也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述终端的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的单元、设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的单元、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (15)

1.一种跨账本交易方法,其特征在于,包括:
交易请求装置生成第一账户与第二账户之间的交易信息,所述交易信息包括兑换率密文、第一账本交易份额密文、第二账本交易份额密文、第二账本未校正交易份额密文以及第二账本校正参数的数字签名;其中,所述第二账本未校正交易份额密文为所述交易请求装置对所述第一账本交易份额密文与所述兑换率密文进行双线性映射得到的密文;
所述交易请求装置向交易处理装置发送所述交易信息,以使所述交易处理装置将所述第二账本校正参数作为公钥检验所述第二账本校正参数的数字签名,并根据所述兑换率密文与所述第一账本交易份额密文的双线性映射检验所述第二账本未校正交易份额密文,并在所述第二账本校正参数的数字签名检验成功以及所述第二账本未校正交易份额密文检验成功的情况下,更新所述第一账户的账本余额密文和所述第二账户的账本余额密文,所述第二账本校正参数为所述交易处理装置根据所述第二账本交易份额密文与所述第二账本未校正交易份额密文计算得到的参数。
2.根据权利要求1所述的方法,其特征在于,
所述兑换率密文为所述交易请求装置根据加密算法与兑换率密钥对兑换率加密得到的密文;和/或,
所述第一账本交易份额密文为所述交易请求装置根据加密算法与第一账本交易份额密钥对第一账本交易份额加密得到的密文。
3.根据权利要求1所述的方法,其特征在于,所述交易请求装置为交易接收装置;所述第二账本交易份额密文为所述交易接收装置根据加密算法与第二账本交易份额密钥对第二账本交易份额加密得到的密文。
4.根据权利要求1所述的方法,其特征在于,所述交易请求装置为交易发起装置;所述第二账本交易份额密文为所述交易发起装置根据所述第二账本未校正交易份额密文与所述第二账本校正参数计算得到的密文。
5.根据权利要求2-3任一项所述的方法,其特征在于,所述加密算法具有加法同态特性。
6.根据权利要求1所述的方法,其特征在于,
所述第二账本校正参数的数字签名为所述交易请求装置以第一账本交易份额密钥与兑换率密钥的乘积作为私钥,以所述第二账本校正参数作为公钥,对所述第二账本校正参数加密得到的数字签名。
7.根据权利要求1所述的方法,其特征在于,所述交易信息还包括第一账户的第一账本交易份额密文的数字签名、第一账户的第二账本交易份额密文的数字签名、第二账户的第一账本交易份额密文的数字签名、第二账户的第二账本交易份额密文的数字签名;所述方法还包括:交易处理装置检验所述第一账户的第一账本交易份额密文的数字签名、所述第一账户的第二账本交易份额密文的数字签名、所述第二账户的第一账本交易份额密文的数字签名、所述第二账户的第二账本交易份额密文的数字签名。
8.根据权利要求7所述的方法,其特征在于,所述交易请求装置为交易发起装置;在所述交易请求装置生成第一账户与第二账户之间的交易信息之前还包括:
所述交易发起装置向交易接收装置发送所述第一账本交易份额、所述第一账本交易份额密钥、所述第二账本交易份额、所述第二账本交易份额密钥、所述第二账本未校正交易份额密文、所述第二账本校正参数的数字签名;
所述交易发起装置接收所述交易接收装置在确认所述第一账本交易份额与所述第二账本交易份额的情况下发送的所述第二账户的第一账本交易份额密文的数字签名、所述第二账户的第二账本交易份额密文的数字签名。
9.根据权利要求7所述的方法,其特征在于,所述交易请求装置为交易接收装置;在所述交易请求装置生成第一账户与第二账户之间的交易信息之前还包括:
所述交易接收装置接收交易发起装置发送的所述第一账本交易份额、所述第一账本交易份额密钥、所述第二账本交易份额、所述第二账本交易份额密钥、所述第二账本未校正交易份额密文、所述第二账本校正参数的数字签名;
所述交易接收装置在确认所述第一账本交易份额与所述第二账本交易份额的情况下,生成所述第二账户的第一账本交易份额密文的数字签名、所述第二账户的第二账本交易份额密文的数字签名;
所述交易接收装置向所述交易发起装置发送所述第一账本交易份额密文的数字签名、所述第二账户的第二账本交易份额密文的数字签名。
10.一种跨账本交易方法,其特征在于,包括:
交易处理装置接收交易请求装置发送的第一账户与第二账户之间的交易信息,所述交易信息包括兑换率密文、第一账本交易份额密文、第二账本交易份额密文、第二账本未校正交易份额密文以及第二账本校正参数的数字签名;
所述交易处理装置根据所述第二账本交易份额密文与所述第二账本未校正交易份额密文计算得到所述第二账本校正参数;将所述第二账本校正参数作为公钥,检验所述第二账本校正参数的数字签名;
所述交易处理装置根据所述兑换率密文与所述第一账本交易份额密文的双线性映射,检验所述第二账本未校正交易份额密文;
在检验所述第二账本校正参数的数字签名成功、检验所述第二账本未校正交易份额密文成功的情况下,所述交易处理装置更新所述第一账户的账本余额密文和所述第二账户的账本余额密文,所述第二账本校正参数为所述交易处理装置根据所述第二账本交易份额密文与所述第二账本未校正交易份额密文计算得到的参数。
11.根据权利要求10所述的方法,其特征在于,所述交易信息还包括第一账户的第一账本交易份额密文的数字签名、第一账户的第二账本交易份额密文的数字签名、第二账户的第一账本交易份额密文的数字签名、第二账户的第二账本交易份额密文的数字签名;
所述方法还包括:所述交易处理装置检验所述第一账户的第一账本交易份额密文的数字签名、所述第一账户的第二账本交易份额密文的数字签名、所述第二账户的第一账本交易份额密文的数字签名、所述第二账户的第二账本交易份额密文的数字签名。
12.一种交易请求装置,其特征在于,包括:
生成单元,用于生成第一账户与第二账户之间的交易信息,所述交易信息包括兑换率密文、第一账本交易份额密文、第二账本交易份额密文、第二账本未校正交易份额密文以及第二账本校正参数的数字签名;其中,所述第二账本未校正交易份额密文为所述交易请求装置对所述第一账本交易份额密文与所述兑换率密文进行双线性映射得到的密文;
发送单元,用于向交易处理装置发送所述交易信息,以使所述交易处理装置将所述第二账本校正参数作为公钥检验所述第二账本校正参数的数字签名,并根据所述兑换率密文与所述第一账本交易份额密文的双线性映射检验所述第二账本未校正交易份额密文,并在所述第二账本校正参数的数字签名检验成功以及所述第二账本未校正交易份额密文检验成功的情况下,更新所述第一账户的账本余额密文和所述第二账户的账本余额密文,所述第二账本校正参数为所述交易处理装置根据所述第二账本交易份额密文与所述第二账本未校正交易份额密文计算得到的参数。
13.一种交易处理装置,其特征在于,包括:
接收单元,用于接收交易请求装置发送的第一账户与第二账户之间的交易信息,所述交易信息包括兑换率密文、第一账本交易份额密文、第二账本交易份额密文、第二账本未校正交易份额密文以及第二账本校正参数的数字签名;
计算单元,用于根据所述第二账本交易份额密文与所述第二账本未校正交易份额密文计算得到所述第二账本校正参数;
签名检验单元,用于将所述第二账本校正参数作为公钥,检验所述第二账本校正参数的数字签名;
密文检验单元,用于根据所述兑换率密文与所述第一账本交易份额密文的双线性映射,检验所述第二账本未校正交易份额密文;
更新单元,在检验所述第二账本校正参数的数字签名成功、检验所述第二账本未校正交易份额密文成功的情况下,更新所述第一账户的账本余额密文和所述第二账户的账本余额密文,所述第二账本校正参数为所述交易处理装置根据所述第二账本交易份额密文与所述第二账本未校正交易份额密文计算得到的参数。
14.一种电子设备,其特征在于,包括处理器、存储器以及收发器,所述处理器、存储器和收发器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-11任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-11任一项所述的方法。
CN201810874378.2A 2018-08-02 2018-08-02 跨账本交易方法及装置 Active CN109102286B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810874378.2A CN109102286B (zh) 2018-08-02 2018-08-02 跨账本交易方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810874378.2A CN109102286B (zh) 2018-08-02 2018-08-02 跨账本交易方法及装置

Publications (2)

Publication Number Publication Date
CN109102286A CN109102286A (zh) 2018-12-28
CN109102286B true CN109102286B (zh) 2023-04-07

Family

ID=64848309

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810874378.2A Active CN109102286B (zh) 2018-08-02 2018-08-02 跨账本交易方法及装置

Country Status (1)

Country Link
CN (1) CN109102286B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110069939A (zh) * 2019-03-12 2019-07-30 平安科技(深圳)有限公司 加密数据一致性校验方法、装置、计算机设备及存储介质
CN110505046B (zh) * 2019-07-29 2020-11-24 深圳壹账通智能科技有限公司 多数据提供方加密数据跨平台零知识校验方法、装置及介质
CN111245626B (zh) * 2020-01-19 2021-05-18 平安科技(深圳)有限公司 零知识证明方法、装置及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106548330A (zh) * 2016-10-27 2017-03-29 上海亿账通区块链科技有限公司 基于区块链的交易验证方法及***
CN106845960A (zh) * 2017-01-24 2017-06-13 上海亿账通区块链科技有限公司 基于区块链的安全交易方法及***
CN107077675A (zh) * 2016-12-30 2017-08-18 深圳前海达闼云端智能科技有限公司 基于区块链的货币管理方法和***
CN107133796A (zh) * 2017-04-18 2017-09-05 杭州复杂美科技有限公司 区块链跨链汇兑方法
CN107274184A (zh) * 2017-05-11 2017-10-20 上海点融信息科技有限责任公司 基于零知识证明的区块链数据处理
CN107358424A (zh) * 2017-06-26 2017-11-17 中国人民银行数字货币研究所 一种基于数字货币的交易方法和装置
CN107862216A (zh) * 2017-10-13 2018-03-30 布比(北京)网络技术有限公司 用于匿名跨链交易的隐私保护方法、装置和存储介质
CN108241979A (zh) * 2017-12-20 2018-07-03 深圳壹账通智能科技有限公司 基于区块链的多账本转账方法、电子装置及可读存储介质
CN108288159A (zh) * 2018-03-07 2018-07-17 物数(上海)信息科技有限公司 基于多区块链的跨链交易方法、***、设备及存储介质
CN108335106A (zh) * 2018-01-24 2018-07-27 深圳壹账通智能科技有限公司 基于区块链的零知识多账本兑换转账方法、装置及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10812274B2 (en) * 2015-05-07 2020-10-20 Blockstream Corporation Transferring ledger assets between blockchains via pegged sidechains
US11017387B2 (en) * 2016-03-24 2021-05-25 International Business Machines Corporation Cryptographically assured zero-knowledge cloud services for elemental transactions

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106548330A (zh) * 2016-10-27 2017-03-29 上海亿账通区块链科技有限公司 基于区块链的交易验证方法及***
CN107077675A (zh) * 2016-12-30 2017-08-18 深圳前海达闼云端智能科技有限公司 基于区块链的货币管理方法和***
CN106845960A (zh) * 2017-01-24 2017-06-13 上海亿账通区块链科技有限公司 基于区块链的安全交易方法及***
CN107133796A (zh) * 2017-04-18 2017-09-05 杭州复杂美科技有限公司 区块链跨链汇兑方法
CN107274184A (zh) * 2017-05-11 2017-10-20 上海点融信息科技有限责任公司 基于零知识证明的区块链数据处理
CN107358424A (zh) * 2017-06-26 2017-11-17 中国人民银行数字货币研究所 一种基于数字货币的交易方法和装置
CN107862216A (zh) * 2017-10-13 2018-03-30 布比(北京)网络技术有限公司 用于匿名跨链交易的隐私保护方法、装置和存储介质
CN108241979A (zh) * 2017-12-20 2018-07-03 深圳壹账通智能科技有限公司 基于区块链的多账本转账方法、电子装置及可读存储介质
CN108335106A (zh) * 2018-01-24 2018-07-27 深圳壹账通智能科技有限公司 基于区块链的零知识多账本兑换转账方法、装置及存储介质
CN108288159A (zh) * 2018-03-07 2018-07-17 物数(上海)信息科技有限公司 基于多区块链的跨链交易方法、***、设备及存储介质

Also Published As

Publication number Publication date
CN109102286A (zh) 2018-12-28

Similar Documents

Publication Publication Date Title
US20200349563A1 (en) Zero-knowledge multi-account-book exchange transfer method and apparatus based on blockchain, and storage medium
CN109257182B (zh) 基于同态密码学承诺与零知识范围证明的隐私保护方法
US10944575B2 (en) Implicitly certified digital signatures
CN108418783B (zh) 一种保护区块链智能合约隐私的方法、介质
CN110505046B (zh) 多数据提供方加密数据跨平台零知识校验方法、装置及介质
EP1573719B1 (en) A method, system and computer program product for secure ticketing in a communications device
CN108241979B (zh) 基于区块链的多账本转账方法、电子装置及可读存储介质
KR101040588B1 (ko) 익명성을 제공하는 효율적인 신원기반 환서명 방법과 그 시스템
CN109672539A (zh) Sm2算法协同签名及解密方法、装置及***
CN109309569A (zh) 基于sm2算法的协同签名的方法、装置及存储介质
CN109102286B (zh) 跨账本交易方法及装置
CN109583893B (zh) 可追踪的基于区块链的数字货币交易***
CN109858281A (zh) 一种基于零知识证明的区块链账户模型隐私保护方法
EP2961094A1 (en) System and method for generating a random number
JPH04117826A (ja) 認証機能付き鍵配送方式
CN110800252A (zh) 防止安全多方计算中参与者错误表示输入数据
TWI608722B (zh) Public key certificate method
CN108574571B (zh) 私钥生成方法、设备以及***
CN111433800B (zh) 交易处理方法及相关设备
US9286602B2 (en) Secure financial transactions
CN111342955A (zh) 一种通信方法及其设备、计算机存储介质
CN112734423A (zh) 一种基于区块链的交易方法及终端设备
CN109766716A (zh) 一种基于可信计算的匿名双向认证方法
CN111275417B (zh) 交易背书处理方法、服务器及计算机可读存储介质
CN112541759A (zh) 区块链***中基于utxo模型的隐藏交易方法、装置及相关产品

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