23. Fabric2.2 集成 gnark零知识证明-1

最近有伙伴询问如何使用Fabric2.2 如何集成零知识证明算法,这个解决思路比较简单:首先寻找零知识证明库,这个国外有好多niubility的公司,其中ConsenSys公司的gnark是个不错的选择,其次查看合约容器版本是否匹配零知识证明库的版本,版本不符合,重新编译ccenv。

**

零知识证明库

**
什么是零知识证明算法,网上的介绍非常多,原理上我们不进行过多介绍,gnark官方说明https://docs.gnark.consensys.net/en/latest/HowTo/write/standard_library/

本次我们模拟Hash证明,即 我们不出示M,却可以证明我们拥有M,使得Hash(M) 等于设定的Hash值。其中字段PreImage是我们要隐藏的原文字段,字段Hash是我们公开的证明信息,在验证时使用。具体代码如下,其中VerifyProof 我们需要放在智能合约里调用。

如果各位小伙伴下面的工程一片飘红,请使用go mod 进行包管理,下载依赖,Go版本尽量在go1.17版本及以上,笔者用的是go1.17.8

package main

import 

猜你喜欢

转载自blog.csdn.net/xjmtxwd24/article/details/124172160