智能合同的隐私保护论文:NIZK隐私保护方案

本文是由中科院和武汉大学矩阵元素和密码学专家联合发布的一个引入账户体系下余额保护和转移资产的分布式智能合约系统。本文采用同态加密和零知识证明来保护用户隐私。与之前的隐私保护方案相比,该方案在性能上有很大的提升,可以更好地应用于供应链金融等场景。

该文件提出:

1,一个在智能合同下保护用户余额和交易金额的方案,在随机预测模型下可证明是安全的。

2.一个高效的零知识证明方案Nizk(非交互式零知识),以生成证明大小为代价提高了生成证明的时间效率。

对比:ZK-蛇(零现金)&;尼茨克(DSC)

同态加密HE(同态加密):允许用户直接以密文的形式更新账户余额。

ZK(零知识):证明交易的正确性。保证等价和足够,如果发送方减少V,接收方应该收到V,证明发送方有超过V的账户余额发送给接收方。

相关区块链隐私保护工作:Monero(门罗币),RingCT(戒指签名),Zerocoin,Zerocash。

1,双线性映射

2.同态加密

您可以确保余额可以在密文状态下更新。E(1)+E(2)=E(3)

这是ElGamal方案的一个变种,但是不知道为什么引入了H,也许是为了更好的安全性,平衡是数值的,相对于明文空间小,所以我们可以求解明文m。

3.基于的难题

这也是离散对数问题的一个变体。

4.Boneh-Boyen签名方案

6.零知识证明了尼兹克

本文采用非交互式零知识证明,使用可信第三方生成CRS(公共参考串)的模型,但不使用证明密钥PK和验证密钥VK。

CRS只能生成一次,并用于生成多个证明。

7.甲向乙发送T币的交易形式:

验证程序以智能合约的形式直接部署在区块链上,可以自动验证和转移资产。

1、设置

输入安全参数n,生成系统公共参数PP,其中使用了Boneh-Boyen签名方案,PP已经包含零知识证明中的CRS。

每个参与者的初始化:用上面提到的同态加密方案加密自己的余额,在账户模型中只存储余额的密文。

这里考虑的明文空间的大小是[0,20 30]

对于有私钥的人来说,很容易解密明文,也就是账户余额值。

3、转让

甲送t币给乙:

x代表transmission statement,包含A和B的公钥,A的账户余额同态加密生成的密文,T的A和B的公钥分别同态加密生成的密文。

w代表witness,包括A的私钥,生成密文时使用的随机数,A的账户余额和传输金额。

π是生成的证明。

(x,PP,π)被上传到区块链并由验证程序验证。

4、赎回

验证程序部署在区块链上,收到相应输入后验证其有效性:无效则忽略;如果有效,则披露交易(交易金额被加密)并更新发送方和接收方的账户余额。

5.安全