可审计追溯的区块链隐私保护系统及方法

文档序号:33744599发布日期:2023-04-06 11:06阅读:59来源:国知局
本发明属于区块链,具体涉及一种可审计追溯的区块链隐私保护系统及方法。
背景技术
::1、区块链网络因其去中心化以及不可篡改的属性使得交易变得透明、可信。然而,因为网络中各组织共享一份账本会导致敏感数据暴露,隐私数据加密导致无法审计追溯以及越来越复杂的产品供应链迫切需要可追溯性,如何做到在共享账本的同时有效的保护隐私数据以及审计追溯成为了区块链发展的核心问题。目前,一般多采用对原数据进行加密再上链,但仍会遭到破坏。目前针对此类问题也提出了很多种解决方案,但其功能都不完善。如solius通过引入可公开验证的遗忘ram机(pvorm)的概念隐藏交易价值和交易图,但是审计时需要提供全部的密钥,这不但会加大开销,而且也存在恶意泄露的问题;《fabzk:supporting privacy-preserving, auditable smart contracts in hyperledgerfabric》提出的fabzk是通过支持可验证的 pedersen 承诺和构建零知识证明来实现隐私数据的可审计性,但是却不支持追溯;《zkledger: privacy-preserving auditing fordistributed ledgers》提出的zkledger使用pedersen承诺生成的非交互式零知识证明来进行审计,与fabzk相同,zkledger的账本是柱状账本结构,不支持追溯;《decouples: adecentralized, unlinkable and privacy-preserving traceability system for thesupply chain》提出的decouples系统支持对供应链的追溯,该系统通过环签名、schnorr签名等加密方案对数据进行隐私保护,但是其不支持完整的审计。技术实现思路1、本发明目的是:针对现有技术的不足,提供一种可审计追溯的区块链隐私保护系统及方法,用于对区块链账本中的隐私数据进行保护,并在此基础上可以对账本进行审计追溯。2、具体地说,本发明是采用以下技术方案实现的。3、一方面,本发明提供一种可审计追溯的区块链隐私保护系统,包括有向图结构账本、客户端以及智能合约模块:4、所述有向图结构账本,记录交易数据,并为每个交易提供前向交易标识,有向图结构账本内交易数据进行加密处理;并记录有为交易数据生成的nizk证明,所述nizk证明包括平衡证明zka、资产证明zkb、追溯证明zkc、一致性证明zkd;5、所述客户端,作为交易发起者时,创建明文交易,生成交易数据以及基于pedersen承诺的nizk证明,客户端对交易数据进行加密后发送给区块链网络,经过orderer节点排序、committer节点验证后交易上链,形成密文交易,通过区块链广播以及共识机制验证后更新公共账本,客户端更新所维护的区块链账本副本,所述验证通过调用所述智能合约模块中智能合约实现;作为审计者时,调用所述智能合约模块中用于审计和追溯的智能合约,对区块链网络中有向图结构账本进行审计和追溯;6、所述智能合约模块,接收所述客户端的请求,执行对应链码函数,包括溯源函数、判断平衡函数、计算资产函数以及证明验证函数;所述溯源函数用于对某一交易进行溯源,读取所述有向图结构账本中前向交易标识所对应的交易,并验证该交易中交易接收者所对应的追溯证明zkc;所述判断平衡函数用于判断交易总体资产量是否平衡,以验证平衡证明zka;所述计算资产函数用于计算某一组织在所有交易中的资产总和是否大于零,以验证资产证明zkb;所述证明验证函数用于验证交易中所有的nizk证明的正确性。7、进一步的,所述有向图结构账本,维护一个二维表,行代表交易,列代表某个组织的所有事务,通过设置前向交易标识属性在逻辑上实现有向图结构,有向图中每个节点有一行数据记录此次交易的所有信息。8、进一步的,通过审计令牌token实现可审计,所述审计令牌token生成公式参见公式(1);9、所述平衡证明zka用于验证每个交易中的每个组织总体资产量是否平衡,即是否满足公式(2);所述平衡证明zka利用了pedersen承诺的同态加法的属性,参见公式(3),证明者,通过选择一组随机数r1,r2,…,rn,使得该组随机数满足公式(4),结合r1,r2,…,rn,审计员通过计算来判断账本是否已达平衡,参见公式(5);10、11、公式(1)中,pk为组织的公钥,r为随机数,h为设定的椭圆曲线上一点,sk为组织的私钥;12、公式(2)中,ui为第i个组织的交易金额,n为有向图结构账本维护的二维表的列数;13、公式(3)、公式(4)、公式(5)中,comj为生成的对价值ui的pedersen承诺,(g,h)为设定的椭圆曲线上的点,ri为第i个组织生成的随机数,n为有向图结构账本维护的二维表的列数。14、进一步的,所述资产证明zkb通过计算有向图结构账本中各组织所对应的列的总和来验证是否有资产进行转移,并引入辅助承诺com’,对com’进行一次范围证明验证,用于对zkb的验证;所述辅助承诺com’有两种策略选择:15、策略1)对价值u的承诺;16、策略2)对该组织对应的列中的各个交易价值的承诺的总和;17、若客户端为交易发起者,com’为对价值u的承诺;且如果满足公式(6),说明有资产可以交易;若客户端是其他组织,com’为以上两种策略选择中任意一种;18、19、公式(6)中,comi’为交易发起者采用辅助承诺生成策略1生成的第i个承诺,m为帐本中的交易个数。20、进一步的,所述追溯证明zkc由交易发起者为各组织生成一个承诺、一个范围证明以及一个标识符s,如果该组织为交易接收者则标识符s=1,s=-1表示为非交易组织或者交易发起者;对标识符s生成承诺comb,再对comb生成追溯证明,用以判断comb中的标识符s是否大于零;设当前交易的发起者为m,当审计员通过有向图结构账本得知当前交易的前向交易标识为n后,为了验证其正确性,通过验证交易n中m所对应的元组的追溯证明,判断该组织是否为交易接收者。21、进一步的,所述一致性证明zkd表示如下:22、对于任意组织k,1)断言用以形成com和token的随机数是相同的;2)断言用以形成com’和token’的随机数是一致的,token’为审计com’而生成的审计令牌。23、另一方面,本发明还提供可审计追溯的区块链隐私保护方法,采用上述可审计追溯的区块链隐私保系统实现,包括:24、1)交易预处理:交易发起者与交易接收者约定交易金额,作为交易发起者的客户端根据交易金额生成明文交易数据后通过加密算法进行加密处理形成密文交易,交易数据包含有向图结构账本中的n列的每个元组,每个元组中包含交易金额、一个用于生成承诺的随机数和该组织的公钥,交易生成后,对生成的交易数据加密,将加密的交易数据发送给背书节点;25、2)模拟执行:背书节点收到加密的交易数据后,调用智能合约为每个元组生成(com,token,zka,zkb,zkc,zkd),并将其添加到公共账本中;26、3)将执行的结果背书返回给客户端;27、4)客户端收到背书后,将结果提交到orderer节点进行排序;28、5)节点将来自各个组织的交易进行排序,然后打包成区块;29、6)orderer节点将打包的区块广播发送给committer节点;30、7)committer节点验证区块中每个交易的签名、读写集冲突,并且调用横向和纵向验证,来验证公共账本的变动,若验证无误就将交易添加到公共账本中;所述横向验证是验证该交易是否满足资产的平衡和交易的正确性;所述纵向验证是验证每个组织是否满足资产证明和一致性证明;31、8)向每个组织发送通知;32、9)每个组织都要将交易添加到自己的私有账本中。33、再一方面,本发明还提供一种可审计追溯的区块链隐私保护方法,采用上述可审计追溯的区块链隐私保护系统实现,包括:34、1)作为审计员的客户端从所述有向图结构账本中读取需要审计或追溯的交易数据;35、2)进行横向和纵向验证;所述横向验证是验证该交易是否满足资产的平衡和交易的正确性;所述纵向验证是验证每个组织是否满足资产证明和一致性证明;36、3)通过选择智能合约的函数进行审计或追溯。37、本发明的可审计追溯的区块链隐私保护系统及方法的有益效果如下:38、本发明的可审计追溯的区块链隐私保护系统及方法,利用有向图结构账本构建交易图,实现对区块链上交易数据的可追溯性,并对前向交易生成证明验证追溯正确性,实现了可追溯的区块链交易网络,并可以验证追溯正确性。39、本发明的可审计追溯的区块链隐私保护系统及方法,通过对链上交易数据加密,利用基于pedersen承诺的零知识证明生成平衡证明、追溯证明、资产证明和一致性证明,以提供快速的、可证明正确的隐私数据审计性,实现了可公开证明和审计的区块链方法和系统,利于对隐私的保护。40、本发明的可审计追溯的区块链隐私保护系统及方法,基于hyperledger fabric开源框架进行扩展,有效继承fabric的特性,通过客户端创建明文交易并加密后发送给区块链网络,通过共识机制后交易上链,通过智能合约模块对网络进行审计和追溯,实现审计追溯的同时保障了系统及其方法的吞吐量。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1