TAU:?DAOrayaki:创建假的zkSNARK证明-ODAILY

DAOrayakiDAO研究奖金池:

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

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

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

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

2.私人数据的无信任计算—QED-it的首席密码学家DanielBenarroch和AvivZohar

教授的博文。

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

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

视频。

土耳其总统候选人Kemal K?l??daro?lu:将在上台后扩大Web3平台采用:5月14日消息,2023年土耳其总统候选人、土耳其最大反对党领袖Kemal K?l??daro?lu表示将在上台后取消对PayPal的禁令并扩大Web3平台采用,K?l??daro?lu还批评了土耳其央行禁止在国内使用加密货币作为支付方式的决定。

土耳其现任总统埃尔多安曾在2021年9月份推出反对加密货币的政策,但由于土耳其通胀一直居高不下,该国一直位于全球加密采用率前列。(Rossaprimavera)[2023/5/14 15:02:00]

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

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

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

分析 | 近日EOS?Dapp日交易额连续下降已被ETH和TRON反超:据RatingDapp和RatingToken大数据监测显示,昨日EOS/ETH/TRON三大主流公链平台Dapps活跃用户分别为EOS(112831)>TRON(39687)>ETH(17456)。从交易额来看,昨日EOS?Dapp交易额$11414789.15,环比前日下降13.23%,环比7月2日下降29.36%;ETH?Dapp交易额$11445096.81,环比前日下降7.35%;TRON?Dapp交易额 $11789869.65,环比前日下降4.26%。[2019/7/5]

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

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

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

动态 | EOS/ETH/TRON?Dapps周交易额环比上周均呈下降趋势:据RatingDapp和RatingToken大数据监测显示,最近一周,EOS/ETH/TRON三大主流公链平台Dapps活跃用户分别为:EOS 169519,环比上周上涨3.25%;ETH 77608,环比上涨31.92%;TRON 102381,环比下降6.92%,为近一个月来最低。从周交易额来看,三大公链Dapps周交易额环比上周均呈下降趋势,其下降比例分别为:EOS (-4.95%)、ETH(-7.32%)、TRON(-7.77%)。[2019/5/31]

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

分析 | 最近一周ETH?Dapp?单笔平均交易额环比下降39.78%:据RatingDapp和RatingToken大数据监测显示,最近一周,三大公链EOS/ETH/TRON?Dapp交易笔数分别为EOS(26208833)>TRON(5138201)>ETH(555460);交易额EOS($167909257.01)>TRON($84869324.83)>ETH($66362082.26)。从各公链Dapp单笔平均交易额来看:EOS 6.41美元,环比上周上涨1.58%;ETH 119.47美元,环比上周下降39.78%;TRON16.52美元,环比上周下降14.79%。[2019/5/29]

受信任设置

设置是一个生成CRS的过程,或者更公开地称为一对证明和验证密钥。这些"密钥"被证明者和验证者用来分别生成和验证特定问题的证明。

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

动态 | 近一个月ETH?Dapp单笔平均交易额环比上涨达34.79%:据RatingDapp和RatingToken大数据监测显示,最近一个月?EOS/ETH/TRON三大主流公链平台Dapps?交易额分别为EOS($728945752.64)>TRON($387566154.16)>ETH($253931932.08)。从各公链Dapp单笔平均交易额来看,EOS 6.52美元,环比上月上涨0.57%;ETH121.84美元,环比上月上涨34.79%;TRON 11.03美元,环比上月下降29.37%。[2019/5/14]

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

1."TheCeremony"播客

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。

更具体地说

验证者计算的H(z)

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

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

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

伪造证明

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

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

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

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

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

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

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

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

结论

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

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:0ms0-1:1ms