发明内容
本发明实施例提供了一种区块链交易结算方法、系统及相关设备,用于实现同一区块链上多种资产交易的兼容及交易隐私保护。
为实现上述目的,本发明一种区块链交易结算方法,其特征在于,运用于区块链节点设备,所述方法包括:
获取交易信息,所述交易信息包含转账账户、转账金额、入账账户及目标资产标识,所述目标资产标识为预设的多种资产标识中的一种;
校验所述转账账户中所述目标资产标识对应的目标资产的金额是否大于所述转账金额,若大于,则对所述交易信息进行隐私保护处理生成隐私交易数据,使得在没有交易双方私钥的情况下无法解析出所述交易信息;
将所述隐私交易数据广播至区块链中进行验证,并在验证通过之后执行所述交易信息对应的交易。
可选的,作为一种可能的实施方式,本发明实施例中,所述对所述交易信息进行隐私保护处理生成隐私交易数据,包括:
确定所述转账账户中用于支付的第一类UTXO币对应的币公钥,并采用可链接环签名算法生成所述第一类UTXO币对应的输入环签名;
根据预设的密钥协商协议生成所述入账账户用于收账的第二类UTXO币的币公钥;
采用同态承诺算法计算所述第二类UTXO币对应的金额承诺;
根据零知识证明算法生成所述第二类UTXO币对应的金额承诺的零知识证明;
根据所述第二类UTXO币及其币公钥、所述输入环签名、所述金额承诺及其零知识证明生成隐私交易数据。
可选的,作为一种可能的实施方式,本发明实施例中,所述根据所述输入环签名、所述第二类UTXO币的币公钥及所述金额承诺生成隐私交易数据,包括:
将所述输入环签名、所述第二类UTXO币的币公钥及所述金额承诺作为输入消息,采用环签名算法生成所述输入消息对应的交易环签名,并将所述交易环签名及交易要素作为隐私交易数据,所述交易要素包括:所述第二类UTXO币及其币公钥、所述输入环签名、所述金额承诺及其零知识证明以及所述目标资产标识。
可选的,作为一种可能的实施方式,本发明实施例中的区块链交易结算方法还包括:
采用所述第二类UTXO币的币公钥对所述第二类UTXO币的金额进行加密,以隐藏转账金额。
可选的,作为一种可能的实施方式,本发明实施例中的区块链交易结算方法还包括:
接收金额查新请求消息,所述金额查新请求消息中包含目标资产标识;
查询所述目标资产标识对应的目标资产的当前金额,并展示所述目标资产的当前金额。
本发明实施例第二方面提供了一种区块链交易结算方法,运用于区块链节点设备,所述方法包括:
获取隐私交易数据,并使用目标账户私钥解析所述隐私交易数据得到转账金额及目标资产标识,所述隐私交易数据为交易信息进行隐私保护处理生成,所述交易信息包含转账账户、转账金额、入账账户及目标资产标识,所述目标资产标识为预设的多种资产标识中的一种;
根据所述转账金额及所述目标资产标识更新所述目标账户所属的所述目标资产标识对应的目标资产的金额。
可选的,作为一种可能的实施方式,当所述隐私交易数据包含交易环签名、第二类UTXO币加密数据及其币公钥时,所述使用目标账户私钥解析所述隐私交易数据得到转账金额及目标资产标识,包括:
验证所述交易环签名是否合法,若合法,则使用所述目标账户私钥及所述所述第二类UTXO币的币公钥计算所述第二类UTXO币的币私钥;
并根据所述第二类UTXO币的币私钥解密所述第二类UTXO币加密数据得到转账金额以及目标资产标识。
本发明实施例第三方面提供了一种区块链交易结算系统,其特征在于,包括:
获取单元,用于获取交易信息,所述交易信息包含转账账户、转账金额、入账账户及目标资产标识,所述目标资产标识为预设的多种资产标识中的一种;
处理单元,用于校验所述转账账户中所述目标资产标识对应的目标资产的金额是否大于所述转账金额,若大于,则对所述交易信息进行隐私保护处理生成隐私交易数据,使得在没有交易双方私钥的情况下无法解析出所述交易信息;
广播单元,用于将所述隐私交易数据广播至区块链中进行验证,并在验证通过之后执行所述交易信息对应的交易。
可选的,作为一种可能的实施方式,本发明实施例中的处理单元302可以包括:
校验模块,用于校验所述转账账户中所述目标资产标识对应的目标资产的金额是否大于所述转账金额,若大于,则触发第一处理模块。
第一处理模块,用于确定所述转账账户中用于支付的第一类UTXO币对应的币公钥,并采用可链接环签名算法生成所述第一类UTXO币对应的输入环签名;
第二处理模块,用于根据预设的密钥协商协议生成所述入账账户用于收账的第二类UTXO币的币公钥;
第三处理模块,用于采用同态承诺算法计算所述第二类UTXO币对应的金额承诺;
第四处理模块,用于根据零知识证明算法生成所述第二类UTXO币对应的金额承诺的零知识证明;
第五处理模块,用于根据所述第二类UTXO币及其币公钥、所述输入环签名、所述金额承诺及其零知识证明生成隐私交易数据。
可选的,作为一种可能的实施方式,本发明实施例中的第五处理模块,用于将所述输入环签名、所述第二类UTXO币的币公钥及所述金额承诺作为输入消息,采用环签名算法生成所述输入消息对应的交易环签名,并将所述交易环签名及交易要素作为隐私交易数据,所述交易要素包括:所述第二类UTXO币及其币公钥、所述输入环签名、所述金额承诺及其零知识证明以及所述目标资产标识。
可选的,作为一种可能的实施方式,本发明实施例中的区块链交易结算系统,还包括:
加密单元,用于采用所述第二类UTXO币的币公钥对所述第二类UTXO币的金额进行加密,以隐藏转账金额。
可选的,作为一种可能的实施方式,本发明实施例中的区块链交易结算系统,还包括:
接收单元,用于接收金额查新请求消息,所述金额查新请求消息中包含目标资产标识;
查询单元,用于查询所述目标资产标识对应的目标资产的当前金额,并展示所述目标资产的当前金额。
本发明实施例第四方面提供了一种区块链节点设备,该区块链节点设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现第一方面及第一方面任一种可能的实施方式中区块链交易结算方法中的步骤。
可选的,作为一种可能的实时方式,本发明实施例中的区块链节点设备为组成CDN网络或者区块链网络的节点。
本发明实施例第五方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序可被一个或者多个处理器执行,以实现如第一方面及第一方面任一种可能的实施方式中区块链交易结算方法中的步骤。
本发明实施例中,区块链系统中预设多种资产标识,兼容多种类型的资产交易结算,当获取到获取交易信息之后可以校验转账账户中目标资产标识对应的目标资产的金额是否大于转账金额,若大于,则对交易信息进行隐私保护处理生成隐私交易数据,并将隐私交易数据广播至区块链中进行验证,并在验证通过之后执行交易信息对应的交易实现了区块链法币之外的资产交易的隐私保护。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
请参阅图1,本发明实施例中的流程进行说明本发明提供一种区块链交易结算方法的一个实施例可包括:
101、获取交易信息,交易信息包含转账账户、转账金额、入账账户及目标资产标识;
本发明实施例中的区块链系统是一种交易隐私保护链,交易隐私链中,如果一笔转账交易,除了交易签发者和转账接收者,没有其它第三者能够在没有相应私钥的情况下解析出交易双方账户信息和转账金额,且无法分析链上隐私交易关联性,那么这笔交易就是隐私保护交易。为了便于区分本发明实施例中的区块链系统统称为目标区块链系统,该目标区块链系统可以是任何可以实现交易隐私保护的区块链系统,例如Zerocash区块链系统等。本发明实施例中的目标区块链系统中为不同种类的各种资产分别设置了唯一的资产标识,以兼容多种资产的交易结算。用户在目标区块链系统中注册之后,同一账户可以拥有多种类型的资产,各种类型的资产以各自的资产标识进行区分。
在进行交易时,区块链节点设备可以从客户端获取交易信息,或者区块链节点设备本身作为客户端获取用户选择/输入操作生成的交易信息,该交易信息至少包含转账账户、转账金额、入账账户及目标资产标识,该目标资产标识为预设的多种资产标识中的一种。
102、校验转账账户中目标资产标识对应的目标资产的金额是否大于转账金额,若大于,则对交易信息进行隐私保护处理生成隐私交易数据;
在获取到交易信息之后,区块链节点设备需要校验转账账户中目标资产标识对应的目标资产的金额是否大于转账金额,若大于,则此次转账交易合理,区块链节点设备或客户端可以对交易信息进行隐私保护处理生成隐私交易数据,使得在没有交易双方私钥的情况下无法解析出交易信息。若转账账户中目标资产标识对应的目标资产的金额小于转账金额,则可以提示输入有误或余额不足。具体对交易信息进行隐私保护处理的过程,可以参照现有已实现交易隐私保护的区块链系统,例如Zerocash区块链系统,具体的隐私保护处理的过程此处不做限定。
103、将隐私交易数据广播至区块链中进行验证,并在验证通过之后执行交易信息对应的交易。
在对交易信息进行隐私保护处理生成隐私交易数据之后,区块链节点设备需要将隐私交易数据广播至区块链中进行验证,并在验证通过之后执行交易信息对应的交易,并在区块链中生成新的区块。
本发明实施例中,区块链系统中预设多种资产标识,兼容多种类型的资产交易结算,当获取到获取交易信息之后可以校验转账账户中目标资产标识对应的目标资产的金额是否大于转账金额,若大于,则对交易信息进行隐私保护处理生成隐私交易数据,并将隐私交易数据广播至区块链中进行验证,并在验证通过之后执行交易信息对应的交易实现了区块链法币之外的资产交易的隐私保护。
为了便于理解,下面将对本发明实施例中的交易信息进行隐私保护处理生成隐私交易数据的过程的一种可能的实施方式进行描述,交易信息进行隐私保护处理生成隐私交易数据的过程可包括:
201、确定转账账户中用于支付的第一类UTXO对应的币公钥,并采用可链接环签名算法生成第一类UTXO对应的输入环签名;
具体的,目标区块链系统的钱包客户端可以使用UTXO模型,该模型中中UTXO币指的是当前区块链上已确认但未花费的数字货币,即未花费的一笔钱,且该UTXO币不包含比特币以及门罗币。目标区块链系统中每笔UTXO包含币的公私钥(PK、SK)以及金额承诺(COM),该笔钱的所有者掌握币私钥(SK),币公钥(PK)以及金额承诺(COM)公开。每次消费时,区块链节点设备随机选取链上的其他UTXO币,结合用于支付的第一类UTXO币一起生成公钥集合(L={PK1,PK2,……,PKn}),对转账账户中用于支付的第一类UTXO币进行关于L的可链接环签名运算生成第一类UTXO币对应的输入环签名。
202、根据预设的密钥协商协议生成入账账户用于收账的第二类UTXO的币公钥;
区块链节点设备根据预设的密钥协商协议生成入账账户用于收账的第二类UTXO的币公钥,例如使用随机数(随机密钥)与接收者的私钥生成新的币公钥,并且新的币公钥只有接收者才能计算得到。
203、采用同态承诺算法计算第二类UTXO对应的金额承诺,根据零知识证明算法生成第二类UTXO对应的金额承诺的零知识证明;
区块链节点设备可以采用同态承诺算法计算第二类UTXO对应的金额承诺根据零知识证明算法生成第二类UTXO币对应的金额承诺的零知识证明。例如,采用bulletproof算法生成第二类UTXO币对应的金额承诺的零知识证明。
204、根据第二类UTXO及其币公钥、输入环签名、金额承诺及其零知识证明生成隐私交易数据。
最后,区块链节点设备根据第二类UTXO币及其币公钥、输入环签名、金额承诺及其零知识证明生成隐私交易数据。例如将输入环签名、第二类UTXO币的币公钥及金额承诺作为输入消息,采用环签名算法生成输入消息对应的交易环签名,并将交易环签名及交易要素作为隐私交易数据,交易要素包括:第二类UTXO币及其币公钥、输入环签名、金额承诺及其零知识证明以及目标资产标识。可以理解的是,可以根据实际需求在交易要素中加入更多的信息,例如还可以包括协商密钥信息、第二类UTXO币的金额及目标资产标识经过第二类UTXO币公钥加密之后的加密信息以及密钥协商过程中的随机数经过加密之后的加密数据,具体此处不做限定。
可选的,为了提高数据的安全性,本发明实施例中可以采用第二类UTXO币的币公钥对第二类UTXO币的金额进行加密,以隐藏转账金额。
可选的,为了便于用户查询资产,本发明实施例中的区块链节点设备还可以:接收金额查新请求消息,金额查新请求消息中包含目标资产标识;查询目标资产标识对应的目标资产的当前金额,并采用语音或文字展示目标资产的当前金额。
上述实施例从转账方对本发明实施例中的区块链交易结算方法进行了描述,请参阅图3下面将从入账方对本发明实施例中的区块链交易结算方法进行描述,本发明实施例中一种区块链交易结算方法的另一个实施例可包括:
301、获取隐私交易数据,并使用目标账户私钥解析隐私交易数据得到转账金额及目标资产标识;
在交易的转账方对转账账户、转账金额、入账账户及目标资产标识等交易信息进行隐私保护处理生成隐私交易数据之后,使得在没有交易双方私钥的情况下无法解析出交易信息。经过区块链上的节点验证通过之后生成新的区块之后,入账方所属的区块链节点设备可以获取到隐私交易数据,并使用目标账户私钥解析隐私交易数据得到转账金额及目标资产标识。具体的解析隐私交易数据的过程与各个交易隐私链所采用的算法相适应,具体可以参照Zerocash区块链系统等已实现的交易隐私链中进行法币交易的过程。
可选的,当采用本发明实施例中图2所示的隐私交易过程时,入账账户所属的区块链节点设备可以获取到该隐私交易数据的部分数据,具体可以包含交易环签名、第二类UTXO币加密数据及其币公钥时,使用目标账户私钥解析隐私交易数据得到转账金额及目标资产标识,包括:
验证交易环签名是否合法,若合法,则使用目标账户私钥及第二类UTXO币的币公钥计算第二类UTXO币的币私钥;
并根据第二类UTXO币的币私钥解密第二类UTXO币加密数据得到转账金额以及目标资产标识。
302、根据转账金额及目标资产标识更新目标账户所属的目标资产标识对应的目标资产的金额。在解析隐私交易数据得到转账金额及目标资产标识之后,入账账户所属的区块链节点设备可以根据转账金额及目标资产标识更新目标账户所属的目标资产标识对应的目标资产的金额。
为了便于理解,下面将结合具体的运用实例对本发明实施例中的隐私交易流程进行说明。
假设用户Alice掌握两笔隐私UTXO币,记为UTXO和UTXO’,其中UTXO有5元,UTXO’有6元,Alice想给Bob转账10元,给自己找零1元,然而Alice不能暴露新的UTXO是由哪两个旧UTXO产生,于是Alice从链上找来其他n-1组UTXO(每一组包含两个UTXO,记为UTXOk与UTXOk'),Alice并不知道这些UTXO的私钥,只是使用其作为混淆,隐藏自己的真实UTXO。Alice将所有输入UTXO的公钥拿出来组成集合L,L由n组公钥组成,L={(xG,x' G),(x1G,x1'G),⋯,(x(n-1)G,x(n-1)' G)},其中(xG,x' G)表示UTXO和UTXO’的公钥;对UTXO和UTXO’进行关于L的可链接环签名运算生成对应的输入环签名,实现旧UTXO的隐藏。
接下来Alice计算输出的UTXO的金额绑定值,如图4所示,即为sG+10H和s'G+1H,真实交易的UTXO和UTXO’(第一组),Alice进行金额承诺计算:rG+5H+r' G+6H-(sG+10H+s' G+1H)=(r+r'-s-s' )G=zG,其中r为混淆因子s为对应的UTXO的金额绑定值,其中H与G为向量常量;
对于其他n-1组混淆UTXO,i=1,⋯,n-1,Alice计算:riG+aiH+ri'G+a'iH-(sG+10H+s'G+1H)=(ri+ri'-s-s')G+(ai+ai'-11)H=ziG+biH,计算完成后,只有真实交易的交易,H的系数可以消去,Alice可以得到z的具体数值,而混淆的UTXO,Alice无法知道zi和bi。
接下来Alice进行组扩充,使用上面计算出的ziG+biH和zG,计算一列新公钥,并加入成为新的组成员,如图5所示(每行为一组,一共n组,每组3个成员),其中,括号内为每个UTXO的公钥,将第三列的新加入元素也看做公钥,容易知道,Alice掌握第一行所有公钥对应的私钥,而不掌握其他行的私钥。将每一行三个公钥看做环签名的一个成员,则一共有n个成员,扩充后的公钥集合为:L1={(xG,x'G,(x+x'+z)G),(x1G,x1' G,(x1+x1'+z1G)+b1H),⋯,(x(n-1)G,x(n-1)' G,(x(n-1)+x(n-1)'+z(n-1))G+b(n-1)H)},该公钥集合L1可以在签发交易时使用环签名,从而实现了身份的隐藏。
此外,Alice还需进行新UTXO的密钥协商过程,对于新产生的newUTXO和newUTXO’,其中对于发给Bob的newUTXO,假设Bob的地址公钥为(xB G=PB,yBG=PB'),对应的私钥为(xB,yB),Alice计算(H为哈希):tG及H(t PB)G+ PB',其中t为随机密钥或约定密钥,当Bob收钱时,使用自己的私钥计算并检验H(t PB)G+ PB'与H(xBt G)G+ PB'是否相等,由于t PB= t*xBG = xBt G,所以只有Bob才能解出新的公钥对应的私钥,他令新的newUTXO币公钥为yG=H(xBtG)G+P'B,币私钥为y= H(xBtG)+yB。对于Alice自己的找零交易,Alice直接生成一组新的公私钥对即可,不需要跟自己进行密钥协商。
Alice需要证明新的UTXO金额合法,即证明sG+10H和s'G+1H的对应金额(10和1)属于合法的区间[0,2d-1],便于验证者验证交易和金额的合法性,Alice使用Bulletproofs方案进行金额区间零知识证明。
Alice将所有的交易信息,包括自己和所有混淆UTXO公钥和金额承诺,新的UTXO公钥和金额承诺,新的UTXO金额的区间证明,协商密钥信息,加密信息,全部打包,作为输入消息,并且用公钥集合L1进行环签名签署之后,发送到链上进行验证。交易验证者进行以下操作:验证旧的UTXO合法性; 检验是否双花;验证环签名的合法性;验证新UTXO的金额合法性区间证明。
Bob虽然可以获得新的币私钥,但是Bob只知道承诺newCom=sG+10H,尚不知道钱的数量(10元)和承诺混淆值(s),Alice需要在交易中将这两个值通过加密的方式(使用Bob公钥xBG,或者使用Bob协商的公钥xBtG)添加在账单中,Bob收到后解密并验证承诺是否正确。具体的,Bob对于区块内的所有新UTXO(他并不知道哪个是给他的钱),进行如下操作:
a、用自己的私钥计算H(xBtG)G+P'B,检验是否与H(tPB)G+P'B相等;
b、如果相等,则Bob知道这是给他的钱,他计算新的UTXO公钥为yG=H(xBtG)G+P'B,私钥为y=H(xBtG)+yB;
c、Bob解密钱的金额和混淆值,并检验是否与承诺值匹配,即newCom=sG+10H是否成立;
d、如果检查通过,Bob使用钱包收下这笔钱,下次花这笔钱时,可以使用新的币私钥y进行签署。
请参阅图6本发明实施例还提供了一种区块链交易结算系统,其特征在于,包括:
获取单元601,用于获取交易信息,交易信息包含转账账户、转账金额、入账账户及目标资产标识,目标资产标识为预设的多种资产标识中的一种;
处理单元602,用于校验转账账户中目标资产标识对应的目标资产的金额是否大于转账金额,若大于,则对交易信息进行隐私保护处理生成隐私交易数据,使得在没有交易双方私钥的情况下无法解析出交易信息;
广播单元603,用于将隐私交易数据广播至区块链中进行验证,并在验证通过之后执行交易信息对应的交易。
可选的,作为一种可能的实施方式,本发明实施例中的处理单元302可以包括:
校验模块,用于校验转账账户中目标资产标识对应的目标资产的金额是否大于转账金额,若大于,则触发第一处理模块。
第一处理模块,用于确定转账账户中用于支付的第一类UTXO币对应的币公钥,并采用可链接环签名算法生成第一类UTXO币对应的输入环签名;
第二处理模块,用于根据预设的密钥协商协议生成入账账户用于收账的第二类UTXO币的币公钥;
第三处理模块,用于采用同态承诺算法计算第二类UTXO币对应的金额承诺;
第四处理模块,用于根据零知识证明算法生成第二类UTXO币对应的金额承诺的零知识证明;
第五处理模块,用于根据第二类UTXO币及其币公钥、输入环签名、金额承诺及其零知识证明生成隐私交易数据。
可选的,作为一种可能的实施方式,本发明实施例中的第五处理模块,用于将输入环签名、第二类UTXO币的币公钥及金额承诺作为输入消息,采用环签名算法生成输入消息对应的交易环签名,并将所述交易环签名及交易要素作为隐私交易数据,所述交易要素包括:所述第二类UTXO币及其币公钥、所述输入环签名、所述金额承诺及其零知识证明以及所述目标资产标识。
可选的,作为一种可能的实施方式,本发明实施例中的区块链交易结算系统,还包括:
加密单元,用于采用第二类UTXO币的币公钥对第二类UTXO币的金额进行加密,以隐藏转账金额。
可选的,作为一种可能的实施方式,本发明实施例中的区块链交易结算系统,还包括:
接收单元,用于接收金额查新请求消息,金额查新请求消息中包含目标资产标识;
查询单元,用于查询目标资产标识对应的目标资产的当前金额,并展示目标资产的当前金额。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
请参阅图7,在本实施例中还提供了一种区块链节点设备,区块链节点设备1可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机、智能路由器、矿机、网络存储设备终端设备。
该区块链节点设备1可以是组成CDN网络或者区块链网络的节点。
该区块链节点设备1可以包括存储器11、处理器12和总线13。处理器11执行计算机程序时实现上述图1所示的基于区块链的区块链交易结算方法实施例中的步骤,例如图1所示的步骤101至103。或者,处理器执行计算机程序时实现上述各装置实施例中各模块或单元的功能。
本发明的一些实施例中,处理器具体用于实现如下步骤:
获取交易信息,交易信息包含转账账户、转账金额、入账账户及目标资产标识,目标资产标识为预设的多种资产标识中的一种;
校验转账账户中目标资产标识对应的目标资产的金额是否大于转账金额,若大于,则对交易信息进行隐私保护处理生成隐私交易数据,使得在没有交易双方私钥的情况下无法解析出交易信息;
将隐私交易数据广播至区块链中进行验证,并在验证通过之后执行交易信息对应的交易。
可选的,本发明的一些实施例中,处理器还可以用于实现如下步骤:
确定转账账户中用于支付的第一类UTXO币对应的币公钥,并采用可链接环签名算法生成第一类UTXO币对应的输入环签名;
根据预设的密钥协商协议生成入账账户用于收账的第二类UTXO币的币公钥;
采用同态承诺算法计算第二类UTXO币对应的金额承诺;
根据零知识证明算法生成第二类UTXO币对应的金额承诺的零知识证明;
根据第二类UTXO币及其币公钥、输入环签名、金额承诺及其零知识证明生成隐私交易数据。
可选的,本发明的一些实施例中,处理器还可以用于实现如下步骤:
将输入环签名、第二类UTXO币的币公钥及金额承诺作为输入消息,采用环签名算法生成输入消息对应的交易环签名,并将所述交易环签名及交易要素作为隐私交易数据,所述交易要素包括:所述第二类UTXO币及其币公钥、所述输入环签名、所述金额承诺及其零知识证明以及所述目标资产标识。
可选的,本发明的一些实施例中,处理器还可以用于实现如下步骤:
采用第二类UTXO币的币公钥对第二类UTXO币的金额进行加密,以隐藏转账金额。
可选的,本发明的一些实施例中,处理器还可以用于实现如下步骤:
接收金额查新请求消息,金额查新请求消息中包含目标资产标识;
查询目标资产标识对应的目标资产的当前金额,并展示目标资产的当前金额。
可选的,本发明的一些实施例中,处理器还可以用于实现如下步骤:
获取隐私交易数据,并使用目标账户私钥解析隐私交易数据得到转账金额及目标资产标识,隐私交易数据为交易信息进行隐私保护处理生成,交易信息包含转账账户、转账金额、入账账户及目标资产标识,目标资产标识为预设的多种资产标识中的一种;
根据转账金额及目标资产标识更新目标账户所属的目标资产标识对应的目标资产的金额。
可选的,本发明的一些实施例中,处理器还可以用于实现如下步骤:
验证交易环签名是否合法,若合法,则使用目标账户私钥及第二类UTXO币的币公钥计算第二类UTXO币的币私钥;
并根据第二类UTXO币的币私钥解密第二类UTXO币加密数据得到转账金额以及目标资产标识。
其中,存储器11至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是区块链节点设备1的内部存储单元,例如该区块链节点设备1的硬盘。存储器11在另一些实施例中也可以是区块链节点设备1的外部存储设备,例如区块链节点设备1上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(SecureDigital, SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括区块链节点设备1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于区块链节点设备1的应用软件及各类数据,例如**程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行计算机程序01等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,区块链节点设备还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该区块链节点设备1与其他电子设备之间建立通信连接。
可选地,该区块链节点设备1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在区块链节点设备1中处理的信息以及用于显示可视化的用户界面。
图7仅示出了具有组件11-14以及计算机程序01的区块链节点设备1,本领域技术人员可以理解的是,图1示出的结构并不构成对区块链节点设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,可以实现如下步骤:
获取交易信息,交易信息包含转账账户、转账金额、入账账户及目标资产标识,目标资产标识为预设的多种资产标识中的一种;
校验转账账户中目标资产标识对应的目标资产的金额是否大于转账金额,若大于,则对交易信息进行隐私保护处理生成隐私交易数据,使得在没有交易双方私钥的情况下无法解析出交易信息;
将隐私交易数据广播至区块链中进行验证,并在验证通过之后执行交易信息对应的交易。
本发明实施例中,区块链系统中预设多种资产标识,兼容多种类型的资产交易结算,当获取到获取交易信息之后可以校验转账账户中目标资产标识对应的目标资产的金额是否大于转账金额,若大于,则对交易信息进行隐私保护处理生成隐私交易数据,并将隐私交易数据广播至区块链中进行验证,并在验证通过之后执行交易信息对应的交易实现了区块链法币之外的资产交易的隐私保护。
可选的,本发明的一些实施例中,处理器还可以用于实现如下步骤:
确定转账账户中用于支付的第一类UTXO币对应的币公钥,并采用可链接环签名算法生成第一类UTXO币对应的输入环签名;
根据预设的密钥协商协议生成入账账户用于收账的第二类UTXO币的币公钥;
采用同态承诺算法计算第二类UTXO币对应的金额承诺;
根据零知识证明算法生成第二类UTXO币对应的金额承诺的零知识证明;
根据第二类UTXO币及其币公钥、输入环签名、金额承诺及其零知识证明生成隐私交易数据。
可选的,本发明的一些实施例中,处理器还可以用于实现如下步骤:
将输入环签名、第二类UTXO币的币公钥及金额承诺作为输入消息,采用环签名算法生成输入消息对应的交易环签名,并将所述交易环签名及交易要素作为隐私交易数据,所述交易要素包括:所述第二类UTXO币及其币公钥、所述输入环签名、所述金额承诺及其零知识证明以及所述目标资产标识。
可选的,本发明的一些实施例中,处理器还可以用于实现如下步骤:
采用第二类UTXO币的币公钥对第二类UTXO币的金额进行加密,以隐藏转账金额。
可选的,本发明的一些实施例中,处理器还可以用于实现如下步骤:
接收金额查新请求消息,金额查新请求消息中包含目标资产标识;
查询目标资产标识对应的目标资产的当前金额,并展示目标资产的当前金额。
可选的,本发明的一些实施例中,处理器还可以用于实现如下步骤:
获取隐私交易数据,并使用目标账户私钥解析隐私交易数据得到转账金额及目标资产标识,隐私交易数据为交易信息进行隐私保护处理生成,交易信息包含转账账户、转账金额、入账账户及目标资产标识,目标资产标识为预设的多种资产标识中的一种;
根据转账金额及目标资产标识更新目标账户所属的目标资产标识对应的目标资产的金额。
可选的,本发明的一些实施例中,处理器还可以用于实现如下步骤:
验证交易环签名是否合法,若合法,则使用目标账户私钥及第二类UTXO币的币公钥计算第二类UTXO币的币私钥;
并根据第二类UTXO币的币私钥解密第二类UTXO币加密数据得到转账金额以及目标资产标识。
本发明实施例还提供了一种计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存 储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件 可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦 合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。