基于区块链的供应链交易隐私保护系统、方法及相关设备与流程

文档序号:20758135发布日期:2020-05-15 17:40阅读:199来源:国知局
基于区块链的供应链交易隐私保护系统、方法及相关设备与流程

本发明涉及区块链技术领域,尤其涉及一种基于区块链的供应链交易隐私保护系统、方法及相关设备。



背景技术:

现有的基于区块链的供应链系统,将核心企业节点设备、供应商节点设备、保理商节点设备及银行节点设备等通过区块链联系了起来。核心企业节点设备、供应商节点设备、保理商节点设备及银行节点设备等作为区块链节点加入基于区块链的供应链系统时,需要经过授权才能加入,区块链节点之间具有一定的信任基础,通过应收账款、票据凭证、抵押货物凭证等交易数据上链的方式增强了数据的可信性。

然而,这些交易数据中往往存在商业机密,将交易数据明文上链,导致了商业机密和个人隐私的泄露。

因此,有必要提供一种基于区块链的供应链交易隐私保护方案。



技术实现要素:

鉴于以上内容,有必要提供一种基于区块链的供应链交易隐私保护系统、方法及相关设备,旨在解决基于区块链的供应链中交易数据明文上链导致隐私泄露的技术问题。

本发明的第一方面提供一种基于区块链的供应链交易隐私保护系统,所述系统包括:

核心企业节点设备,用于将核心企业承诺给一级供应商的应付款进行加密得到机密交易,对所述机密交易进行签名并上传签名后的交易数据至基于区块链的供应链平台;

一级供应商节点设备,用于接收所述机密交易并解密后输出给所述一级供应商,基于可监管的bulletproof算法,对所述机密交易中的拆分交易进行范围证明,以及向混淆服务提供商节点设备发送针对所述拆分交易的混淆请求;

所述混淆服务提供商节点设备,用于基于pedersen承诺的可监管可证明混淆算法将所述拆分交易混淆成与所述拆分交易等值的其他交易;

所述基于区块链的供应链平台,用于存储接收到的交易数据;

所述监管机构节点设备,用于对所述交易数据进行解密,以及对所述交易数据的混淆进行追踪。

在一种可能的实现方式中,所述核心企业节点设备将核心企业承诺给一级供应商的应付款进行加密得到机密交易包括:

获取第一系统参数g和第二系统参数h;

选取随机数r;

通过pedersen承诺将所述应付款进行加密得到机密交易,所述机密交易中的utxo=gehr,其中,所述e为所述应付款。

在一种可能的实现方式中,所述一级供应商节点设备,还用于:

从所述监管机构节点设备获取多组随机数;

根据所述多组随机数,生成可监管的bulletproof算法。

在一种可能的实现方式中,所述多组签名后的随机数包括第一参数、第二参数及第三参数,所述一级供应商节点设备根据所述多组随机数,生成可监管的bulletproof算法包括:

确定交易数据,基于所述交易数据计算得到第一计算数及第二计算数,并生成第一随机数;

利用bulletproof范围证明基于所述第一计算数、所述第二计算数及所述第一随机数计算第一证明参数;

利用所述bulletproof范围证明基于所述第一参数、所述第二参数及所述第三参数计算第二证明参数;

基于所述第一计算数及所述第二参数计算目标证明参数,以生成可监管的bulletproof算法。

在一种可能的实现方式中,所述一级供应商节点设备基于可监管的bulletproof算法,对所述机密交易中的拆分交易进行范围证明包括:

将所述utxo拆分为第一utxo和第二utxo,其中,所述第一utxo中的金额和所述第二utxo中的金额之和等于所述utxo中的金额;

基于所述可监管的bulletproof算法,对所述第一utxo和所述第二utxo进行范围证明。

在一种可能的实现方式中,所述一级供应商节点设备,还用于:

基于所述第一utxo和所述第二utxo与其他区块链实体节点设备进行交易。

在一种可能的实现方式中,所述混淆服务提供商节点设备,还用于:

接收所述监管机构节点设备发送的监管方签名;

根据所述监管方签名,生成基于pedersen承诺的可监管可证明混淆算法。

在一种可能的实现方式中,所述监管方签名包括随机映射参数以及第一挑战参数,所述混淆服务提供商节点设备根据所述监管方签名,生成基于pedersen承诺的可监管可证明混淆算法包括:

生成多个第一随机数,并根据所述多个第一随机数以及所述第一挑战参数,计算第二挑战参数,以及根据所述第二挑战参数计算第三挑战参数;

计算第一中间变量和第二中间变量;

根据所述第一挑战参数、所述第二挑战参数、所述第三挑战参数以及所述第一中间变量,进行乘积证明;

根据目标机密交易、混淆交易、所述随机映射参数以及所述第二中间变量,进行乘幂证明,以生成基于pedersen承诺的可监管可证明混淆算法,其中,所述目标机密交易为混淆前的交易,所述混淆交易为混淆后的交易。

在一种可能的实现方式中,所述混淆服务提供商节点设备,还用于:

根据所述可监管可证明混淆算法,对所述第一utxo和所述第二utxo进行可混淆证明,并对所述第一utxo和所述第二utxo进行混淆;

输出与所述第一utxo等值的第三utxo,以及输出与所述第二utxo等值的第四utxo。

在一种可能的实现方式中,所述一级供应商节点设备或者所述其他区块链实体节点设备,还用于当所述应付款到期后,向所述核心企业节点设备兑付应付款,响应于所述应付款兑付成功,将持有的utxo进行无效化签名或者返还给所述核心企业节点设备。

本发明的第二方面提供一种基于区块链的供应链交易隐私保护方法,应用于供应商节点设备中,所述方法包括:

接收核心企业节点设备发送的机密交易并解密;

将所述机密交易中的utxo拆分为第一utxo和第二utxo,所述第一utxo中的第一隐藏金额和所述第二utxo中的第二隐藏金额之和等于所述utxo中的隐藏金额;

基于所述第一utxo和所述第二utxo与其他区块链实体节点设备进行交易;

基于可监管的bulletproof算法,对所述第一utxo和所述第二utxo进行范围证明;

向混淆服务提供商节点设备发送针对所述第一utxo和所述第二utxo的混淆请求,以使所述混淆服务提供商节点设备对所述第一utxo和所述第二utxo进行混淆。

本发明的第三方面提供一种基于区块链的供应链交易隐私保护方法,应用于混淆服务提供商节点设备中,所述方法包括:

接收供应商节点设备针对第一utxo和第二utxo发送的混淆请求,所述混淆请求携带有随机数;

基于pedersen承诺的可监管可证明混淆算法,对所述第一utxo和所述第二utxo进行可混淆证明,并使用所述随机数对所述第一utxo和所述第二utxo进行混淆;

输出与所述第一utxo等值的第三utxo,输出与所述第二utxo等值的第四utxo,以及输出可混淆证明。

本发明的第四方面提供一种区块链节点设备,所述区块链节点设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的基于区块链的供应链交易隐私保护方法的下载程序,所述基于区块链的供应链交易隐私保护方法的下载程序被所述处理器执行时实现所述的基于区块链的供应链交易隐私保护方法。

本发明的第五方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于区块链的供应链交易隐私保护方法的下载程序,所述基于区块链的供应链交易隐私保护方法的下载程序可被一个或者多个处理器执行以实现所述的基于区块链的供应链交易隐私保护方法。

在上述技术方案中,通过引入机密交易的概念,将核心企业的明文应付款加密成机密交易并上链,只有交易双方能够解密机密交易中的金额,保护了交易隐私不被泄露,保障了区块链实体商业机密,同时,基于可监管的bulletproof算法,对所述机密交易中的拆分交易进行范围证明,基于pedersen承诺的可监管可证明混淆算法将所述拆分交易混淆成与所述拆分交易等值的其他交易,监管方可以通过本地存储的签名及参数完成监管,从而实现了多方监管。

附图说明

图1是本发明实施例公开的一种基于区块链的供应链交易隐私保护系统的架构示意图;

图2为本发明实施例公开的一种基于区块链的供应链交易隐私保护方法的流程示意图;

图3为本发明实施例公开的另一基于区块链的供应链交易隐私保护方法的流程示意图;

图4为本发明实施例公开的另一基于区块链的供应链交易隐私保护方法的流程示意图;

图5为本发明实施例公开的基于区块链的供应链交易隐私保护装置的功能模块图;

图6为本发明实施例公开的另一基于区块链的供应链交易隐私保护装置的功能模块图;

图7为本发明实施例公开的另一基于区块链的供应链交易隐私保护装置的功能模块图;

图8为本发明实施例公开的一种区块链节点设备的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。

此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

请参见图1,图1是本发明实施例公开的一种基于区块链的供应链交易隐私保护系统的架构示意图。

如图1所示,基于区块链的供应链交易隐私保护系统可以包括,但不限于:基于区块链的供应链平台10、核心企业节点设备11、一级供应商节点设备12、混淆服务提供商节点设备13、监管机构节点设备14以及其他区块链实体节点设备。

在一个可选的实施例中,所述其他区块链实体节点设备可以包括以下一种或多种的组合:二级供应商节点设备15、银行节点设备15、保理商节点设备15。所述核心企业、一级供应商、二级供应商、银行、保理商均称之为区块链实体。所述核心企业节点设备11、一级供应商节点设备12、二级供应商节点设备15、银行节点设备15、保理商节点设备称15之为区块链实体节点设备。

区块链实体在接入基于区块链的供应链平台10之前,先向证书颁发机构(certificateauthority,ca)申请数字证书。ca在判明申请者的身份后,便为申请者分配一个公钥,同时将分配的公钥与申请者的身份信息关联起来并签字后形成数字证书发给申请者。后续,当区块链实体接入基于区块链的供应链平台10时,基于区块链的供应链平台10使用ca的公钥对接入的区块链实体的数字证书上的签字进行验证,当验证通过,则数字证书被认为是有效的,允许区块链实体接入基于区块链的供应链平台10,当验证失败,则数字证书被认为是无效的,拒绝区块链实体接入基于区块链的供应链平台10。所述数字证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、签字和有效期等等。

在一些实施例中,核心企业节点设备11,用于将核心企业承诺给一级供应商的应付款进行加密得到机密交易,对所述机密交易进行签名并上传签名后的交易数据至基于区块链的供应链平台10。

示例性的,核心企业购买一级供应商的产品并承诺应付款,一级供应商可基于所述应付款的一部分购买二级供应商的产品,二级供应商可以进一步将一级供应商承诺的应付款拆分后购买其他二级供应商的产品,以此类推。保理商可以购买一级供应商、二级供应商持有的应付款。银行可以基于供应商的应付款提供贷款。

为了避免交易隐私被泄露,核心企业购买一级供应商的产品并承诺应付款之后,核心企业通过核心企业节点设备11对所述应付款进行加密得到机密交易,确保了核心企业与一级供应商之间的交易隐私。

所述utxo的合法性通过核心企业的信用来保证。核心企业的信用体现在核心企业本身。如果一个企业不能保证信用,那么就不能被当作核心企业。

在一个可选的实施例中,所述核心企业节点设备11将核心企业承诺给一级供应商的应付款进行加密得到机密交易:

获取第一系统参数g和第二系统参数h;

选取随机数r;

通过pedersen承诺将所述应付款x进行加密得到机密交易,所述机密交易中的utxo=gehr,其中,所述e为所述应付款。

在该可选的实施例中,所述第一系统参数g和第二系统参数h是离散对数的基,是一个全世界范围内公开的系统参数。随机数r是由核心企业随机选择的一个数。

在一些实施例中,一级供应商节点设备12,用于利用所述基于区块链的供应链平台10接收所述机密交易并解密后输出给所述一级供应商,基于可监管的bulletproof算法,对所述机密交易中的拆分交易进行范围证明,以及向混淆服务提供商节点设备发送针对所述拆分交易的混淆请求。

一级供应商作为核心企业应付款的接收方,通过一级供应商节点设备12接收核心企业节点设备11发送的机密交易。核心企业可以通过密钥协商等方式告知一级供应商应付款及随机数r。

一级供应商作为核心企业应付款的接收方,通过一级供应商节点设备12接收核心企业节点设备11发送的机密交易。核心企业可以通过密钥协商等方式告知一级供应商应付款及随机数r。

在一个可选的实施例中,所述一级供应商节点设备,还用于:

从所述监管机构节点设备14获取多组随机数;

根据所述多组随机数,生成可监管的bulletproof算法。

具体的,所述多组随机数包括第一参数、第二参数及第三参数,所述根据所述多组随机数,生成可监管的bulletproof算法包括:

确定交易数据,基于所述交易数据计算得到第一计算数及第二计算数,并生成第一随机数;

利用bulletproof范围证明基于所述第一计算数、所述第二计算数及所述第一随机数计算第一证明参数;

利用所述bulletproof范围证明基于所述第一参数、所述第二参数及所述第三参数计算第二证明参数;

基于所述第一计算数及所述第二参数计算目标证明参数,以生成可监管的bulletproof算法。

在该实施方式中,原始的bulletproof算法是当前最高效的范围证明算法,用于证明一个承诺的值处于[0,2n-1]之间。但是原始的bulletproof算法中的随机数是证明者自己随机生成的,而监管方无法进行监管。

所述一级供应商节点设备可以在进行范围证明之前,可以向监管机构节点设备14申请多组随机数,即第一参数、第二参数及第三参数,分别为sl,sr,ρ,并根据这些参数以及原始bulletproof算法,生成可监管的bulletproof算法。

具体的,可以对所述交易数据进行二进制展开;计算展开后的交易数据中的每个二进制数与2n的商值得到所述第一计算数;计算所述第一计算数与单位数组的差值得到所述第二计算数。所述第一证明参数其中,h、g、h均为系统参数,α为所述第一随机数,al为所述第一计算数,ar为所述第二计算数,所述第二证明参数其中,ρ为所述第一参数,sl为所述第二参数,sr为所述第三参数,目标证明参数p=al-z·1n+sl·x,其中,z为第一公开参数,x为第二公开参数。其中,原始的bulletproof算法属于现有技术,在此不再赘述。

监管机构节点设备14可以保存随机数sl,sr,ρ,同时,将sl,sr,ρ代入原始bulletproof算法中的计算s,其中,s为第二证明参数,并使用私钥对s进行签名,在本地保存签名。后续,监管机构节点设备14即可根据参数解密出交易数据。

可选的,监管机构节点设备14还可以将s以及签名发送给所述一级供应商节点设备,以使得所述一级供应商节点设备验证所述签名的合法性,从而确定上述多组随机数的真实性。

所述一级供应商节点设备基于可监管的bulletproof算法,对所述机密交易中的拆分交易进行范围证明包括:

将所述utxo拆分为第一utxo和第二utxo,其中,所述第一utxo中的金额和所述第二utxo中的金额之和等于所述utxo中的金额;

基于所述可监管的bulletproof算法,对所述第一utxo和所述第二utxo进行范围证明。

一级供应商可以将机密交易中的utxo拆分后交易给二级供应商、保理商或者通过银行进行抵押贷款。二级供应商、保理商或者银行接收到拆分后的utxo可以进一步进行拆分并交易。一旦拆分后的utxo被使用后,原来的utxo就不再可用,但是关于原来的utxo的交易数据依旧会记录在基于区块链的供应链平台10上,供溯源和查询。

当一笔utxo0拆分成utxo1和utxo2时,可以使用pedersen承诺的加法同态性,得到utxo0=utxo1+utxo2,并且可以使用可监管的bulletproof算法证明拆分后的utxo1和utxo2中的金额均为合法值,即utxo中的金额为一定范围内的正数。

示例性的,假设该utxo的持有者可以将其拆分为utxo1和utxo2。使用pedersen承诺的加法同态性得到:由此可见,e0=e1+e2,如此保证了两笔utxo中的金额之和等于原utxo所隐藏的金额。于此同时,使用可监管的bulletproof算法生成范围证明,用于证明utxo1和utxo2中的金额在合理范围内。举例来说,金额的范围可以设置为[0,2^32-1]。

其中,在使用可监管的bulletproof算法时,需要提前从监管机构节点设备14中获取随机数。

在一个可选的实施例中,所述一级供应商节点设备,还用于:

基于所述第一utxo和所述第二utxo与其他区块链实体节点设备进行交易。

需要说明的是,上述实施例中以将utxo拆分为两个子utxo为例进行了说明,实际上一级供应商节点设备12也可以将utxo拆分成3份或者更多份,以更灵活的与二级供应商进行交易。

所述混淆服务提供商节点设备,用于基于pedersen承诺的可监管可证明混淆算法将所述拆分交易混淆成与所述拆分交易等值的其他交易;

所述混淆服务提供商节点设备,还用于:

接收所述监管机构节点设备14发送的监管方签名;

根据所述监管方签名,生成基于pedersen承诺的可监管可证明混淆算法。

所述混淆服务提供商节点设备,还用于:

根据所述可监管可证明混淆算法,对所述第一utxo和所述第二utxo进行可混淆证明,并对所述第一utxo和所述第二utxo进行混淆;

输出与所述第一utxo等值的第三utxo,以及输出与所述第二utxo等值的第四utxo。

在该实施方式中,监管机构节点设备14可以预先生成监管方签名,将加密后的监管方签名发送给混淆服务提供商节点设备,混淆服务提供商节点设备根据该监管方签名及原始的基于pedersen承诺的可证明混淆算法,生成基于pedersen承诺的可监管可证明混淆算法。

之后,混淆服务提供商节点设备即可根据该基于pedersen承诺的可监管可证明混淆算法来对所述第一utxo和所述第二utxo进行可混淆证明,并根据接收到的随机数对所述第一utxo和所述第二utxo进行混淆;同时,输出与所述第一utxo等值的第三utxo,以及输出与所述第二utxo等值的第四utxo。

其中,混淆的结果可以验证,但是只有混淆服务提供商以及utxo的拥有者可以知道输入utxo与输出utxo的对应关系。

其中,基于pedersen承诺的可监管可证明混淆算法具体可以参见下文方法实施例中的描述。

所述一级供应商节点设备或者所述其他区块链实体节点设备,还用于当所述应付款到期后,向所述核心企业节点设备兑付应付款,响应于所述应付款兑付成功,将持有的utxo进行无效化签名或者返还给所述核心企业节点设备。

所述utxo中标记了应付款的到期时间戳。

当持有utxo的区块链实体(例如,一级供应商、二级供应商、保理商、银行等)通过各自的节点设备确定应付款到期后,可以通过所述基于区块链的供应链平台10上记录的交易数据向所述核心企业节点设备11兑付应付款。

核心企业通过核心企业节点设备11接收到兑付应付款的信息时,确认应付款是否到期。在确认应付款到期后,兑付债款。收到债款后的区块链实体进行签名,表示已经收到了债款。持有utxo的区块链实体在收到债款的同时或者之后,将自身所持有的utxo无效化签名或者返还给核心企业,形成完整的交易数据记录在基于区块链的供应链平台10上。

需要说明的是,所述基于区块链的供应链交易隐私保护系统中的基于区块链的供应链平台10、核心企业节点设备11、一级供应商节点设备12以及混淆服务提供商节点设备13必须存在的,所述其他区块链实体节点设备可选的存在。即,二级供应商节点设备15、银行节点设备15、保理商节点设备15可选的存在于所述基于区块链的供应链交易隐私保护系统中。

参见图2,图2为本发明实施例公开的一种基于区块链的供应链交易隐私保护方法的流程示意图。其中,根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。

所述基于区块链的供应链交易隐私保护方法可以应用于核心企业节点设备中。所述基于区块链的供应链交易隐私保护方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。

s21,确定与一级供应商交易的应付款。

核心企业购买一级供应商的产品并承诺应付款。

s22,获取第一系统参数g和第二系统参数h。

所述第一系统参数g和第二系统参数h是离散对数的基,是一个全世界范围内公开的系统参数。

s23,选取随机数r。

随机数r是由核心企业随机选择的一个数。

s24,通过pedersen承诺将所述应付款进行加密得到机密交易。

为了避免交易隐私被泄露,核心企业购买一级供应商的产品并承诺应付款之后,核心企业通过核心企业节点设备11对所述应付款进行加密得到机密交易。

所述机密交易中的utxo=gehr,其中,所述e为所述应付款。所述utxo的合法性通过核心企业的信用来保证。核心企业的信用体现在核心企业本身。如果一个企业不能保证信用,那么就不能被当作核心企业。

承诺(commitment):将一个数值隐藏进一个加密后的密文中。承诺者可以之后选择解密承诺的数值。承诺一旦发出,则承诺者无法找到另外一个数值依然具有相同的承诺计算结果。

使用承诺算法隐藏交易金额,使得只有交易双方可以看到交易的金额,而其他人看不到交易金额,同时双方无法伪造交易金额。

s25,对所述机密交易进行签名并上传签名后的交易数据至基于区块链的供应链平台。

核心企业通过核心企业节点设备使用数字签名技术对应付款进行加密。数字签名技术是基于非对称加密算法和信息摘要算法实现的对于消息来源及完整性的认证,同时是签名者不可抵赖的保证。在一个数字签名系统中有两个角色,一个是消息的签名者,一个是消息的认证者。消息的签名者根据自己的私钥可以对一条消息的信息摘要进行签名,消息的认证者根据自己的公钥对一条消息的信息摘要进行验证。如果验证通过则可证明该消息的来源是消息的签名者,消息的信息摘要相同且签名者不可抵赖。

通过对应付款进行加密得到机密交易发送给一级供应商,确保了核心企业与一级供应商之间的交易隐私。

在一个可选的实施例中,所述方法还包括:

当接收到兑付应付款的信息时,确认所述应付款是否到期;

响应于应付款到期,兑付债款。

核心企业通过核心企业节点设备接收到兑付应付款的信息时,确认应付款是否到期。在确认应付款到期后,兑付债款。收到债款后的区块链实体进行签名,表示已经收到了债款。持有utxo的区块链实体在收到债款的同时或者之后,将自身所持有的utxo无效化签名或者返还给核心企业,形成完整的交易数据记录在基于区块链的供应链平台上。

本实施例所述的基于区块链的供应链隐私交易方法,通过引入机密交易的概念,将核心企业的明文应付款加密成机密交易并上链,只有交易双方能够解密机密交易中的金额,保护了交易隐私不被泄露,保障了区块链实体商业机密。

请参见图3,图3是本发明实施例公开的另一种基于区块链的供应链交易隐私保护方法的流程图。

所述基于区块链的供应链交易隐私保护方法可以应用于一级供应商节点设备中。所述基于区块链的供应链交易隐私保护方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。

s31、接收核心企业节点设备发送的机密交易并解密。

一级供应商作为核心企业应付款的接收方,通过一级供应商节点设备12接收核心企业节点设备发送的机密交易。核心企业可以通过密钥协商等方式告知一级供应商应付款及随机数r。根据应付款及随机数进行解密。

s32、将所述机密交易中的utxo拆分为第一utxo和第二utxo。

所述第一utxo中的第一隐藏金额和所述第二utxo中的第二隐藏金额之和等于所述utxo中的隐藏金额。

一级供应商可基于所述应付款的一部分购买二级供应商的产品。

其中,所述第一utxo中的金额和第二utxo中的金额之和等于所述机密交易中的utxo中的金额。

s33、基于所述第一utxo和所述第二utxo与其他区块链实体节点设备进行交易。

一级供应商可以将机密交易中的utxo拆分后交易给二级供应商、保理商或者通过银行进行抵押贷款,将交易数据发送给所述基于区块链的供应链平台进行存储。二级供应商、保理商或者银行接收到拆分后的utxo可以进一步进行拆分并交易。一旦拆分后的utxo被使用后,原来的utxo就不再可用,但是关于原来的utxo的交易数据依旧会记录在基于区块链的供应链平台上,供溯源和查询。

s34、基于可监管的bulletproof算法,对所述第一utxo和所述第二utxo进行范围证明。

可选的,一级供应商节点设备可以从所述监管机构节点设备获取多组随机数,并根据所述多组随机数,生成可监管的bulletproof算法。

在该实施方式中,原始的bulletproof算法是当前最高效的范围证明算法,用于证明一个承诺的值处于[0,2n-1]之间。但是原始的bulletproof算法中的随机数是证明者自己随机生成的,而监管方无法进行监管。

所述一级供应商节点设备可以在进行范围证明之前,可以向监管机构节点设备14申请多组随机数,比如:sl,sr,ρ,并根据申请的随机数以及原始bulletproof算法,生成可监管的bulletproof算法。其中,原始的bulletproof算法属于现有技术,在此不再赘述。

当一笔utxo0拆分成utxo1和utxo2时,可以使用pedersen承诺的加法同态性,得到utxo0=utxo1+utxo2,并且可以使用可监管的bulletproof算法证明拆分后的utxo1和utxo2中的金额均为合法值,即utxo中的金额为一定范围内的正数。

示例性的,假设该utxo的持有者可以将其拆分为utxo1和utxo2。使用pedersen承诺的加法同态性得到:由此可见,e0=e1+e2,如此保证了两笔utxo中的金额之和等于原utxo所隐藏的金额。于此同时,使用可监管的bulletproof算法生成范围证明,用于证明utxo1和utxo2中的金额在合理范围内。举例来说,金额的范围可以设置为[0,2^32-1]。

s35、向混淆服务提供商节点设备发送针对所述第一utxo和所述第二utxo的混淆请求,以使所述混淆服务提供商节点设备对所述第一utxo和所述第二utxo进行混淆。

其中,混淆请求还可以携带有随机数。

举例来说,假设所述第一utxo为交易g,h均为系统参数,e1为交易金额,r1为随机数,所述一级供应商节点设备12发送交易上链,附带gas,其中,c1代表了等待接收的utxo交易,gas代表了该交易可以进行混淆的次数。

首先,所述一级供应商节点设备选择随机数r2,并计算混淆之后的结果以及混淆之后的gas’,gas’具体值取决于系统具体参数的设置,假设gas的初始值为3,每次混淆减1。所述一级供应商节点设备计算hash1=hash(c′1||gas′),并将hash1映射到并计算并提供证明:chaum-pedersen(c′1,chash),其中,chaum-pedersen(c′1,chash)证明所述一级供应商节点设备可以揭露c′1,也就意味着所述一级供应商节点设备是所述第一utxo的拥有者;证明了该轮混淆之后的gas是能够被所述一级供应商节点设备接受的正确gas值。其中,chaum-pedersen证明属于现有技术,在此不再赘述。

之后,所述一级供应商节点设备即可将携带有的混淆请求发送给所述混淆服务提供商节点设备,以触发所述混淆服务提供商节点设备对所述第一utxo进行混淆。

同理,所述一级供应商节点设备可以按照上述方式向混淆服务提供商节点设备发送针对所述第二utxo的混淆请求,在此不再赘述。

在一个可选的实施例中,所述方法还包括:

当所述应付款到期后,向所述核心企业节点设备兑付应付款;

响应于所述应付款兑付成功,将持有的utxo进行无效化签名或者返还给所述核心企业节点设备。

所述utxo中标记了应付款的到期时间戳。

当持有utxo的区块链实体(例如,一级供应商、二级供应商、保理商、银行等)通过各自的节点设备确定应付款到期后,可以通过基于区块链的供应链平台上存储的交易数据向核心企业兑付应付款。

本实施例所述的基于区块链的供应链隐私交易方法,通过引入机密交易的概念,将核心企业的明文应付款加密成机密交易并上链,只有交易双方能够解密机密交易中的金额,保护了交易隐私不被泄露,保障了区块链实体商业机密。同时,由于该可监管的bulletproof算法是基于监管机构节点设备发送的随机数生成的,因此,监管方可以根据本地保存的签名和随机数来对交易进行监管。

请参见图4,图4是本发明实施例公开的另一种基于区块链的供应链交易隐私保护方法的流程图。

所述基于区块链的供应链交易隐私保护方法可以应用于混淆服务提供商节点设备中。所述基于区块链的供应链交易隐私保护方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。

s41、接收供应商节点设备针对第一utxo和第二utxo发送的混淆请求。

其中,一级供应商节点设备发送给二级供应商节点设备的交易上链后,需要进行几轮混淆使得任何人都无法跟踪到交易的接收者。

一级供应商节点设备可以向混淆服务提供商节点设备发送针对第一utxo和第二utxo发送的混淆请求,所述混淆请求携带有随机数。

举例来说,假设所述第一utxo为交易所述一级供应商节点设备12发送交易上链后,即可将携带有的混淆请求发送给所述混淆服务提供商节点设备,r2为随机数。具体的,可以参照上文的描述,在此不再赘述。

s42、基于pedersen承诺的可监管可证明混淆算法,对所述第一utxo和所述第二utxo进行可混淆证明,并使用所述随机数对所述第一utxo和所述第二utxo进行混淆。

本发明实施例中,当混淆服务提供商节点设备接收到了一定的混淆请求之后,假设接收到了k个混淆请求,可以将k个混淆请求所针对的utxo混淆成另外k个等值的utxo,从而实现了交易的匿名。

可选的,混淆服务提供商节点设备可以预先接收所述监管机构节点设备发送的监管方签名;根据所述监管方签名,生成基于pedersen承诺的可监管可证明混淆算法。

具体的,所述监管方签名包括随机映射参数以及第一挑战参数,所述混淆服务提供商节点设备根据所述监管方签名,生成基于pedersen承诺的可监管可证明混淆算法包括:

生成多个第一随机数,并根据所述多个第一随机数以及所述第一挑战参数,计算第二挑战参数,以及根据所述第二挑战参数计算第三挑战参数;

计算第一中间变量和第二中间变量;

根据所述第一挑战参数、所述第二挑战参数、所述第三挑战参数以及所述第一中间变量,进行乘积证明;

根据目标机密交易、混淆交易、所述随机映射参数以及所述第二中间变量,进行乘幂证明,以生成基于pedersen承诺的可监管可证明混淆算法,其中,所述目标机密交易为混淆前的交易,所述混淆交易为混淆后的交易。

具体算法如下:

所述监管机构节点设备预先随机选择一次性π(i),即随机映射参数,计算x=hash(ca1||…||cau),并使用监管方私钥对x进行签名,即签名后的第一挑战参数,加密后发送至混淆服务提供商节点设备,其中,π(i)为[1,k]范围内的映射关系,{π(1),π(2),…,π(k)}是{1,2,…,k}的重新排列。g1,g2,…,gk,h均为系统参数,rai为随机数,cai为中间变量,x为第一挑战参数。

混淆服务提供商节点设备在获取到π(i)和x之后,混淆服务提供商节点设备可以进行如下计算:

随机选择u个随机数{s1,…,su},即多个第一随机数,计算:

所述第二挑战参数y=hash(cb1||…||cbu)

所述第三挑战参数z=hash(cb1||…||cbu||y)。

设定并计算:

其中,y为第二挑战参数,z为第三挑战参数,ρi为随机数,其余参数为中间变量。

接下来,混淆服务提供商节点设备可以进行如下证明:

使用乘积证明(productargument)证明:

其中,上述乘积证明可以用于证明混淆服务提供商节点设备找到了一个随机的混淆π(i),证明混淆前后的顺序被打乱。

使用乘幂证明(multi-exponentiationargument)证明:

其中,上述乘幂证明可以用于证明乘幂证明中的π(i)与乘积证明中使用的π(i)是同一个π(i),即证明了混淆的方法是相同的。

其中,上述乘积证明和乘幂证明的具体证明方法属于现有技术,在此不再赘述。

其中,混淆服务提供商节点设备可以使用随机数对所述第一utxo和所述第二utxo进行混淆。比如:计算其中,c′i为混淆后的交易数据,cπ(i)为混淆前的交易数据,ρπ(i)为混淆请求中携带的随机数。

s43、输出与所述第一utxo等值的第三utxo,输出与所述第二utxo等值的第四utxo,以及输出可混淆证明。

其中,混淆服务提供商节点设备分别对所述第一utxo及所述第二utxo进行混淆,可以得到等值的第三utxo和第四utxo。

举例来说,假设所述混淆服务提供商节点设备接收到的随机数为r2,所述混淆服务提供商节点设备使用r2对所述第一utxo进行混淆,并将作为额外输出。

其中,混淆的结果可以验证,但是只有混淆服务提供商以及utxo的拥有者可以知道输入utxo与输出utxo的对应关系。

在图4所描述的方法流程中,可以通过混淆服务提供商节点设备基于可监管可证明混淆算法对旧的utxo进行混淆,生成等值的其他utxo,从而可以实现交易的匿名,使得任何人无法追踪到交易的接收者,同时,由于该可监管可证明混淆算法是基于监管机构节点设备发送的监管方签名生成的,因此,监管方可以实现对utxo混淆的追踪和监管。

以上所述,仅是本发明的具体实施方式,但本发明的保护范围并不局限于此,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。

请参见图5,图5是本发明实施例公开的一种基于区块链的供应链交易隐私保护装置的较佳实施例的功能模块图。

在一些实施例中,所述基于区块链的供应链交易隐私保护装置运行于核心企业节点设备中。所述基于区块链的供应链交易隐私保护装置可以包括多个由程序代码段所组成的功能模块。所述基于区块链的供应链交易隐私保护装置中的各个程序段的程序代码可以存储于调度服务器的存储器中,并由至少一个处理器所执行,以执行(详见图2描述)基于区块链的供应链交易隐私保护方法中的全部或者部分步骤,具体请参见2中的相关描述,在此不再赘述。

本实施例中,所述基于区块链的供应链交易隐私保护装置根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:确定模块501、获取模块502、选取模块503、加密模块504及签名模块505。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。

所述确定模块501,用于确定与一级供应商交易的应付款。

所述获取模块502,用于获取第一系统参数g和第二系统参数h。

所述选取模块503,用于选取随机数r。

所述加密模块504,用于通过pedersen承诺将所述应付款进行加密得到机密交易。

所述签名模块505,用于对所述机密交易进行签名并上传签名后的交易数据至基于区块链的供应链平台。

本实施例所述的基于区块链的供应链隐私交易装置,通过引入机密交易的概念,将核心企业的明文应付款加密成机密交易并上链,只有交易双方能够解密机密交易中的金额,保护了交易隐私不被泄露,保障了区块链实体商业机密。

请参见图6,图6是本发明实施例公开的另一种基于区块链的供应链交易隐私保护装置的较佳实施例的功能模块图。

在一些实施例中,所述基于区块链的供应链交易隐私保护装置运行于供应商节点设备中。所述基于区块链的供应链交易隐私保护装置可以包括多个由程序代码段所组成的功能模块。所述基于区块链的供应链交易隐私保护装置中的各个程序段的程序代码可以存储于调度服务器的存储器中,并由至少一个处理器所执行,以执行(详见图3描述)基于区块链的供应链交易隐私保护方法中的全部或者部分步骤,具体请参见3中的相关描述,在此不再赘述。

本实施例中,所述基于区块链的供应链交易隐私保护装置根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:接收模块601、拆分模块602、交易模块603、证明模块604及发送模块605。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。

接收模块601,用于接收核心企业节点设备发送的机密交易并解密;

拆分模块602,用于将所述机密交易中的utxo拆分为第一utxo和第二utxo,所述第一utxo中的第一隐藏金额和所述第二utxo中的第二隐藏金额之和等于所述utxo中的隐藏金额;

交易模块603,用于基于所述第一utxo和所述第二utxo与其他区块链实体节点设备进行交易;

证明模块604,用于基于可监管的bulletproof算法,对所述第一utxo和所述第二utxo进行范围证明;

发送模块605,用于向混淆服务提供商节点设备发送针对所述第一utxo和所述第二utxo的混淆请求,以使所述混淆服务提供商节点设备对所述第一utxo和所述第二utxo进行混淆。

在图6所描述的装置中,通过引入机密交易的概念,将核心企业的明文应付款加密成机密交易并上链,只有交易双方能够解密机密交易中的金额,保护了交易隐私不被泄露,保障了区块链实体商业机密。同时,由于该可监管的bulletproof算法是基于监管机构节点设备发送的随机数生成的,因此,监管方可以根据本地保存的签名和随机数来对交易进行监管。

请参见图7,图7是本发明实施例公开的另一种基于区块链的供应链交易隐私保护装置的较佳实施例的功能模块图。

在一些实施例中,所述基于区块链的供应链交易隐私保护装置运行于混淆服务提供商节点设备中。所述基于区块链的供应链交易隐私保护装置可以包括多个由程序代码段所组成的功能模块。所述基于区块链的供应链交易隐私保护装置中的各个程序段的程序代码可以存储于调度服务器的存储器中,并由至少一个处理器所执行,以执行(详见图4描述)基于区块链的供应链交易隐私保护方法中的全部或者部分步骤,具体请参见4中的相关描述,在此不再赘述。

本实施例中,所述基于区块链的供应链交易隐私保护装置根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:接收模块701、证明混淆模块702及输出模块703。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。

接收模块701,用于接收供应商节点设备针对第一utxo和第二utxo发送的混淆请求,所述混淆请求携带有随机数;

证明混淆模块702,用于基于pedersen承诺的可监管可证明混淆算法,对所述第一utxo和所述第二utxo进行可混淆证明,并使用所述随机数对所述第一utxo和所述第二utxo进行混淆;

输出模块703,用于输出与所述第一utxo等值的第三utxo,输出与所述第二utxo等值的第四utxo,以及输出可混淆证明。

在图7所描述的装置中,可以通过混淆服务提供商节点设备基于可监管可证明混淆算法对旧的utxo进行混淆,生成等值的其他utxo,从而可以实现交易的匿名,使得任何人无法追踪到交易的接收者,同时,由于该可监管可证明混淆算法是基于监管机构节点设备发送的监管方签名生成的,因此,监管方可以实现对utxo混淆的追踪和监管。

请参见图8,图8为本发明实施例公开的一种区块链节点设备的结构示意图。

在本实施例中,所述区块链节点设备8可以包括存储器81、处理器82和总线83及收发器84。所述区块链节点设备8用于实现图5至图7中任一个所述的基于区块链的供应链交易隐私保护装置的功能。

其中,存储器81至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器81在一些实施例中可以是所述区块链节点设备8的内部存储单元,例如所述区块链节点设备8的硬盘。存储器81在另一些实施例中也可以是所述区块链节点设备8的外部存储设备,例如所述区块链节点设备8上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器81还可以既包括所述区块链节点设备8的内部存储单元,也包括外部存储设备。存储器81不仅可以用于存储安装于所述区块链节点设备8的应用程序及各类数据,例如基于区块链的供应链交易隐私保护装置及各个模块的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。

处理器82在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他基于区块链的供应链交易隐私保护芯片,用于运行存储器81中存储的程序代码或处理数据。

该总线83可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

进一步地,所述区块链节点设备8还可以包括网络接口,网络接口可选的可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该区块链节点设备8与其他调度服务器之间建立通信连接。

可选地,该区块链节点设备8还可以包括用户接口,用户接口可以包括显示器(display)、输入单元,比如键盘(keyboard),可选的,用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organiclight-emittingdiode,oled)触摸器等。其中,显示器也可以称为显示屏或显示单元,用于显示在所述调度服务器中处理的消息以及用于显示可视化的用户界面。

图8仅示出了具有组件81-84的所述区块链节点设备8,本领域技术人员可以理解的是,图8示出的结构并不构成对所述区块链节点设备8的限定,既可以是总线型结构,也可以是星形结构,所述区块链节点设备8还可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。

在上述实施例中,可以全部或部分地通过应用程序、硬件、固件或者其任意组合来实现。当使用应用程序实现时,可以全部或部分地以计算机程序产品的形式实现。

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如,同轴电缆、光纤、数字用户线)或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,dvd),或者半导体介质(例如,固态硬盘(solidstatedisk,ssd))等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1