SP1:基于Plonky3构建的zkVM

news/2024/11/24 13:21:16/

1. 引言

SP1为SuccictLab开源的,基于Plonky3构建的zkVM。

开源代码见:

  • https://github.com/succinctlabs/sp1(Rust)

当前暂未实现onchain-verifier,但会采用标准的STARK->SNARK verifier。

SP1 zkVM基于的指令集为:

  • riscv32im(与RISC Zero的指令集一样)

在SP1 zkVM中运行某程序之前,需将该程序编译为RISCV可执行文件(*.elf)。

当前SP1 zkVM支持的预编译有:【RISC Zero实现的Cryptography Acceleration有SHA256和256-bit modular multiplication】

  • SHA256 Extend
  • SHA256 Compress
  • Keccak256 Permute
  • Ed25519 Add
  • Ed25519 Decompress.
  • Secp256k1 Add
  • Secp256k1 Double
  • Secp256k1 Decompress

对应的patched crates为:【实际都是fork的其它库?但无fork链接记录?】

Crate NameRepository
sha2succinctlabs/RustCrypto-hashes
ed25519-consensussuccinctlabs/ed25519-consensus
alloy-coresuccinctlabs/alloy-core(未开源当前?)
tiny-keccaksuccinctlabs/tiny-keccak
dalek-ngsuccinctlabs/dalek-ng

参考资料

[1] SP1 Book
[2] 2024年2月15日 twitter SuccictLab开源SP1 ZKVM


http://www.ppmy.cn/news/1353722.html

相关文章

【杂谈】裁我?我是研发,我是研发啊!

闲谈 这两年互联网是越来越不太平了,前有国外互联网裁员的妖风四起,后来寒气又传到国内,让我们这群打工人叫苦连天。最近有部电影蛮火的,叫《年会不能停》,感觉跟我前司很相似,不过好像由于今年业绩不太行…

OpenAI首个文生视频模型亮相,你觉得咋样?

2月16日凌晨,OpenAI再次扔出一枚深水炸弹,发布了首个文生视频模型Sora。据介绍,Sora可以直接输出长达60秒的视频,并且包含高度细致的背景、复杂的多角度镜头,以及富有情感的多个角色。 目前官网上已经更新了48个视频d…

云计算基础-快照与克隆

快照及克隆 什么是快照 快照是数据存储的某一时刻的状态记录,也就是把虚拟机当前的状态保存下来(快照不是备份,快照保存的是状态,备份保存的是副本) 快照优点 速度快,占用空间小 快照工作原理 在了解快照原理前,…

autojs通过正则表达式获取带有数字的text内容

视频连接 视频连接 参考 参考 var ctextMatches(/\d/).findOne()console.log("当前金币"c.text()) // 获取当前金币UiSelector.textMatches(reg) reg {string} | {Regex} 要满足的正则表达式。 为当前选择器附加控件"text需要满足正则表达式reg"的条件。 …

python系统学习Day2

section3 python Foudamentals part one:data types and variables 数据类型:整数、浮点数、字符串、布尔值、空值 #整型,没有大小限制 >>>9 / 3 #3.0 >>>10 // 3 #3 地板除 >>>10 % 3 #1 取余#浮点型&#xff…

ubuntu22.04安装jenkins并配置

准备 更新系统 sudo apt update sudo apt upgrade环境准备 jdk 安装 sudo apt install openjdk-11-jdk验证 java -versiongit ubuntu配置git maven ubuntu配置maven 部署 添加 Jenkins 存储库 导入Jenkins存储库的GPG密钥 wget -q -O - https://pkg.jenkins.io/de…

【c++】vector的增删查改

1.先定义一个类对象vector 为了防止和库里面发生冲突&#xff0c;定义一个命名空间&#xff0c;将类对象放在命名空间 里面 #include<iostream> using namespace std; namespace zjw {class vector {public:private:}; }2.定义变量&#xff0c;需要一个迭代器&#xff…

rtt设备io框架面向对象学习-硬件rtc设备

目录 1.硬件rtc设备基类2.硬件rtc设备基类的子类3.初始化/构造流程3.1设备驱动层3.2 设备驱动框架层3.3 设备io管理层 4.总结5.使用 1.硬件rtc设备基类 此层处于设备驱动框架层。此层的类是抽象类。 在/ components / drivers / include / drivers 下的rtc.h定义了如下rtc设备…