智能合同的隐私保护论文: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.安全