​DAOrayaki |创建假的zkSNARK证明

​DAOrayaki |创建假的zkSNARK证明

DAOrayaki DAO研究奖金池:

资助地址: DAOrayaki.eth

投票进展:DAO Committee  2/0 通過

赏金总量:60 USDC

研究种类:Blockchain Zero Knowledge Proofs

原文作者: Kobi Gurkan

贡献者:Celia @DAOrayaki

原文: Creating fake zkSNARK proofs

链接:https://medium.com/qed-it/how-toxic-is-the-waste-in-a-zksnark-trusted-setup-9b250d59bdb 4

DAOrayaki 是一个去中心化的研究者组织和去中心化媒体,通过 DAO的形式去中心化地资助世界各地的研究者进行研究、翻译、分析等工作。DAOrayaki 由早期的 DAO 组织 DAOONE 核心成员发起,得到了Dora Factory基础设施的支持。欢迎通过文末方式提交DAO的研究,瓜分10000USDC赏金池!了解去中心化自治组织(DAO),探讨最新治理话题,关注DAO的发展趋势,欢迎加入DAOrayaki社区!

zkSNARKs是一种创建零知识证明的方法。具体来说,是简洁的、非交互式的创建零知识证明的方法。

zkSNARKs到底是什么可以参考以下内容

1. zkSNARKs在Zcash中是如何构建的--由Zcash团队提供。

https://z.cash/technology/zksnarks/

2. 私人数据的无信任计算—QED-it的首席密码学家Daniel Benarroch和Aviv Zohar

教授的博文。

https://qed-it.com/trustless-computing-on-private-data/

3. 证明,区块链。ZKPinAction - 一个解释ZKP和如何为数独创建一个的会议

视频。

https://qed-it.com/2017/07/04/zkp-in-action/

4. 不可思议的机器--QED-it首席科学家Aviv Zohar教授的博文,解释了可信的设置。

https://qed-it.com/2017-12-20-the-incredible-machine/

5. 猎杀SNARK - 一系列的谜语,用于实验ZKPs。

https://qed-it.com/2017/07/11/the-hunting-of-the-snark/

在QED-it,我们使用zkSNARKs和其他工具, 为企业创建零知识区块链。

最为人所知的zkSNARKs的生产部署可能是ZCash--一种具有不可链接的交易和隐藏金额的加密货币。ZCash,以及其他一些利用zkSNARKs的产品,都是基于一种叫做Pinnochio的结构,尽管更具体的是BCTV14a。这是一项了不起的技术,正如你可能怀疑的那样。这种结构有一个明显的缺点:可信的设置。

受信任设置

设置是一个生成CRS(通用参考字符串)的过程,或者更公开地称为一对证明和验证密钥。这些 "密钥 "被证明者和验证者用来分别生成和验证特定问题(或约束系统)的证明。

在这个过程中,有一些随机的元素被抽样,但必须保密。因为如果验证者知道这些,他们将能够创造出被成功验证的证明,而在证明过程中不使用问题的实际解决方案。换句话说,就是要伪造证明,破坏健全性。这种随机性也被称为 "有毒废料(toxic waste)"。有一些方法可以避免这种担忧,不把信任放在单一实体上。对于公共电路来说, 这些方法通常涉及多方计算,在这个过程中,多个参与者捐出自己的随机性,之后再将其销毁。有趣的是,只要有一个参与者是诚实的,并且销毁了他们的随机性,整个过程就会很安全。

使用MPC做可信设置的一些值得注意的例子仍旧是:ZCash。

1. "The Ceremony "播客

https://www.wnycstudios.org/podcasts/radiolab/articles/ceremony

2. Tau的幂

https://z.cash.foundation/blog/powers-of-tau/

你可能会注意到这里冒出来的这个 "Tau"...Tau的保密性非常重要。一旦Tau被证明人知道,就很容易伪造证明。

创建一个证明

让我们快速看一下BCTV14a中提出的建设。

这是一个数学问题,所以让我们挑出与本篇文章有关的细节部分:

1. Tau是在设置过程中随机抽取的有限场中的一个点,是 "有毒废料"中的一部分。

2. 在证明过程中,验证者会计算一些多项式--A(z),B(z)和C(z),它们来自约束系统和公共及私人输入的解决方案。本质上,这些多项式代表了 "a*b=c "形式的约束,或者等同于 "a*b-c=0"。

3. 验证人还计算H(z)=(A(z)B(z)-C(z))/Z(z),其中Z(z)是一个公开的多项式,在代表约束系统的点上为零。请注意,由于A、 B和C考虑了验证者的输入,只有当分子也在相同的点上归零时才能计算出H,证明验证者实际上知道问题的一个解决方案,即产生A*B-C=0。重要的部分现在发生了--验证者在不知道Tau的情况下,可以计算出在Tau处求值的"指数内 "H(z)--H(Tau)。

我们为什么要这样做?因为通过在随机点Tau上求值,证明者有很高的概率表明方程H=(A*B-C)/Z对所有Z都成立。从同一问题的不同角度来看,在不知道Tau的情况下, 证明者以高概率,将无法产生一个在该点得到完全相同的值的多项式。

我们如何在技术上做到这一点呢?有这样一个事实:设置过程的一部分产生了包含Tau所有相关幂的元素隐藏在指数中,以pk_Hi的形式给出。如果我们有H的系数,我们可以将这些结合起来并创建H(Tau)。

更具体地说

验证者计算的H(z)

取自证明的钥匙,在设置过程中计算出来的

对H(Tau)进行 “指数内”评估

验证者在收到证明后,可以再次在指数中检查验证者是否确实提供了满足H=(A*BC)/Z关系的H的系数,这只有在验证者确实知道一个解决方案时才能做到。

伪造证明

现在让我们做个假设,如果Tau被知道了会怎样?如果由于某种原因,它在设置过程中被暴露出来,并且被恶意验证者知道了。

显然,伪造一个证明是非常容易的。因为H=(A*B-C)/Z的等价检查是在特定的点Tau进行的,我们可以利用我们对Tau的了解来创建一个完全满足的多项式。也就是说,创建一个常数多项式H(z),它只是一直返回(A(Tau)*B(Tau)-C(Tau))/Z(Tau)。

核查员的检查会通过,而且没有人知道。这听起来很难...

其实一点也不。我们非常欢迎你查看这段概念验证代码,它基于Howard Wu的libsnarktutorial,自己看看对代码所做的修改。

1. 该程序设置了一个用于比特分解的电路,尽管它是C。

2. 设置过程恶意地将Tau保存到磁盘。

3. 验证者从磁盘上加载Tau,并使用错误的输入进行证明。验证者知道Tau,生成常数多项式,不考虑输入。

然后验证者成功地验证了证明!

结论

我希望这篇文章提供了一些见解, 让我们了解什么是大家一直在谈论的关于zkSNARKs的 "有毒废物",以及为什么它的暴露会导致容易被攻击。


通过 DAO,研究组织和媒体可以打破地域的限制,以社区的方式资助和生产内容。DAOrayaki将会通过DAO的形式,构建一个满足人们需求,一个民主治理和所有人都可以利用的公共媒体系统,从而实现真正意义上的去中心化。欢迎通过以下方式提交DAO的研究,瓜分10000USDC赏金池!了解去中心化自治组织(DAO),探讨最新治理话题,关注DAO的发展趋势,欢迎加入DAOrayaki社区!

官方网站:

daorayaki.org

Discord server: https://discord.gg/wNUPmsGsa4

Medium: https://medium.com/@daorayaki

Email: daorayaki@dorafactory.org

微信助手:DAOrayaki-Media


详情请参考:

Dora Factory支持去中心化DAO研究组织DAOrayaki

对DAOrayaki第一阶段的回顾--去中心化媒体的先驱

DAOrayaki |DAOrayaki 开启去中心化治理2.0时代

DAOrayaki |风险投资的范式转移:无限主义基金和无限游戏

查看更多同类文章:

DAOrayaki | Gas成本和选民参与

DAOrayaki |通过分配代币价格的“治理溢价”衡量治理权力

DAOrayaki|DAO 资金管理系列一:如何构建与设计

DAOrayaki|DAO 资金管理系列二:机制设计

DAOrayaki|Forefront:塑造社区的贡献区

DAOrayaki|PoolHAUS与去中心化流动性供应

API3 DAO | DAO和质押的意义 Part 1

D2D:面向去中心化的谈判协议

联合曲线设计脑洞大全及参数大典

Synthetix:去中心化治理结构

DAO 联盟|Open DeFi DAO 治理结构

DAO 投票治理

DAOrayaki|Vitalik Buterin:超越代币投票的治理

DAOrayaki |DAO民主投票系列:民主投票机制综述可选用的DAOs投票机制汇总

DAOrayaki解读|价格敞口和投票权

DAOrayaki | 去中心化仲裁:Kleros、Aragon、Jur

DAO代币治理

DAOrayaki|如何利用社交代币实现长期增长

DAOrayaki|更好的 DeFi Grant计划设计

DAOrayaki |代币经济学导论

Farming机制是否代表着代币分配的进步?

DAOrayaki|DAO 国库多元化的范围代币

DAOrayaki|DAO 通过财政多元化为下一个加密冬天做准备

DAOrayaki| DAO:扩展资本协调能力

Social token与DAO思潮下微观经济体的崛起

$WORK 奖励、利益相关者经济学和就业共享的代币化

海外最新研讨:数字货币与货币体系的未来

DAO治理攻击

DAOrayaki|DAO 的漏洞:自治的假想与治理弹性评估模型

DAOrayaki|公地弹性:去中心化技术社区治理中的“弹性”

DAOrayaki|算法治理实验:DAO治理动态、韧性及崩溃

DAOrayaki |加密市场操纵:威科夫方法及模式

DAOrayaki |加密货币里的吸血鬼攻击

DAOrayaki |依靠钱包追踪鲸鱼活动

DAOrayaki |DAO 中的富豪统治问题

DAOrayaki|全面综述:女巫攻击和防御方法

二次方融资(Quadratic Funding)的攻击与防守

一份前瞻性暂停使用The DAO的呼吁(2016.5.27)

二次方投票、融资资助

DAOrayaki|二次方投票与公共物品

DAOrayaki|二次方投票和区块链治理

DAOrayaki|关于改善配对协调补贴的一个方法探讨

DAOrayaki|二次方投票:机制设计如何使民主激进化

「激进市场」和二次方投票 | 用市场本身去监管市场

二次方资助V2协议: 抗女巫攻击、公平和规模化的链上二次方投票

累进税系统提高二次方资助的公平性

DAOrayaki |Gitcoin Grant第 11 轮反欺诈评估和结果

二次方融资(Quadratic Funding)的攻击与防守

更多关于DAO的文章,关注Dorafactory,查看往期文章。

DAOrayaki

DAOrayaki is a decentralized media and research organization that is autonomous by readers, researchers, and funders.