暂无介绍
>I know that I know nothing —— 苏格拉底 相信很多人都听说过零知识证明,但是只有极少数人听说过模拟,然而模拟是理解零知识的关键。
要解释「零知识证明」,我们需要先解释「证明」,然后解释什么是「知识」,最后再解释什么是「零知识」。
我认为区块链很难称为一个“技术”。它更像是一个领域,包罗万象。或者形而上地说,区块链更像一个有机体,融合了各种不同的理论技术。 零知识证明是构建信任的重要技术,也是区块链这个有机体中不可缺少的一环。
最近又重新看了看ZCash的白皮书。话说,看ZCash的白皮书需要一点耐心,144页的白皮书形式化太多,通篇就只有一张图(地址和Key生成关系图)。本文画图总结了Sprout和Sapling的交易Transaction的数据结构。
早上很多朋友@我,安比实验室发表了一篇文章[zkSNARK的“输入假名”的攻击](https://learnblockchain.cn/2019/07/29/zkSNARK-wul/)。迅速看了看,很赞。这个攻击原理其实比较简单,但是,不深入理解zkSNARK以及使用场景的朋友确实很难发现和理解。本文讲讲我对这个攻击的分析和理解。
大量零知识证明项目由于错误地使用了某个 zkSNARKs 合约库,引入「输入假名 (Input Aliasing) 」漏洞,可导致伪造证明、双花、重放等攻击行为发生,且攻击成本极低。众多以太坊社区开源项目受影响,其中包括三大最常用的 zkSNARKs 零知开发库 snarkjs、ethsnarks、ZoKrates,以及近期大热的三个混币(匿名转账)应用 hopper、Heiswap、Miximus。这是一场由 Solidity 语言之父 Chris 两年前随手贴的一段代码而引发的血案。
Zcash的发展大体经过了OverWinter(过冬) -> Sprout(发芽) -> Sapling(树苗)这几个阶段,随着业务和功能的逐渐丰富,密钥系统也越来越复杂,刚开始接触时感觉一头雾水,但是静下心来仔细分析,就能逐渐领略其中的魅力。
2018年 Jacob Eberhardt和Stefan Tai两位德国柏林工业大学博士生,提出了[链下计算/链上验证的处理框架](https://www.ise.tu-berlin.de/fileadmin/fg308/publications/2018/2018_eberhardt_ZoKrates.pdf),并提供了在以太坊上的整个框架的工具链。链下计算/链上验证的思想很早就有,但是能提供比较完善的工具链的实属难得。目前ZoKrates使用zk-SNARK算法实现零知识证明。
零知识证明 - Coda SNARK挑战(Stage2)
> 这篇文章解释利用ZKP(零知识证明)与区块链来实现去中介的交易协议的原理,讲讲我们是怎么把这个理论变成实用的代码的,这是一篇概述,希望了解更多的朋友请关注后续。
bellman是Zcash团队用Rust语言开发的一个zk-SNARK软件库,实现了Groth16算法。
本文主要是通过对架构设计、承兑型资产铸造、转移和销毁这几个层面进行了详细的理论和实现的分析。
## 摘要 Nightfall是一种零知识证明的实现, 它使用zk-SNARKS让同质化ERC20和非同质化的通证ERC721系列的通证进行隐私化转移,使得交易能够完成但是又能足够的匿名。本文主要是通过对架构设...
上次我写了一篇[ EYBlockchain 在以太坊上创建隐私币](https://learnblockchain.cn/2019/06/13/EYBlockchain/), 最近有点时间,重新看了看EYBlockchain的源代码,对EYBlockchain的理解又深入了不少。画了一些图,分享给有需要的小伙伴 :)
## 缘起 进来参与了很多安永的区块链技术活动,安永发布了基于零知识证明的Nightfall框架。因此决定把零知识证明这个加密体系中的硬核知识给全方位的梳理一遍,就有了此零知识证明系列文章。...
2246 回答,2140赞同
0 回答,828赞同
0 回答,110赞同
1 回答,109赞同
0 回答,99赞同
1 回答,85赞同
0 回答,85赞同
0 回答,77赞同
0 回答,70赞同
0 回答,65赞同