基于区块链的供应链交易隐私保护系统、方法及相关设备
技术领域
[0001] 本
发明涉及区块链技术领域,尤其涉及一种基于区块链的供应链交易隐私保护系统、方法及相关设备。
背景技术
[0002] 现有的基于区块链的供应链系统,将核心企业
节点设备、供应商节点设备、保理商节点设备及
银行节点设备等通过区块链联系了起来。核心企业节点设备、供应商节点设备、保理商节点设备及银行节点设备等作为区块链节点加入基于区块链的供应链系统时,需要经过授权才能加入,区块链节点之间具有一定的信任
基础,通过应收账款、票据凭证、抵押货物凭证等交易数据上链的方式增强了数据的可信性。
[0003] 然而,这些交易数据中往往存在商业机密,将交易数据明文上链,导致了商业机密和个人隐私的泄露。
[0004] 因此,有必要提供一种基于区块链的供应链交易隐私保护方案。
发明内容
[0005] 本发明的主要目的在于提供一种基于区块链的供应链交易隐私保护系统、方法及相关设备,旨在解决基于区块链的供应链中交易数据明文上链导致隐私泄露的技术问题。
[0006] 为实现上述目的,本发明的第一方面提供一种基于区块链的供应链交易隐私保护系统,所述系统包括:
[0007] 核心企业节点设备,用于将核心企业承诺给一级供应商的应付款进行加密得到机密交易,对所述机密交易进行签名并上传签名后的交易数据至基于区块链的供应链平台;
[0008] 一级供应商节点设备,用于接收所述机密交易并解密后输出给所述一级供应商;
[0009] 所述基于区块链的供应链平台,用于存储交易数据。
[0010] 根据本发明的一个可选
实施例,所述核心企业节点设备将核心企业承诺给一级供应商的应付款进行加密得到机密交易包括:
[0011] 获取第一系统参数g和第二系统参数h;
[0012] 选取随机数r;
[0013] 通过Pedersen承诺将所述应付款进行加密得到机密交易,所述机密交易中的UTXO=gxhr,其中,所述x为所述应付款。
[0014] 根据本发明的一个可选实施例,所述一级供应商节点设备,还用于:
[0015] 将所述UTXO拆分为第一UTXO和第二UTXO,其中,所述第一UTXO中的金额和第二UTXO中的金额之和等于所述UTXO中的金额;
[0016] 基于所述第一UTXO和第二UTXO与其他区块链实体节点设备进行交易。
[0017] 根据本发明的一个可选实施例,所述一级供应商节点设备,还用于:基于Bulletproof对所述第一UTXO和第二UTXO进行范围证明。
[0018] 根据本发明的一个可选实施例,所述系统还包括:监管机构节点设备,用于接收交易数据,对所述交易数据进行校验,响应于校验成功,将所述交易数据上传至所述基于区块链的供应链平台。
[0019] 根据本发明的一个可选实施例,所述系统还包括:至少一个
风险评估机构节点设备,用于读取所述基于区块链的供应链平台上存储的交易数据,使用预先训练好的风险评估模型对所述交易数据进行风险评估,并将风险评估结果发送给所述其他区块链实体节点设备。
[0020] 根据本发明的一个可选实施例,所述一级供应商节点设备或者所述其他区块链实体节点设备,还用于当所述应付款到期后,向所述核心企业节点设备兑付应付款,响应于所述应付款兑付成功,将持有的UTXO进行无效化签名或者返还给所述核心企业节点设备。
[0021] 根据本发明的一个可选实施例,所述其他区块链实体节点设备包括以下一种或多种的组合:二级供应商节点设备、银行节点设备、保理商节点设备。
[0022] 为实现上述目的,本发明的第二方面提供一种基于区块链的供应链交易隐私保护方法,应用于核心企业节点设备中,所述方法包括:
[0023] 确定与一级供应商交易的应付款;
[0024] 获取第一系统参数g和第二系统参数h;
[0025] 选取随机数r;
[0026] 通过Pedersen承诺将所述应付款进行加密得到机密交易,所述机密交易中的UTXO=gxhr,其中,所述x为所述应付款;
[0027] 对所述机密交易进行签名并上传签名后的交易数据至基于区块链的供应链平台。
[0028] 为实现上述目的,本发明的第三方面提供一种基于区块链的供应链交易隐私保护方法,应用于供应商节点设备中,所述方法包括:
[0029] 接收核心企业节点设备发送的机密交易并解密;
[0030] 将所述机密交易中的UTXO拆分为第一UTXO和第二UTXO,所述第一UTXO中的第一隐藏金额和第二UTXO中的第二隐藏金额之和等于所述UTXO中的隐藏金额;
[0031] 基于所述第一UTXO和第二UTXO与其他区块链实体节点设备进行交易;
[0032] 基于Bulletproof对所述第一UTXO和第二UTXO进行范围证明。
[0033] 为实现上述目的,本发明的第四方面提供一种区块链节点设备,所述区块链节点设备包括
存储器和处理器,所述存储器上存储有可在所述处理器上运行的基于区块链的供应链交易隐私保护方法的下载程序,所述基于区块链的供应链交易隐私保护方法的下载程序被所述处理器执行时实现所述的基于区块链的供应链交易隐私保护方法。
[0034] 为实现上述目的,本发明的第五方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于区块链的供应链交易隐私保护方法的下载程序,所述基于区块链的供应链交易隐私保护方法的下载程序可被一个或者多个处理器执行以实现所述的基于区块链的供应链交易隐私保护方法。
[0035] 本发明实施例所述的基于区块链的供应链交易隐私保护系统、方法、区块链节点设备及存储介质,通过引入机密交易的概念,将核心企业的明文应付款加密成机密交易并上链,只有交易双方能够解密机密交易中的金额,保护了交易隐私不被泄露,保障了区块链实体商业机密。
附图说明
[0036] 图1为本发明实施例的基于区块链的供应链交易隐私保护系统的架构示意图;
[0037] 图2为本发明实施例的基于区块链的供应链交易隐私保护系统的另一架构示意图;
[0038] 图3为本发明实施例的基于区块链的供应链交易隐私保护系统的另一架构示意图;
[0039] 图4为本发明实施例的基于区块链的供应链交易隐私保护方法的流程示意图;
[0040] 图5为本发明实施例的基于区块链的供应链交易隐私保护方法的另一流程示意图;
[0041] 图6为本发明实施例的基于区块链的供应链交易隐私保护装置的功能模块图;
[0042] 图7为本发明实施例的基于区块链的供应链交易隐私保护装置的另一功能模块图;
[0043] 图8为本发明实施例的区块链节点设备的结构示意图。
具体实施方式
[0044] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0045] 本
申请的
说明书和
权利要求书及上述附图中的术语“第一”、“第二”是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何
变形,意图在于
覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0046] 另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
[0047] 如图1所示,为本发明实施例的基于区块链的供应链交易隐私保护系统的架构示意图。
[0048] 基于区块链的供应链交易隐私保护系统1可以包括,但不限于:基于区块链的供应链平台10、核心企业节点设备11、一级供应商节点设备12、其他区块链实体节点设备。
[0049] 在一个可选的实施例中,所述其他区块链实体节点设备13可以包括以下一种或多种的组合:二级供应商节点设备13、银行节点设备13、保理商节点设备13。所述核心企业、一级供应商、二级供应商、银行、保理商均称之为区块链实体。所述核心企业节点设备11、一级供应商节点设备12、二级供应商节点设备13、银行节点设备13、保理商节点设备13称之为区块链实体节点设备。
[0050] 区块链实体在接入基于区块链的供应链平台10之前,先向证书颁发机构(Certificate Authority,CA)申请数字证书。CA在判明申请者的身份后,便为申请者分配一个公钥,同时将分配的公钥与申请者的身份信息关联起来并签字后形成数字证书发给申请者。后续,当区块链实体接入基于区块链的供应链平台10时,基于区块链的供应链平台10使用CA的公钥对接入的区块链实体的数字证书上的签字进行验证,当验证通过,则数字证书被认为是有效的,允许区块链实体接入基于区块链的供应链平台10,当验证失败,则数字证书被认为是无效的,拒绝区块链实体接入基于区块链的供应链平台10。所述数字证书的内容包括:
电子签证机关的信息、公钥用户信息、公钥、签字和有效期等等。
[0051] 在一些实施例中,核心企业节点设备11,用于将核心企业承诺给一级供应商的应付款进行加密得到机密交易,对所述机密交易进行签名并上传签名后的交易数据至基于区块链的供应链平台10。
[0052] 示例性的,核心企业购买一级供应商的产品并承诺应付款,一级供应商可基于所述应付款的一部分购买二级供应商的产品,二级供应商可以进一步将一级供应商承诺的应付款拆分后购买其他二级供应商的产品,以此类推。保理商可以购买一级供应商、二级供应商持有的应付款。银行可以基于供应商的应付款提供贷款。
[0053] 为了避免交易隐私被泄露,核心企业购买一级供应商的产品并承诺应付款之后,核心企业通过核心企业节点设备11对所述应付款进行加密得到机密交易,确保了核心企业与一级供应商之间的交易隐私。
[0054] 所述UTXO的合法性通过核心企业的信用来保证。核心企业的信用体现在核心企业本身。如果一个企业不能保证信用,那么就不能被当作核心企业。
[0055] 在一个可选的实施例中,所述核心企业节点设备11将核心企业承诺给一级供应商的应付款进行加密得到机密交易:
[0056] 获取第一系统参数g和第二系统参数h;
[0057] 选取随机数r;
[0058] 通过Pedersen承诺将所述应付款x进行加密得到机密交易,所述机密交易中的UTXO=gxhr,其中,所述x为所述应付款。
[0059] 在该可选的实施例中,所述第一系统参数g和第二系统参数h是离散对数的基,是一个全世界范围内公开的系统参数。随机数r是由核心企业随机选择的一个数。
[0060] 在一些实施例中,一级供应商节点设备12,用于利用所述基于区块链的供应链平台接收所述机密交易并解密后输出给所述一级供应商。
[0061] 一级供应商作为核心企业应付款的接收方,通过一级供应商节点设备12接收核心企业节点设备11发送的机密交易。核心企业可以通过密钥协商等方式告知一级供应商应付款及随机数r。
[0062] 在一个可选的实施例中,所述一级供应商节点设备12,还用于将所述UTXO拆分为第一UTXO和第二UTXO,基于所述第一UTXO和/或第二UTXO与其他区块链实体节点设备进行交易。
[0063] 所述一级供应商节点设备12将交易数据发送给所述基于区块链的供应链平台10进行存储。
[0064] 在该可选的实施例中,所述第一UTXO中的金额和第二UTXO中的金额之和等于所述UTXO中的金额。
[0065] 一级供应商可以将机密交易中的UTXO拆分后交易给二级供应商、保理商或者通过银行进行抵押贷款。二级供应商、保理商或者银行接收到拆分后的UTXO可以进一步进行拆分并交易。一旦拆分后的UTXO被使用后,原来的UTXO就不再可用,但是关于原来的UTXO的交易数据依旧会记录在基于区块链的供应链平台上,供溯源和查询。
[0066] 在一个可选的实施例中,所述一级供应商节点设备12,还用于基于Bulletproof对所述第一UTXO和第二UTXO进行范围证明。
[0067] 在该可选的实施例中,当一笔UTXO0拆分成UTXO1和UTXO2时,可以使用Pedersen承诺的加法同态性,得到UTXO0=UTXO1+UTXO2,并且可以使用Bulletproof
算法证明拆分后的UTXO1和UTXO2中的金额均为合法值,即UTXO中的金额为一定范围内的正数。
[0068] 示例性的,假设 该UTXO的持有者可以将其拆分为UTXO1和UTXO2。使用Pedersen承诺的加法同态性得到: 由此
可见,x0=x1+x2,如此保证了两笔UTXO中的金额之和等于原UTXO所隐藏的金额。于此同时,使用Bulletproof算法生成范围证明,用于证明UTXO1和UTXO2中的金额在合理范围内。举例来说,金额的范围可以设置为[0,2^32-1]。关于Bulletproof算法生成范围证明的过程,为
现有技术,本发明不再详细赘述。
[0069] 需要说明的是,上述实施例中以将UTXO拆分为两个子UTXO为例进行了说明,实际上一级供应商节点设备也可以将UTXO拆分成3份或者更多份,以更灵活的与二级供应商进行交易。
[0070] 在一个可选的实施例中,所述一级供应商节点设备12或者所述其他区块链实体节点设备13,还用于当所述应付款到期后,向所述核心企业节点设备兑付应付款,响应于所述应付款兑付成功,将持有的UTXO进行无效化签名或者返还给所述核心企业节点设备。
[0071] 所述UTXO中标记了应付款的到期时间戳。
[0072] 当持有UTXO的区块链实体(例如,一级供应商、二级供应商、保理商、银行等)通过各自的节点设备确定应付款到期后,可以通过所述基于区块链的供应链平台10上记录的交易数据向所述核心企业节点设备11兑付应付款。
[0073] 核心企业通过核心企业节点设备11接收到兑付应付款的信息时,确认应付款是否到期。在确认应付款到期后,兑付债款。收到债款后的区块链实体进行签名,表示已经收到了债款。持有UTXO的区块链实体在收到债款的同时或者之后,将自身所持有的UTXO无效化签名或者返还给核心企业,形成完整的交易数据记录在基于区块链的供应链平台10上。
[0074] 需要说明的是,所述基于区块链的供应链交易隐私保护系统1中的基于区块链的供应链平台10、核心企业节点设备11、一级供应商节点设备12必须存在的,所述其他区块链实体节点设备13可选的存在。即,二级供应商节点设备、银行节点设备、保理商节点设备可选的存在于所述基于区块链的供应链交易隐私保护系统1中。
[0075] 如图2所示,为本发明实施例的基于区块链的供应链交易隐私保护系统的另一架构示意图。
[0076] 基于区块链的供应链交易隐私保护系统1除了包括图1中所述的基于区块链的供应链平台10、核心企业节点设备11、一级供应商节点设备12、其他区块链实体节点设备13,还可以包括监管机构节点设备14。
[0077] 其中,所述监管机构节点设备14,用于接收交易数据,对所述交易数据进行校验,响应于校验成功,将所述交易数据上传至所述基于区块链的供应链平台10。
[0078] 所有区块链实体在将交易数据发送给基于区块链的供应链平台10之前,先将交易数据发送给监管机构的监管机构节点设备14,由监管机构节点设备14校验所述交易数据是否可信或者是否合法。通过监管机构节点设备14的检验后,由监管机构节点设备14再将交易数据上传至基于区块链的供应链平台10。
[0079] 如图3所示,为本发明实施例的基于区块链的供应链交易隐私保护系统的另一架构示意图。
[0080] 基于区块链的供应链交易隐私保护系统1除了包括图2中所述的基于区块链的供应链平台10、核心企业节点设备11、一级供应商节点设备12、其他区块链实体节点设备13、监管机构节点设备14,还可以包括至少一个风险评估机构节点设备15。
[0081] 其中,所述至少一个风险评估机构节点设备15,用于读取所述基于区块链的供应链平台10上存储的交易数据,使用预先训练好的风险评估模型对所述交易数据进行风险评估,并将风险评估结果发送给所述其他区块链实体节点设备13。
[0082] 至少一个风险评估机构节点设备15可以事先获取所述基于区块链的供应链平台10上记录的历史交易数据,并基于历史交易数据训练风险评估模型,来评估每笔交易数据中的应付款的价值。
[0083] 至少一个风险评估机构节点设备15读取到所述基于区块链的供应链平台10上新记录的交易数据时,使用风险评估模型来评估新记录的交易数据中的应付款的价值,并将风险评估结果发送给交易数据对应的UTXO(即核心企业的应付款)的潜在购买者。所述潜在购买者可以包括,但不限于二级供应商,保理商,银行等。
[0084] 二级供应商,保理商,银行等获取了风险评估结果后,可以选择与UTXO的持有者进行交易,并最终完成应付款的兑付过程。
[0085] 在一些实施例中,所述基于区块链的供应链平台10,可以是基于任何UTXO模型的区块链系统以及支持UTXO账户模型的区块链系统。
[0086] 在一些实施例中,所述基于区块链的供应链系统1还可以包括:数据解密模块,UTXO金额范围证明模块,区块链钱包,轻量钱包,统计分析工具,实体列表等。
[0087] 本实施例所述的基于区块链的供应链隐私交易系统1,通过引入机密交易的概念,将核心企业的明文应付款加密成机密交易并上链,只有交易双方能够解密机密交易中的金额,保护了交易隐私不被泄露,保障了区块链实体商业机密。
[0088] 参阅图4所示,为本发明实施例揭露的基于区块链的供应链交易隐私保护方法的流程示意图。
[0089] 所述基于区块链的供应链交易隐私保护系统可以应用于核心企业节点设备中。所述基于区块链的供应链交易隐私保护系统具体包括以下步骤,根据不同的需求,该
流程图中步骤的顺序可以改变,某些步骤可以省略。
[0090] S41,确定与一级供应商交易的应付款。
[0091] 核心企业购买一级供应商的产品并承诺应付款。
[0092] S42,获取第一系统参数g和第二系统参数h。
[0093] 所述第一系统参数g和第二系统参数h是离散对数的基,是一个全世界范围内公开的系统参数。
[0094] S43,选取随机数r。
[0095] 随机数r是由核心企业随机选择的一个数。
[0096] S44,通过Pedersen承诺将所述应付款进行加密得到机密交易。
[0097] 为了避免交易隐私被泄露,核心企业购买一级供应商的产品并承诺应付款之后,核心企业通过核心企业节点设备11对所述应付款进行加密得到机密交易。
[0098] 所述机密交易中的UTXO=gxhr,其中,所述x为所述应付款。所述UTXO的合法性通过核心企业的信用来保证。核心企业的信用体现在核心企业本身。如果一个企业不能保证信用,那么就不能被当作核心企业。
[0099] 承诺(Commitment):将一个数值隐藏进一个加密后的密文中。承诺者可以之后选择解密承诺的数值。承诺一旦发出,则承诺者无法找到另外一个数值依然具有相同的承诺计算结果。
[0100] 使用承诺算法隐藏交易金额,使得只有交易双方可以看到交易的金额,而其他人看不到交易金额,同时双方无法伪造交易金额。
[0101] S45,对所述机密交易进行签名并上传签名后的交易数据至基于区块链的供应链平台。
[0102] 核心企业通过核心企业节点设备使用数字签名技术对应付款进行加密。数字签名技术是基于非对称加密算法和信息
摘要算法实现的对于消息来源及完整性的认证,同时是签名者不可抵赖的保证。在一个数字签名系统中有两个
角色,一个是消息的签名者,一个是消息的认证者。消息的签名者根据自己的私钥可以对一条消息的信息摘要进行签名,消息的认证者根据自己的公钥对一条消息的信息摘要进行验证。如果验证通过则可证明该消息的来源是消息的签名者,消息的信息摘要相同且签名者不可抵赖。
[0103] 通过对应付款进行加密得到机密交易发送给一级供应商,确保了核心企业与一级供应商之间的交易隐私。
[0104] 在一个可选的实施例中,所述方法还包括:
[0105] 当接收到兑付应付款的信息时,确认所述应付款是否到期;
[0106] 响应于应付款到期,兑付债款。
[0107] 核心企业通过核心企业节点设备接收到兑付应付款的信息时,确认应付款是否到期。在确认应付款到期后,兑付债款。收到债款后的区块链实体进行签名,表示已经收到了债款。持有UTXO的区块链实体在收到债款的同时或者之后,将自身所持有的UTXO无效化签名或者返还给核心企业,形成完整的交易数据记录在基于区块链的供应链平台上。
[0108] 本实施例所述的基于区块链的供应链隐私交易方法,通过引入机密交易的概念,将核心企业的明文应付款加密成机密交易并上链,只有交易双方能够解密机密交易中的金额,保护了交易隐私不被泄露,保障了区块链实体商业机密。
[0109] 参阅图5所示,为本发明实施例揭露的基于区块链的供应链交易隐私保护方法的另一流程示意图。
[0110] 所述基于区块链的供应链交易隐私保护系统可以应用于供应商节点设备中。所述基于区块链的供应链交易隐私保护系统具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
[0111] S51,接收核心企业节点设备发送的机密交易并解密。
[0112] 一级供应商作为核心企业应付款的接收方,通过一级供应商节点设备12接收核心企业节点设备发送的机密交易。核心企业可以通过密钥协商等方式告知一级供应商应付款及随机数r。根据应付款及随机数进行解密。
[0113] S52,将所述机密交易中的UTXO拆分为第一UTXO和第二UTXO。
[0114] 一级供应商可基于所述应付款的一部分购买二级供应商的产品。
[0115] 其中,所述第一UTXO中的金额和第二UTXO中的金额之和等于所述机密交易中的UTXO中的金额。
[0116] S53,基于所述第一UTXO和第二UTXO与其他区块链实体节点设备进行交易。
[0117] 一级供应商可以将机密交易中的UTXO拆分后交易给二级供应商、保理商或者通过银行进行抵押贷款,将交易数据发送给所述基于区块链的供应链平台进行存储。二级供应商、保理商或者银行接收到拆分后的UTXO可以进一步进行拆分并交易。一旦拆分后的UTXO被使用后,原来的UTXO就不再可用,但是关于原来的UTXO的交易数据依旧会记录在基于区块链的供应链平台上,供溯源和查询。
[0118] S54,基于Bulletproof对所述第一UTXO和第二UTXO进行范围证明。
[0119] 当一笔UTXO0拆分成UTXO1和UTXO2时,可以使用Pedersen承诺的加法同态性,得到UTXO0=UTXO1+UTXO2,并且可以使用Bulletproof算法证明拆分后的UTXO1和UTXO2中的金额均为合法值,即UTXO中的金额为一定范围内的正数。
[0120] 示例性的,假设 该UTXO的持有者可以将其拆分为UTXO1和UTXO2。使用Pedersen承诺的加法同态性得到: 由此
可见,x0=x1+x2,如此保证了两笔UTXO中的金额之和等于原UTXO所隐藏的金额。于此同时,使用Bulletproof算法生成范围证明,用于证明UTXO1和UTXO2中的金额在合理范围内。举例来说,金额的范围可以设置为[0,2^32-1]。关于Bulletproof算法生成范围证明的过程,为现有技术,本发明不再详细赘述。
[0121] 在一个可选的实施例中,所述方法还包括:
[0122] 当所述应付款到期后,向所述核心企业节点设备兑付应付款;
[0123] 响应于所述应付款兑付成功,将持有的UTXO进行无效化签名或者返还给所述核心企业节点设备。
[0124] 所述UTXO中标记了应付款的到期时间戳。
[0125] 当持有UTXO的区块链实体(例如,一级供应商、二级供应商、保理商、银行等)通过各自的节点设备确定应付款到期后,可以通过基于区块链的供应链平台上存储的交易数据向核心企业兑付应付款。
[0126] 本实施例所述的基于区块链的供应链隐私交易方法,通过引入机密交易的概念,将核心企业的明文应付款加密成机密交易并上链,只有交易双方能够解密机密交易中的金额,保护了交易隐私不被泄露,保障了区块链实体商业机密。
[0127] 参阅图6所示,为本发明实施例揭露的基于区块链的供应链交易隐私保护装置的功能模块示意图。
[0128] 在一些实施例中,所述基于区块链的供应链交易隐私保护装置60运行于核心企业节点设备中。所述基于区块链的供应链交易隐私保护装置60可以包括多个由程序代码段所组成的功能模块。所述基于区块链的供应链交易隐私保护装置60中的各个程序段的程序代码可以存储于调度
服务器的存储器中,并由至少一个处理器所执行,以执行(详见图4描述)基于区块链的供应链交易隐私保护方法中的全部或者部分步骤。
[0129] 本实施例中,所述基于区块链的供应链交易隐私保护装置60根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:确定模块601、获取模块602、选取模块603、加密模块604、签名模块605及付款模块606。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列
计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
[0130] 所述确定模块601,用于确定与一级供应商交易的应付款。
[0131] 核心企业购买一级供应商的产品并承诺应付款。
[0132] 所述获取模块602,用于获取第一系统参数g和第二系统参数h。
[0133] 所述第一系统参数g和第二系统参数h是离散对数的基,是一个全世界范围内公开的系统参数。
[0134] 所述选取模块603,用于选取随机数r。
[0135] 随机数r是由核心企业随机选择的一个数。
[0136] 所述加密模块604,用于通过Pedersen承诺将所述应付款进行加密得到机密交易。
[0137] 为了避免交易隐私被泄露,核心企业购买一级供应商的产品并承诺应付款之后,核心企业通过核心企业节点设备11对所述应付款进行加密得到机密交易。
[0138] 所述机密交易中的UTXO=gxhr,其中,所述x为所述应付款。所述UTXO的合法性通过核心企业的信用来保证。核心企业的信用体现在核心企业本身。如果一个企业不能保证信用,那么就不能被当作核心企业。
[0139] 承诺(Commitment):将一个数值隐藏进一个加密后的密文中。承诺者可以之后选择解密承诺的数值。承诺一旦发出,则承诺者无法找到另外一个数值依然具有相同的承诺计算结果。
[0140] 使用承诺算法隐藏交易金额,使得只有交易双方可以看到交易的金额,而其他人看不到交易金额,同时双方无法伪造交易金额。
[0141] 所述签名模块605,用于对所述机密交易进行签名并上传签名后的交易数据至基于区块链的供应链平台。
[0142] 核心企业通过核心企业节点设备使用数字签名技术对应付款进行加密。数字签名技术是基于非对称加密算法和信息摘要算法实现的对于消息来源及完整性的认证,同时是签名者不可抵赖的保证。在一个数字签名系统中有两个角色,一个是消息的签名者,一个是消息的认证者。消息的签名者根据自己的私钥可以对一条消息的信息摘要进行签名,消息的认证者根据自己的公钥对一条消息的信息摘要进行验证。如果验证通过则可证明该消息的来源是消息的签名者,消息的信息摘要相同且签名者不可抵赖。
[0143] 通过对应付款进行加密得到机密交易发送给一级供应商,确保了核心企业与一级供应商之间的交易隐私。
[0144] 所述付款模块606,用于当接收到兑付应付款的信息时,确认所述应付款是否到期;响应于应付款到期,兑付债款。
[0145] 核心企业通过核心企业节点设备接收到兑付应付款的信息时,确认应付款是否到期。在确认应付款到期后,兑付债款。收到债款后的区块链实体进行签名,表示已经收到了债款。持有UTXO的区块链实体在收到债款的同时或者之后,将自身所持有的UTXO无效化签名或者返还给核心企业,形成完整的交易数据记录在基于区块链的供应链平台上。
[0146] 本实施例所述的基于区块链的供应链隐私交易装置,通过引入机密交易的概念,将核心企业的明文应付款加密成机密交易并上链,只有交易双方能够解密机密交易中的金额,保护了交易隐私不被泄露,保障了区块链实体商业机密。
[0147] 参阅图7所示,为本发明实施例揭露的基于区块链的供应链交易隐私保护装置的另一功能模块示意图。
[0148] 在一些实施例中,所述基于区块链的供应链交易隐私保护装置70运行于核心企业节点设备中。所述基于区块链的供应链交易隐私保护装置70可以包括多个由程序代码段所组成的功能模块。所述基于区块链的供应链交易隐私保护装置70中的各个程序段的程序代码可以存储于调度服务器的存储器中,并由至少一个处理器所执行,以执行(详见图5描述)基于区块链的供应链交易隐私保护方法中的全部或者部分步骤。
[0149] 本实施例中,所述基于区块链的供应链交易隐私保护装置70根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:接收模块701、拆分模块702、交易模块703、证明模块704、兑付模块705及响应模块706。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
[0150] 所述接收模块701,用于接收核心企业节点设备发送的机密交易并解密。
[0151] 一级供应商作为核心企业应付款的接收方,通过一级供应商节点设备12接收核心企业节点设备发送的机密交易。核心企业可以通过密钥协商等方式告知一级供应商应付款及随机数r。根据应付款及随机数进行解密。
[0152] 所述拆分模块702,用于将所述机密交易中的UTXO拆分为第一UTXO和第二UTXO。
[0153] 一级供应商可基于所述应付款的一部分购买二级供应商的产品。
[0154] 其中,所述第一UTXO中的金额和第二UTXO中的金额之和等于所述机密交易中的UTXO中的金额。
[0155] 所述交易模块703,用于基于所述第一UTXO和第二UTXO与其他区块链实体节点设备进行交易。
[0156] 一级供应商可以将机密交易中的UTXO拆分后交易给二级供应商、保理商或者通过银行进行抵押贷款,将交易数据发送给所述基于区块链的供应链平台进行存储。二级供应商、保理商或者银行接收到拆分后的UTXO可以进一步进行拆分并交易。一旦拆分后的UTXO被使用后,原来的UTXO就不再可用,但是关于原来的UTXO的交易数据依旧会记录在基于区块链的供应链平台上,供溯源和查询。
[0157] 所述证明模块704,用于基于Bulletproof对所述第一UTXO和第二UTXO进行范围证明。
[0158] 当一笔UTXO0拆分成UTXO1和UTXO2时,可以使用Pedersen承诺的加法同态性,得到UTXO0=UTXO1+UTXO2,并且可以使用Bulletproof算法证明拆分后的UTXO1和UTXO2中的金额均为合法值,即UTXO中的金额为一定范围内的正数。
[0159] 示例性的,假设 该UTXO的持有者可以将其拆分为UTXO1和UTXO2。使用Pedersen承诺的加法同态性得到: 由此
可见,x0=x1+x2,如此保证了两笔UTXO中的金额之和等于原UTXO所隐藏的金额。于此同时,使用Bulletproof算法生成范围证明,用于证明UTXO1和UTXO2中的金额在合理范围内。金额的范围设置为[0,2^32-1]。关于Bulletproof算法生成范围证明的过程,为现有技术,本发明不再详细赘述。
[0160] 所述兑付模块705,用于当所述应付款到期后,向所述核心企业节点设备兑付应付款。
[0161] 所述响应模块706,用于响应于所述应付款兑付成功,将持有的UTXO进行无效化签名或者返还给所述核心企业节点设备。
[0162] 所述UTXO中标记了应付款的到期时间戳。
[0163] 当持有UTXO的区块链实体(例如,一级供应商、二级供应商、保理商、银行等)通过各自的节点设备确定应付款到期后,可以通过基于区块链的供应链平台上存储的交易数据向核心企业兑付应付款。
[0164] 本实施例所述的基于区块链的供应链隐私交易装置,通过引入机密交易的概念,将核心企业的明文应付款加密成机密交易并上链,只有交易双方能够解密机密交易中的金额,保护了交易隐私不被泄露,保障了区块链实体商业机密。
[0165] 图8为本发明实施例揭露的区块链节点设备的内部结构示意图。
[0166] 在本实施例中,所述区块链节点设备8可以包括存储器81、处理器82和总线83及收发器84。所述区块链节点设备8用于实现图6所述的基于区块链的供应链交易隐私保护装置的功能,及/或实现图7所述的基于区块链的供应链交易隐私保护装置的功能。
[0167] 其中,存储器81至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、
硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、
磁性存储器、磁盘、光盘等。存储器81在一些实施例中可以是所述区块链节点设备8的内部存储单元,例如所述区块链节点设备8的硬盘。存储器81在另一些实施例中也可以是所述区块链节点设备8的外部存储设备,例如所述区块链节点设备8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器81还可以既包括所述区块链节点设备8的内部存储单元,也包括外部存储设备。存储器81不仅可以用于存储安装于所述区块链节点设备8的应用程序及各类数据,例如基于区块链的供应链交易隐私保护装置60及各个模块的代码等,或者基于区块链的供应链交易隐私保护装置70及各个模块的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
[0168] 处理器82在一些实施例中可以是一
中央处理器(Central Processing Unit,CPU)、
控制器、
微控制器、
微处理器或其他基于区块链的供应链交易隐私保护芯片,用于运行存储器81中存储的程序代码或处理数据。
[0169] 该总线83可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。该总线可以分为
地址总线、
数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0170] 进一步地,所述区块链节点设备8还可以包括网络
接口,网络接口可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该区块链节点设备8与其他调度服务器之间建立通信连接。
[0171] 可选地,该区块链节点设备8还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元,比如
键盘(Keyboard),可选的,用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、
液晶显示器、触控式液晶显示器以及
有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。其中,显示器也可以称为显示屏或显示单元,用于显示在所述调度服务器中处理的消息以及用于显示
可视化的
用户界面。
[0172] 图8仅示出了具有组件81-84的所述区块链节点设备8,本领域技术人员可以理解的是,图8示出的结构并不构成对所述区块链节点设备8的限定,既可以是总线型结构,也可以是星形结构,所述区块链节点设备8还可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
[0173] 在上述实施例中,可以全部或部分地通过应用程序、
硬件、
固件或者其任意组合来实现。当使用应用程序实现时,可以全部或部分地以计算机程序产品的形式实现。
[0174] 所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、
计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个
网站站点、计算机、服务器或
数据中心通过有线(例如,同轴
电缆、光纤、数字用户线)或无线(例如,红外、无线、
微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,
软盘、硬盘、磁带),光介质(例如,DVD),或者
半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
[0175] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0176] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0177] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例中的方案的目的。
[0178] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用应用程序功能单元的形式实现。
[0179] 所述集成的单元如果以应用程序功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以应用程序产品的形式体现出来,该计算机应用程序产品存储在一个存储介质中,包括若干指令用以使得一台调度服务器(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、硬盘、
只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0180] 需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0181] 以上仅为本发明的优选实施例,并非因此限制本发明的
专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。