【技术实现步骤摘要】
可审计追溯的区块链隐私保护系统及方法
[0001]本专利技术属于区块链
,具体涉及一种可审计追溯的区块链隐私保护系统及方法。
技术介绍
[0002]区块链网络因其去中心化以及不可篡改的属性使得交易变得透明、可信。然而,因为网络中各组织共享一份账本会导致敏感数据暴露,隐私数据加密导致无法审计追溯以及越来越复杂的产品供应链迫切需要可追溯性,如何做到在共享账本的同时有效的保护隐私数据以及审计追溯成为了区块链发展的核心问题。目前,一般多采用对原数据进行加密再上链,但仍会遭到破坏。目前针对此类问题也提出了很多种解决方案,但其功能都不完善。如Solius通过引入可公开验证的遗忘RAM机(PVORM)的概念隐藏交易价值和交易图,但是审计时需要提供全部的密钥,这不但会加大开销,而且也存在恶意泄露的问题;《FabZK: Supporting Privacy
‑
Preserving, Auditable Smart Contracts in Hyperledger Fabric》提出的FabZK是通过支持可验证的 Pedersen 承诺和构建零知识证明来实现隐私数据的可审计性,但是却不支持追溯;《zkLedger: Privacy
‑
Preserving Auditing for Distributed Ledgers》提出的zkLedger使用Pedersen承诺生成的非交互式零知识证明来进行审计,与FabZK相同,zkLedger的账本是柱状账本结构,不支持追溯;《DECOUPLES: a ...
【技术保护点】
【技术特征摘要】
1.一种可审计追溯的区块链隐私保护系统,其特征在于,包括有向图结构账本、客户端以及智能合约模块:所述有向图结构账本,记录交易数据,并为每个交易提供前向交易标识,有向图结构账本内交易数据进行加密处理;并记录有为交易数据生成的NIZK证明,所述NIZK证明包括平衡证明ZKa、资产证明ZKb、追溯证明ZKc、一致性证明ZKd;所述客户端,作为交易发起者时,创建明文交易,生成交易数据以及基于Pedersen承诺的NIZK证明,客户端对交易数据进行加密后发送给区块链网络,经过orderer节点排序、committer节点验证后交易上链,形成密文交易,通过区块链广播以及共识机制验证后更新公共账本,客户端更新所维护的区块链账本副本,所述验证通过调用所述智能合约模块中智能合约实现;作为审计者时,调用所述智能合约模块中用于审计和追溯的智能合约,对区块链网络中有向图结构账本进行审计和追溯;所述智能合约模块,接收所述客户端的请求,执行对应链码函数,包括溯源函数、判断平衡函数、计算资产函数以及证明验证函数;所述溯源函数用于对某一交易进行溯源,读取所述有向图结构账本中前向交易标识所对应的交易,并验证该交易中交易接收者所对应的追溯证明ZKc;所述判断平衡函数用于判断交易总体资产量是否平衡,以验证平衡证明ZKa;所述计算资产函数用于计算某一组织在所有交易中的资产总和是否大于零,以验证资产证明ZKb;所述证明验证函数用于验证交易中所有的NIZK证明的正确性。2.根据权利要求1所述的可审计追溯的区块链隐私保护系统,其特征在于,所述有向图结构账本,维护一个二维表,行代表交易,列代表某个组织的所有事务,通过设置前向交易标识属性在逻辑上实现有向图结构,有向图中每个节点有一行数据记录此次交易的所有信息。3.根据权利要求2所述的可审计追溯的区块链隐私保护系统,其特征在于,通过审计令牌Token实现可审计,所述审计令牌Token生成公式参见公式(1);所述平衡证明ZKa用于验证每个交易中的每个组织总体资产量是否平衡,即是否满足公式(2);所述平衡证明ZKa利用了Pedersen承诺的同态加法的属性,参见公式(3),证明者,通过选择一组随机数r1,r2,
…
,r
n
,使得该组随机数满足公式(4),结合r1,r2,
…
,r
n
,审计员通过计算来判断账本是否已达平衡,参见公式(5);
公式(1)中,pk为组织的公钥,r为随机数,h为设定的椭圆曲线上一点,sk为组织的私钥;公式(2)中,u
i
为第i个组织的交易金额,N为有向图结构账本维护的二维表的列数;公式(3)、公式(4)、公式(5)中,Com
j
为生成的对价值u
i
的pedersen承诺,(g,h)为设定的椭圆曲线上的点,r
i
为第i个组织生成的随机数,N为有向图结构账本维护的二维表的列数。4.根据权利要求1所述的可审计追溯的区块链隐私保护系统,其特征在于,所述资产证明ZKb通过计算有向图结构账本中各组织所对应的列的总和来验证是否有资产进行转移,并引入辅助承诺com
’
,对com
’
进行一次范围证明验证,用于对ZKb的验证;所述辅助承诺com
’
有两种策略选择:策略1)对...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。