首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏深入浅出区块链技术

    零知识证明 circom 及 snarkjs 入门教程

    snarkjs 库会利用这些特性(如果可用的话),从而将性能提高10倍(!)。 1.2 安装 circom 和 snarkjs 运行: npm install -g circom npm install -g snarkjs 2. 将编译后的电路放入 snarkjs 现在电路已经编译好了,我们将继续使用snarkjs。 我们随时可以通过输入snarkjs --help 来访问snarkjs的帮助 3.1 查看电路有关的信息 要显示电路的信息,可以运行: > snarkjs info -r circuit.r1cs # printconstraints -r circuit.r1cs 3.2 用 snarkjs 启动配置 现在为电路运行启动配置: snarkjs setup 默认 snarkjs 将寻找和使用 circuit.r1cs

    3.6K31发布于 2020-06-04
  • 来自专栏深入浅出区块链技术

    构建你的第一个零知识 snark 电路(Circom2)

    snarkjs 是 zk-snarks 协议的独立实现-完全用 JavaScript 编写。 这些库是设计好能协同工作的:在 circom 中构建的任何电路都可以在 snarkjs 中使用。 你可以用以下命令安装snarkjs :npm install -g snarkjs 2、设计电路 circom 允许程序员定义算术电路的约束。 ] snarkJS: # of Constraints: 1 [INFO] snarkJS: # of Private Inputs: 2 [INFO] snarkJS: # of Public Inputs: 0 [INFO] snarkJS: # of Labels: 4 [INFO] snarkJS: # of Outputs: 1 此信息与我们设计的电路相吻合。 可信设置 目前,snarkjs 支持 2 个证明系统:Groth16 和 PLONK。 我们样例中采用的方案是 Groth16,使用 PLONK 可以参考 snarkjs 教程[9]。

    1.9K30编辑于 2022-11-07
  • 来自专栏AI SPPECH

    038_零知识证明访问控制:隐私保护与权限验证的完美结合

    以下是一个基于JavaScript的客户端实现示例: // 使用SnarkJS库生成和验证零知识证明 const snarkjs = require("snarkjs"); async function attributeX, resourceId) { try { // 读取证明密钥和验证密钥 const { proof, publicSignals } = await snarkjs.groth16

    39410编辑于 2025-11-19
  • 来自专栏AI SPPECH

    46:零知识证明入门:zk-SNARKs数学证明与电路生成

    signal output c; c <== a + b; } component main = Add(); 代码运行环境 Node.js 14+ 依赖库:circom, snarkjs 运行命令:npm install -g circom snarkjs && circom circuit.circom && snarkjs setup 关键词: 零知识证明, zk-SNARKs,

    30710编辑于 2026-03-21
  • 来自专栏随意记录

    密码学[4]:电路 R1CS QAP

    c ; } component main = three_fac() ; 编译: circom three_fac.circom --r1cs --wasm --sym 打印电路状态,包括约束个数: snarkjs r1cs info circuit.r1cs [INFO] snarkJS: Curve: bn-128 [INFO] snarkJS: # of Wires: 6 [INFO] snarkJS: # of Constraints: 2 [INFO] snarkJS: # of Private Inputs: 0 [INFO] snarkJS: # of Public Inputs: 3 [INFO ] snarkJS: # of Labels: 11 [INFO] snarkJS: # of Outputs: 1 参考 The MoonMath Manual 第 6 章

    1.3K40编辑于 2023-10-30
  • 来自专栏深入浅出区块链技术

    Tornado.cash: 一个关于匿名和zk-SNARKs的故事

    snarkjs[13] 则用来进行初始设置和自动生成 Solidity 验证器合约。 所有细节可在白皮书[14]中找到。 repos/research/publications/zkproof-standards-workshop-2/pedersen-hash/pedersen.html#pedersen-hash [13] snarkjs : https://github.com/iden3/snarkjs [14] 白皮书: https://tornado.cash/Tornado.cash_whitepaper_v1.4.pdf [15

    1.2K30发布于 2021-08-06
  • 来自专栏区块链开发

    区块链数字 ID 系统的开发

    辅助技术: 零知识证明 (ZKP) 库: 用于实现选择性披露和隐私保护,例如 SnarkJS、Circom 等。 加密算法库: 支持各种签名算法(如 ECDSA)、哈希函数。

    45110编辑于 2025-06-23
  • 来自专栏AI SPPECH

    008_密码学基础应用:区块链安全的数学基石与实践指南

    newStateRoot = this.computeNewStateRoot(this.transactions); // 生成零知识证明 // 注意:实际实现中使用专业的ZK证明库如snarkjs 长期安全需求 计算开销 较高 非常高 离线证明生成 成熟度 高 中 生产环境 零知识证明开发框架 2025年主流的零知识证明开发框架: Circom:电路描述语言和编译器,用于构建zkSNARK电路 SnarkJS 证明 ZoKrates:提供高级语言编写零知识电路的工具集 StarkWare的工具链:用于开发zkSTARK应用的专业工具 Aztec的Noir:新兴的零知识编程语言和工具链 // 使用Circom和SnarkJS

    30710编辑于 2025-11-18
  • 来自专栏深入浅出区块链技术

    每周以太坊进展2022/6/18

    Hardhat-circom v3.2.x[32]: 与 Mocha 集成的电路测试,从 Groth16 和 PLONK snarkjs 绑定中导出调用数据 Sepolia 测试网RPC[33] Sol

    47520编辑于 2022-11-07
  • 来自专栏深入浅出区块链技术

    每周以太坊进展 2022/10/8

    Noir[42]: Aztec 的基于 Rust 的语言,用于创建和验证 zk 证明 Circom-Next-Starter[43]: zk 应用程序启动工具包使用 Hardhat, Circom, Snarkjs

    63020编辑于 2022-11-07
  • 来自专栏Python与爬虫

    零知识证明学习资源汇总

    零知识证明 - bellman源码分析 推荐值:❤️❤️ 难度值:⭐️⭐️⭐️ 原文链接:https://github.com/zcash/librustzcash/tree/master/bellman snarkjs 仓库链接:https://github.com/iden3/snarkjs 9 零知识证明相关学术论文 下面介绍一下零知识证明相关的学术论文,深入学习零知识证明研究成果的小伙伴可以去阅读以下的这些论文。

    1.8K20发布于 2019-11-15
  • 来自专栏AI SPPECH

    003_区块链网络安全入门:分布式账本的防护体系与共识机制安全

    开发环境设置 为零知识证明开发准备环境: 工具链选择 Circom + SnarkJS:用于构建zk-SNARK电路 ZoKrates:高级语言开发zk-SNARKs Noir:新兴的零知识编程语言 Cairo:用于StarkNet的零知识编程语言 开发工作流 定义计算问题 设计电路/程序 编译和验证 可信设置(如需要) 集成到应用程序 # Circom和SnarkJS设置示例 # 1. 全局安装Circom和SnarkJS npm install -g circom snarkjs # 3.

    53210编辑于 2025-11-18
领券