博客
关于我
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/

    你可能感兴趣的文章
    Openssh Openssl升级
    查看>>
    openssh 加固
    查看>>
    OPENSSH升级为7.4
    查看>>
    ViewPager切换滑动速度修改
    查看>>
    OpenSSL 引入了新的治理模式和项目,来增强社区参与和决策
    查看>>
    openssl内存分配,查看内存泄露
    查看>>
    OpenSSL创建SSL证书
    查看>>
    openssl在cygwin下编译错误:CPU不支持x86_64(CPU you selected does not support x86-64 instruction set )
    查看>>
    openssl安装
    查看>>
    openssl安装
    查看>>
    OpenSSL生成root CA及签发证书
    查看>>
    Openstack CLI命令管理私有云主机实战(附OpenStack实验环境)
    查看>>
    openStack instance error 恢复
    查看>>
    openstack instance resize to
    查看>>
    openstack message queue
    查看>>
    openstack network:dhcp binding fail
    查看>>
    openStack openSource CloudComputing
    查看>>
    Openstack REST API
    查看>>
    OpenStack ussuri 私有云平台搭建企业级实战
    查看>>
    OpenStack 上部署 Kubernetes 方案对比
    查看>>