一种支持联盟链代币交易的加密交易隐私数据验证系统
未命名
09-16
阅读:85
评论:0

1.本发明属于联盟链隐私保护领域,具体涉及一种支持联盟链代币交易的加密交易隐私数据验证系统。
背景技术:
2.为了解决公有链整体较低的性能、过高的共识机制成本和缺乏身份权限管理机制等问题,专门为在企业环境中使用的联盟链被设计出来。有别于公有链,联盟链在某种程度上只属于联盟内部的成员所有,联盟链网络以参与者之间确实存在信任关系的治理模式运行,其意义在于不同节点(企业)通过这个联盟链建立的信任和合作关系,交易在其上以私密方式执行,因而账本数据也非公开,与外部的无关组织或个人隔离开来,使得联盟链中的数据信息具有一定隐私性的保障。联盟链上可插拔的共识协议不仅共识效率高,资源消耗也相当少,加上高信任度的少量节点,让节点之间很容易达成共识,从而使得联盟链具有交易性能高效、交易成本低廉等特点。
3.随着业务需求的不断增长,联盟链的交易隐私保护功能并不完善。hyperledger fabric使用了通道技术隔离了账本,使得只有通道成员组织之间才能共享账本,但是对于同一个通道成员组织内仍会有需求对交易的信息进行隐私保护,因此在数据上链前采用加密的手段是很自然的方式;而更进一步,针对隐私的交易信息,依然存在着第三方对部分业务加密交易信息内容进行验证的需求(例如确定信息数据的范围),使得在保证数据隐私的前提下(即原始数据被加密,验证者无法查看敏感数据信息),实现第三方可对部分敏感保护数据的一致性进行验证的目标。如果直接将原始的交易数据透露给第三方,将面临交易敏感隐私内容泄露的风险。
4.业务应用中的交易还会涉及到钱款在各个角色间的流动问题。各类隐私交易应用也会存在直接利用链中隐私代币的诉求以达到隐藏交易金额与账户余额的目的,而现有的隐私货币(代币)大都基于公有链开发,并不能很好的适配联盟链的结构框架。而对于目前的联盟链,在对交易信息进行隐私保护的同时,既要做到可以在隐私信息背景下实现直接利用链中隐私代币进行交易,又可以保障各交易方账户余额变更的合法性(如转账双方账户余额变动金额相一致),即在确保可支付前对合法性进行验证,尚未有比较明确的解决方案。
技术实现要素:
5.(一)发明目的:
6.本发明提供了一种支持联盟链代币交易的加密交易隐私数据验证系统,在结合零知识证明库的联盟链网络上结合加密交易隐私数据验证模型与账户模型隐私代币模型,通过构造交易隐私信息的零知识证明凭证,使得验证者可对加密的敏感交易信息进行验证,并支持利用链中的代币进行隐私交易,达到隐藏交易金额以及账户余额的功能,为联盟链隐私保护打下坚实基础。
7.(二)技术方案:
8.为实现以上目的,本发明通过以下技术方案予以实现:
9.本发明提供一种支持联盟链代币交易的加密交易隐私数据验证系统,所述系统包括:
10.交互界面处理模块,所述交互界面处理模块用于在用户与sdk客户端之间搭建一个桥梁,使得用户的操作可以传递到sdk客户端,再经由联盟链对交易处理后让用户得到反馈的结果。
11.零知识证明处理模块,所述零知识证明处理模块包括:
12.rsa加密算法库,所述rsa加密算法库用于隐私数据的非对称加密。
13.aes加密算法库,所述aes加密算法库用于隐私数据的对称加密。
14.零知识证明算法库,所述零知识证明算法库是由待证明解决的np问题依据相应数据之间的关系构建运算电路,经过运算电路预处理库jsnark处理后生成预处理可证明的运算电路,随后再经过零知识证明应用库libsnark处理得到证明算法、验证算法以及各项待用的参数,最终封装而成。为需要用到零知识证明的各项操作进行调用执行。
15.联盟链交易处理模块,所述联盟链交易处理模块是将零知识证明算法等核心算法库添加编译到联盟链链码及sdk中,最终搭建成的一个可由sdk操作的联盟链网络,以供后续进行各种交易。
16.优选的,所述待证明解决的np问题包括:
17.(1)在保护交易方隐私的前提下,第三方可以对加密状态下交易数据关系进行验证;
18.(2)在保护各参与方交易隐私的前提下,于支付前对合法性进行验证,保障各类代币交易的合法有效性。
19.优选的,所述待证明解决的np问题(1)基于加密交易隐私数据验证模型。在订单融资的三类实体中,采购商首先向供应商发起采购订单。接着供应商需要凭此订单向投资商请求订单融资。运用该模型使得投资商只需要对以业务交易中的数据生成的零知识证明凭证进行验证,而非业务交易的原始敏感数据。
20.优选的,所述待证明解决的np问题(2)基于账户模型隐私代币交易模型。在联盟链网络中,客户端会向背书节点发送交易信息,每个背书节点需模拟处理交易,验证交易信息的合法性。运用该模型使得各背书节点只需在交易上链前验证生成的零知识证明凭证,而非原始交易的敏感数据。
21.优选的,所述联盟链交易处理模块,其搭建流程为:
22.首先将零知识证明库与原先的docker镜像一同编译,随后装载镜像并对编写好的相关链码进行编译,搭建联盟链网络,同时sdk也对这些算法库以及链码操作函数进行编译,最终搭建成一个可供sdk操作的联盟链网络。
23.优选的,所述联盟链交易处理模块,其交易处理流程为:
24.首先经由客户端sdk发送至背书节点,背书节点模拟链码的执行并将交易信息签名返回给客户端,客户端再将已签名的交易信息发送给排序节点进行打包,打包后的区块再发送给记账节点验证后上链,最终通过sdk返回交易结果。
25.优选的,所述联盟链交易处理模块,其交易数据分为交易号tid、交易信息pur及交
易当前状态sta三部分。
26.优选的,所述联盟链交易处理模块的交易数据,其交易信息pur为:订购货物类型n、采购商p、供应商s、投资商j、订购货物单价u、订购货物数量q、订购货物总价p、总价下限pmin、总价上限pmax、公钥加密的对称密钥eak,以及采购商支付订金交易、投资商投资交易、采购商付尾款交易和供应商偿还融资款交易这四者的交易号。其中,单价、数量和总价均需使用对称密钥进行加密。
27.优选的,所述联盟链交易处理模块的交易数据,其交易当前状态sta可分为:采购商进行货物采购状态、供应商对订单确认生成证明状态、投资商验证订单进行融资操作状态、采购商已付清供应商尾款状态、供应商已偿还投资商贷款状态以及投资商已接收供应商还款状态六种。
28.(三)有益效果:
29.本发明提供了一种支持联盟链代币交易的加密交易隐私数据验证系统。与现有技术相比,具备以下有益效果:
30.1、本发明在联盟链网络上结合零知识证明库,运用两种模型,实现了支持利用链中的代币进行订单融资等隐私交易应用并达到隐私数据可验证的目的;2、本方法相较于现有方法拥有更高的处理性能及更低的计算开销。
附图说明
31.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
32.图1为本发明实施例一种支持联盟链代币交易的加密交易隐私数据验证系统的框图。
33.图2为支持联盟链代币交易的订单融资应用加密交易隐私数据验证系统流程图。
34.图3为联盟链交易处理模块交易处理流程图。
具体实施方式
35.为使本发明实施例的目的、技术方案和优点更加清楚,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
36.本发明实施例提供了一种支持联盟链代币交易的加密交易隐私数据验证系统,解决了当前联盟链中存在的第三方在隐私保护场景下对加密交易信息内容进行可验证的问题。
37.本技术实施例中的技术方案为实现上述目的,总体思路如下:
38.本发明实施例在联盟链网络上嵌入零知识证明库,结合加密交易隐私数据验证模型与账户模型隐私代币交易模型,实现支持利用链中的代币进行订单融资等应用的隐私交易可验证的目的。
39.为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
40.本发明实施例提供了一种支持联盟链代币交易的加密交易隐私数据验证系统,如图1所示,所述系统包括:
41.交互界面处理模块,所述交互界面处理模块用于在用户与sdk客户端之间进行交互。
42.零知识证明处理模块,所述零知识证明处理模块包括:
43.rsa加密算法库,所述rsa加密算法库用于隐私数据的非对称加密。
44.aes加密算法库,所述aes加密算法库用于隐私数据的对称加密。
45.零知识证明算法库,所述零知识证明算法库用于为需要用到零知识证明的各项操作提供调用和执行。
46.联盟链交易处理模块,所述联盟链交易处理模块用于进行各种交易。
47.本发明实施例能实现支持利用链中的代币进行订单融资等应用的隐私交易可验证的目的。
48.下面对本发明实施例中的系统进行详细的描述:
49.本发明实施例的一种支持联盟链代币交易的加密交易隐私数据验证系统,包括交互界面处理模块、零知识证明处理模块和联盟链交易处理模块。
50.交互界面处理模块用于在用户与sdk客户端之间搭建一个桥梁,使得用户的操作可以传递到sdk客户端,再经由联盟链对交易处理后让用户得到反馈的结果。
51.零知识证明处理模块包括rsa加密算法库、aes加密算法库和零知识证明算法库。
52.rsa加密算法库用于隐私数据的非对称加密。
53.aes加密算法库用于隐私数据的对称加密。
54.零知识证明算法库是由待证明解决的np问题依据相应数据之间的关系构建运算电路,经过运算电路预处理库jsnark处理后生成预处理可证明的运算电路,随后再经过零知识证明应用库libsnark处理得到证明算法、验证算法以及各项待用的参数,最终封装而成。为需要用到零知识证明的各项操作进行调用执行。
55.其中,待解决证明的np问题分别为:在保护交易方隐私的前提下,第三方可以对加密状态下交易数据关系进行验证;在保护各参与方交易隐私的前提下,于支付前对合法性进行验证,保障各类代币交易的合法有效性。
56.联盟链交易处理模块是将零知识证明算法等核心算法库添加编译到联盟链链码及sdk中,最终搭建成的一个可由sdk操作的联盟链网络,以供后续进行各种交易。具体搭建流程为:首先将零知识证明库与原先的docker镜像一同编译,随后装载镜像并对编写好的相关链码进行编译,搭建联盟链网络,同时sdk也对这些算法库以及链码操作函数进行编译,最终搭建成一个可供sdk操作的联盟链网络。
57.通过本发明实施例的一种支持联盟链代币交易的加密交易隐私数据验证系统,能实现支持利用链中的代币进行订单融资等隐私交易应用并达到隐私数据可验证的目的,使得关键数据的隐私得到完善的保护,并且实现了更高的处理性能及更低的计算开销。
58.图2为支持联盟链代币交易的订单融资应用加密交易隐私数据验证系统流程图。系统融合了加密交易隐私数据验证模型和账户模型隐私代币交易模型,基于已搭建含有零
知识证明库的可供sdk操作的联盟链网络,实现支持利用链中的代币进行如订单融资等应用的整个隐私交易,并达到加密隐私数据加密可验证的目的。以订单融资应用为例,包括以下步骤:
59.s1、系统进行参数初始化,生成各种参数以及密钥对,供后续各参与方使用。
60.s2、订单融资应用模型涉及三个实体:采购商、供应商和投资商,系统分别为采购商、供应商和投资商进行账户生成。
61.s3、刚生成的账户上真实的代币余额为0,需要进行账户充值交易,以便后续的交易进行。为了表明充值操作的有效性,账户还会生成一个零知识证明凭证,背书节点会在上链前对其进行验证。
62.s4、采购商可以向供应商申请进行商品采购,生成一个包含加密敏感数据的订单上链。
63.需要说明的是,s4中的订单包括对称密钥,用该密钥加密的订购货物的单价、数量、总价,用供应商的公钥对对称密钥的加密值,以及使用代币转出交易操作付给供应商的订金交易单号。
64.s5、供应商利用自身的私钥解密出订单所使用的对称密钥,再利用解密出的对称密钥对已加密的敏感数据进行解密,从而订单信息进行确认,并依据相关敏感数据之间的关系生成零知识证明相应凭证上链。
65.s6、在订单被确认后,供应商使用代币转入交易操作接收采购商的订金,并凭借构造出的融资订单中各敏感数据关系凭证,向投资商申请融资。
66.需要说明的是,s6中的融资订单包括s4的订单中的各加密值,以及采购商、供应商、总价下限与总价上限。
67.s7、投资商可通过对提供的包含凭证的交易订单,来验证订单中的加密隐私信息,而无需解密。若验证通过,供应商可根据订单所声称的交易总价范围等信息,使用代币转出交易操作向采购商提供一定的融资贷款。此后供应商便可使用代币转入交易操作接收投资,进行商品的生产。
68.s8供应商向采购商提供所生产的货物后,采购商便使用代币转出交易操作付清尾款。供应商接收尾款后也将偿还投资商的贷款,最后由投资商接收供应商的还款。
69.图3为联盟链交易处理模块交易处理流程图。联盟链交易处理模块的交易处理流程为:首先经由客户端sdk发送至背书节点,背书节点模拟链码的执行并将交易信息签名返回给客户端,客户端再将已签名的交易信息发送给排序节点进行打包,打包后的区块再发送给记账节点验证后上链,最终通过sdk返回交易结果。交易数据分为:交易号tid、交易信息pur及当交易前状态sta三部分。
70.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
技术特征:
1.一种支持联盟链代币交易的加密交易隐私数据验证系统,其特征在于,所述系统包括:交互界面处理模块,所述交互界面处理模块用于在用户与sdk客户端之间搭建一个桥梁,使得用户的操作可以传递到sdk客户端,再经由联盟链对交易处理后让用户得到反馈的结果;零知识证明处理模块,所述零知识证明处理模块包括:rsa加密算法库,所述rsa加密算法库用于隐私数据的非对称加密;aes加密算法库,所述aes加密算法库用于隐私数据的对称加密;零知识证明算法库,所述零知识证明算法库是由待证明解决的np问题依据相应数据之间的关系构建运算电路,经过运算电路预处理库jsnark处理后生成预处理可证明的运算电路,随后再经过零知识证明应用库libsnark处理得到证明算法、验证算法以及各项待用的参数,最终封装而成,为需要用到零知识证明的各项操作进行调用执行;联盟链交易处理模块,所述联盟链交易处理模块是将零知识证明算法的核心算法库添加编译到联盟链链码及sdk中,最终搭建成的一个可由sdk操作的联盟链网络,以供后续进行各种交易。2.根据权利要求1所述的一种支持联盟链代币交易的加密交易隐私数据验证系统,其特征在于,所述待证明解决的np问题包括:(1)在保护交易方隐私的前提下,第三方能对加密状态下交易数据关系进行验证;(2)在保护各参与方交易隐私的前提下,于支付前对合法性进行验证,保障各类代币交易的合法有效性。3.根据权利要求2所述的一种支持联盟链代币交易的加密交易隐私数据验证系统,其特征在于,所述待证明解决的np问题(1)基于加密交易隐私数据验证模型,在订单融资的三类实体中,采购商首先向供应商发起采购订单,接着供应商需要凭此订单向投资商请求订单融资,运用该模型使得投资商只需要对以业务交易中的数据生成的零知识证明凭证进行验证,而非业务交易的原始敏感数据。4.根据权利要求2所述的一种支持联盟链代币交易的加密交易隐私数据验证系统,其特征在于,所述待证明解决的np问题(2)基于账户模型隐私代币交易模型,在联盟链网络中,客户端会向背书节点发送交易信息,每个背书节点需模拟处理交易,验证交易信息的合法性,运用该模型使得各背书节点只需在交易上链前验证生成的零知识证明凭证,而非原始交易的敏感数据。5.根据权利要求1所述的一种支持联盟链代币交易的加密交易隐私数据验证系统,其特征在于,所述联盟链交易处理模块,其搭建流程具体为:首先将零知识证明库与原先的docker镜像一同编译,随后装载镜像并对编写好的相关链码进行编译,搭建联盟链网络,同时sdk也对这些算法库以及链码操作函数进行编译,最终搭建成一个可供sdk操作的联盟链网络。6.根据权利要求1所述的一种支持联盟链代币交易的加密交易隐私数据验证系统,其特征在于,所述联盟链交易处理模块,其交易处理流程为:首先经由客户端sdk发送至背书节点,背书节点模拟链码的执行并将交易信息签名返回给客户端,客户端再将已签名的交易信息发送给排序节点进行打包,打包后的区块再发
送给记账节点验证后上链,最终通过sdk返回交易结果。7.根据权利要求1所述的一种支持联盟链代币交易的加密交易隐私数据验证系统,其特征在于,所述联盟链交易处理模块,其交易数据分为交易号tid、交易信息pur及交易当前状态sta三部分。8.根据权利要求7所述的一种支持联盟链代币交易的加密交易隐私数据验证系统,其特征在于,所述交易信息pur包括:订购货物类型n、采购商p、供应商s、投资商j、订购货物单价u、订购货物数量q、订购货物总价p、总价下限pmin、总价上限pmax、公钥加密的对称密钥eak,以及采购商支付订金交易、投资商投资交易、采购商付尾款交易和供应商偿还融资款交易这四者的交易号,其中,单价、数量和总价均需使用对称密钥进行加密。9.根据权利要求5所述的一种支持联盟链代币交易的加密交易隐私数据验证系统,其特征在于,所述交易当前状态sta分为:采购商进行货物采购状态、供应商对订单确认生成证明状态、投资商验证订单进行融资操作状态、采购商已付清供应商尾款状态、供应商已偿还投资商贷款状态以及投资商已接收供应商还款状态六种。
技术总结
本发明提供一种支持联盟链代币交易的加密交易隐私数据验证系统,涉及联盟链隐私保护领域。该系统包括零知识证明处理模块、联盟链交易处理模块和交互界面处理模块。其中,零知识证明处理模块包括零知识证明算法库和两种加密算法库;联盟链交易处理模块主要包括一个可供SDK操作的联盟链网络。系统可以在搭建有零知识证明算法库的联盟链网络上,结合加密交易隐私数据验证模型与账户模型隐私代币交易模型,实现支持利用链中的代币进行订单融资等隐私交易应用并使得隐私数据可验证的目的,并且能以WEB界面的形式和用户进行数据的交互。且能以WEB界面的形式和用户进行数据的交互。且能以WEB界面的形式和用户进行数据的交互。
技术研发人员:胡晓艳 周炜程 程光 吴桦
受保护的技术使用者:东南大学
技术研发日:2023.03.14
技术公布日:2023/9/14
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/