博客
关于我
Circom and Snarkjs,基于以太坊的零知识证明实现
阅读量:285 次
发布时间:2019-03-01

本文共 655 字,大约阅读时间需要 2 分钟。

Snarkjs 是一种基于 zkSnarks Pinoccio 和 Groth16 协议的零知识证明(zk-SNARK)实现工具,旨在为构建通用零知识证明语句提供支持。它能够在链外和链上验证,具备较高的灵活性和扩展性。

Snarkjs 的核心功能包括 constraint 解决、零知识证明验证等,适用于需要快速验证的场景。其性能表现虽然较为突出,但在处理大量约束时仍存在一定瓶颈,未来计划通过 Julia 语言重写以提升性能和可扩展性。

关键实现细节

Snarkjs 的主要模块包括 verifier.sol 智能合约,其包含两个核心组件: verifier 和 pairing。前者负责验证过程,后者则是实现零知识证明的关键算法模块。

使用指南

在使用 Snarkjs 时,需特别注意以下事项:

  • 环境配置:建议使用 MetaMask 加上 Ropsten 测试网络,确保ether供应。
  • 部署合约:仅需部署 verifier.sol 智能合约即可。
  • 调用接口:将 snarkjs 生成的验证脚本粘贴至 verifyProof 方框,点击调用按钮即可获得验证结果。
  • Snarkjs 提供了直观的接口,例如 calculatewitness 和 printconstraints 工具,极大简化了开发流程。其生成的 verifier.sol 智能合约基于经典论文 Page-25 的算法设计,兼顾高效性和准确性。

    通过以上方法,开发者能够轻松集成 Snarkjs 进行零知识证明验证,充分发挥其强大的功能优势。

    转载地址:http://puqx.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现logistic regression逻辑回归算法(附完整源码)
    查看>>
    Objective-C实现longestCommonSubsequence最长公共子序列算法(附完整源码)
    查看>>
    Objective-C实现LongestIncreasingSubsequence最长递增子序列算法(附完整源码)
    查看>>
    Objective-C实现lorenz transformation 洛伦兹变换算法(附完整源码)
    查看>>
    Objective-C实现Lower-Upper Decomposition上下分解算法(附完整源码)
    查看>>
    Objective-C实现lowest common ancestor最低共同祖先算法(附完整源码)
    查看>>
    Objective-C实现LRU 缓存算法(附完整源码)
    查看>>
    Objective-C实现LRU缓存(附完整源码)
    查看>>
    Objective-C实现lstm prediction预测算法(附完整源码)
    查看>>
    Objective-C实现lucas数列算法(附完整源码)
    查看>>
    Objective-C实现Luhn (Mod 10)Algorithm算法(附完整源码)
    查看>>
    Objective-C实现LZW编码(附完整源码)
    查看>>
    Objective-C实现MAC桌面暗水印(附完整源码)
    查看>>
    Objective-C实现mandelbrot曼德勃罗特集算法(附完整源码)
    查看>>
    Objective-C实现markov chain马尔可夫链算法(附完整源码)
    查看>>
    Objective-C实现MATLAB中Filter函数功能(附完整源码)
    查看>>
    Objective-C实现matrix exponentiation矩阵求幂算法(附完整源码)
    查看>>
    Objective-C实现MatrixMultiplication矩阵乘法算法 (附完整源码)
    查看>>
    Objective-C实现max non adjacent sum最大非相邻和算法(附完整源码)
    查看>>
    Objective-C实现max subarray sum最大子数组和算法(附完整源码)
    查看>>