首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用zk-snarks检查值是否大于另一个值。

使用zk-snarks检查值是否大于另一个值。
EN

Cryptography用户
提问于 2018-12-31 04:44:39
回答 1查看 936关注 0票数 3

我可以用Zk-SNARKS来证明给定的秘密值比另一个公共值大吗?例如,证明secret_value >10。如果是这样的话,这样的电路会是什么样子呢?

我使用的是snarks.js,它使用电路文件。

EN

回答 1

Cryptography用户

回答已采纳

发布于 2019-01-05 01:04:24

要用zk-snarks进行范围证明,必须在算术电路上计算一个不等式。这样做的方法是减去两个数字,然后检查结果是否为负数。

例如,假设你想看看3是否< 10。

  1. 你计算3-10= -7
  2. 用2's的恭维做一点-7的分解。结果是100111。
  3. 结果的第一位是1,所以输出1,表示是的,3小于10。

佐克拉底在他们的DSL中内置了不等式,所以您可以直接使用它。

虽然这是可行的,但使用专门用于范围验证的证明系统通常是有益的。例如,防弹表有一个范围验证的批处理机制,所以如果您做的足够多,它的验证大小就可以与Zk协议相媲美。因为防弹不需要可信的设置,这最终可以节省大量的计算时间。

当前实现的公告包括一个锈蚀实施,一个哈斯克尔实施和这个摘要)。

票数 4
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/66189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档