EthWorks:零知识证明与区块链扩展,Part-1

通过本文,我们想要分享我们与区块链开发者乃至整个区块链社区进行可扩展性研究所得出的成果。我们相信,本文将帮助大家了解零知识证明和二层可扩展性方案的潜力,同时更深入地理解这些技术

  • EthFans
  • 发布于 2020-07-27
  • 阅读 ( 49 )
  • ( 5 )

非对称加密Rsa数字签名Go实战

本文介绍了如何使用非对称加密来实现信息安全领域中热点话题-数字签名

  • potaxie
  • 发布于 2020-07-18
  • 阅读 ( 643 )
  • ( 153 )

Monero技术详解(四):隐藏交易数额之Pederson承诺

Monero隐藏用户交易数量技术之一——Pedersen承诺

零知识证明介绍

在接下来一个系列的文章中将为你一一介绍,从零知识证明的概念一直到零知识证明背后的密码学实现。

  • 吴寿鹤
  • 发布于 2020-06-30
  • 阅读 ( 549 )
  • ( 105 )

Monero技术详解(三):核心技术——环签名(1)

前文介绍了一次性地址,本文将以例子的形式来介绍Monero的核心技术——环签名

Monero技术详解(二):一次性地址

每次发送交易时,发送方根据接收方的地址,随机产生临时公钥来接收交易。由于临时公钥的随机性,交易接收方的不同交易之间的关联性被打破了。而拥有临时公钥对应私钥的接收方,可以用该临时私钥将来消费这笔UTXO。

Monero技术详解(一):技术方案总览

Monero不单使用了较为通用的区块链技术来实现账本一致性问题。并且使用较为精妙的密码学技术来解决隐私问题。

实践指南:构建一个零知识证明 DApp [译]

本文将构建一个zk-dApp(零知识证明 DApp),以证明用户是否属于某个特定组,而无需透露用户具体是谁。

  • Tiny熊
  • 发布于 2020-06-10
  • 阅读 ( 537 )
  • ( 149 )

circom与snarkjs经典教程:创建第一个零知识 snark 电路

本教程是circom 和 snarkjs 最经典的入门文章

  • Tiny熊
  • 发布于 2020-06-02
  • 阅读 ( 1493 )
  • ( 327 )

零知识证明 - 区块链应用中的风险

19年底360安全发布的一篇有关零知识证明安全的文章。这篇文章是Zhiniang Peng在PacSec2019大会发言的总结。文章框架性地介绍零知识证明zk-SNARK的知识,并给出了一些安全提示和思考。

  • Star Li
  • 发布于 2020-03-24
  • 阅读 ( 211 )

零知识证明 - 新手入门指南

不知不觉,写了不少零知识证明相关的文章,单独总结成列表。方便对零知识证明感兴趣的小伙伴,学习开发。零知识证明,乃至区块链技术,需要学习,深入研究的东西太多太多了。零知识证明学习入门...

  • Star Li
  • 发布于 2020-03-01
  • 阅读 ( 1934 )
  • ( 65 )

零知识证明 - 电路及证明示例(libsnark)

libsnark库代码层次非常清晰。libsnark也给出了SNARK相关算法的全貌,各种Relation,Language,Proof System。为了更好的生成R1CS电路,libsnark抽象出protoboard和gadget,方便开发者快速搭建...

  • Star Li
  • 发布于 2020-03-01
  • 阅读 ( 479 )
  • ( 9 )

零知识证明 - 基于多项式构造零知识证明

理解为什么以及如何基于多项式构造零知识证明,这篇文章讲的比较清楚。虽然文章只讲到了皮诺曹协议,但是足够理解基于多项式构造零知识证明的本质。想深入零知识证明的小伙伴都建议看看。

ht...

  • Star Li
  • 发布于 2020-02-21
  • 阅读 ( 2050 )
  • ( 5 )

[译]几种通用的zk-SNARKs 实现的比较

几种通用的zk-SNARKs 实现的比较

  • 石头
  • 发布于 2020-02-20
  • 阅读 ( 590 )
  • ( 63 )

从零开始学习zk-SNARK(五)—Pinocchio 协议

作为本系列的最后一篇文章,本文继续对 zk-SNARK 协议进行完善,最终形成一个完整的 zk-SNARK 协议

从零开始学习zk-SNARK(四)—多项式的约束

上一篇文章中我们学习了如何将程序转换为多项式进行证明。到这里似乎已经有点晕了,本文将对协议执行进一步的约束,并对协议展开优化。

从零开始学习zk-SNARK(三)—从程序到多项式的构造

前文主要介绍了如何构造多项式的零知识证明协议,现在将开始探讨如何构造更通用的协议。本节主要是讲如何将一组计算的证明转换为多项式进行证明。本文重点主要包括:多项式的算术性质,多项式插值等。

零知识证明 - 椭圆曲线基础

有限域上的椭圆曲线是零知识证明的基础。零知识的实现是基于离散对数问题。从计算的角度来看,F_p是个有限域,在之基础上建立的椭圆曲线点的运算都是在这个域范围内。有限域上的椭圆曲线上有很多循环子群F_r,具有加法同态的特性。离散对数问题指的是,在循环子群上已知两点,却很难知道两点的标量。

  • Star Li
  • 发布于 2020-01-20
  • 阅读 ( 668 )
  • ( 13 )

浅谈零知识证明之二:简短无交互证明(SNARK)

相信看完前一篇文章的朋友们会有一点很不解的地方:为什么我们可以如此简短的创建一个证明,并且证明很长的信息呢?在上课前我也有这同样的疑惑,甚至觉得这个是一个“黑科技”,不过相信大家看完这篇文章,就会知道如何去驾驭这个“黑科技”了。

探索零知识证明系列5-构建非交互式零知识证明

探索零知识证明系列(五)