码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • sonobe:针对IVC的fold arithmetic电路实例


    1. 引言

    近日,arnaucube发推宣称 在EVM链(Optimistic)上验证了首个Nova+CycleFold proof,对应开源代码实现见:

    • https://github.com/privacy-scaling-explorations/sonobe(Rust + Solidity)

    sonobe为:

    • 0xPARC和PSE团队联合开发的folding schemes库
    • 采用模块化结构
    • 用于Incremental Verifiable computation (IVC) 场景
    • 支持多个folding schemes和decider setups,支持用户按需选择
    • 致力于将folding schemes推向实用化,并促进其proof在EVM链上的验证。

    在这里插入图片描述

    所谓folding scheme,是指高效证明:
    z n = F ( ⋯ F ( F ( F ( F ( z 0 , w 0 ) , w 1 ) , w 2 ) , ⋯   ) , w n − 1 ) z_n=F(\cdots F(F(F(F(z_0,w_0),w_1),w_2),\cdots),w_{n-1}) zn​=F(⋯F(F(F(F(z0​,w0​),w1​),w2​),⋯),wn−1​)
    其中:

    • w i w_i wi​为每个递归步骤中额外的witness。

    在这里插入图片描述
    Sonobe基本流程为:

    • 1)定义要折叠的电路,即前端,支持arkworks、Circom、Noir等。

    • 2)设置所使用的folding scheme方案,如Nova+CycleFold。CycleFold改进了Nova中的cycle of curves使用:
      在这里插入图片描述
      其中,Nova电路与CycleFold电路之间的组合方式为:
      在这里插入图片描述

    • 3)设置生成final proof的final decider,如基于Pasta curves的Spartan、基于BN254的Groth16等。分链上链下两大类:

      • 3.1)On-chain decider
        在这里插入图片描述
      • 3.2)Off-chain decider
    • 4)生成decider verifier。

    当前已实现的Folding schemes有:

    • Abhiram Kothapalli、Srinath Setty 和 Ioanna Tzialla 2021年论文 Nova: Recursive Zero-Knowledge Arguments from Folding Schemes
    • Abhiram Kothapalli 和 Srinath Setty 2023年论文 CycleFold: Folding-scheme-based recursive arguments over a cycle of elliptic curves

    正在实现中的Folding schemes有:

    • Abhiram Kothapalli 和 Srinath Setty 2023年论文 HyperNova: Recursive arguments for customizable constraint systems
    • Liam Eagen 和 Ariel Gabizon 2023年论文 ProtoGalaxy: Efficient ProtoStar-style folding of multiple instances

    2. Sonobe用例

    2.1 sonobe-btc:链上Bitcoin light client

    sonobe-btc 为利用Sonobe实现的链上Bitcoin light client:

    • 使用Nova来验证比特币上前10万个区块的proof of work
    • 在Optimistic L2链上以Groth16来做该zkSNARK IVC proof验证

    开源代码见:

    • https://github.com/dmpierre/sonobe-btc(Solidity+Rust)

    运行该light client的开销有:

    • 33h of compute on an aws ec2 c6i.4xlarge instance (16 cores, 32gb RAM) = 26.64 USD
    • Contract deployment + verification on Optimism = 0.91 USD,交易详情见:https://optimistic.etherscan.io/address/0x83c2acbbcc5e223be030288b5e5afb0b80e96f3f

    参考资料

    [1] 2024年4月19日arnaucube twitter 在EVM链上验证了首个Nova+CycleFold proof
    [2] sonobe docs

  • 相关阅读:
    Go 语言代码断行规则详解
    Vue 监听路由及权限设置
    测试项目中的风险管理
    [LeetCode/力扣][Java] 0946. 验证栈序列(Validate Stack Sequences)
    Day58 739. 每日温度 496.下一个更大元素 I
    Javascript中integrity属性安全验证
    Python Opencv实践 - 入门使用Tesseract识别图片中的文字
    Apache InLong 反序列化漏洞
    CentOS MySQL安装及问题解决
    linux——环境基础开发工具使用
  • 原文地址:https://blog.csdn.net/mutourend/article/details/139411407
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号