我们需要注意!
再使用零知识证明的时候,
因为某些包的版本一致在更新,如果只是单纯的进行 go mod tidy之后,那么有可能就会出现包不匹配的现象导致下面错误的出现:
所以我们需要注意!下面红框中的包的版本必须是0.7版本的!使用最新的0.8版本不会报错!但是会导致链码安装失败!
下面进行错误展示和如何解决:
首先在goland中进行演示:
使用go get 指令进行切换包版本到0.7版本!
查看go mod:
下面是在linux中进行链码安装时候的报错和解决方案:
错误:Error: chaincode install failed with status: 500 - failed to invoke backing implementation of 'InstallChaincode': could not build chaincode: docker build failed: docker image build failed: docker build failed: Error returned from build: 2 "golang.org/x/sys/internal/unsafeheader
今天在链码里集成零知识证明和环签名的时候安装链码的时候报错了,奇怪了,我明明go mod tidy了 为什么会错呢?
显示包不兼容问题
猜测是多个包集成的时候导致包的版本发生了变化,导致安装不上去:
查看之前安装成功的链码的这个包的版本是0.7,但是现在链码包版本版本是0.8,尝试修改版本看看能不能解决?
mycc01目录下:
解决方法:
mycc02目录下:
在终端输入:go get github.com/consensys/gnark-crypto@v0.7.0
切换版本,再tidy vendor!
安装就成功了!
环签名介绍
环签名是一种简化的群签名,环签名中只有环成员没有管理者,不需要环成员间的合作,签名者利用自己的私钥和集合中其他成员的公钥就能独立的进行签名,集合中的其他成员可能不知道自己被包含在其中。环签名的优势除了能够对前者进行无条件匿名外,环中的其他成员也不能伪造真实的签名者签名。环签名在强调匿名性的同时,增加了审计监管的难度。
环签名的安全性
正确性:按照正确的签名步骤对消息进行签名,并且传播过程签名不被篡改,则环签名满足验证等式。
无条件匿名性:攻击者即便非法获取了所有环成员的私钥,他能确定出真正签名者的概率不超过1⁄r,r是环中成员(可能的签名者)的个数。
不可伪造性:环中其他成员不能伪造真实签名者的签名,攻击者即使在获得某个有效环签名的基础上也不能以不可忽略的优势成功伪造一个新消息的合法签名。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)