RISC-V与RISC Zero zkVM的关系-CSDN博客

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

1. 引言

本文基本结构为

  • 编程语言背景介绍
  • RISC-V虚拟机作为zkVM电路
  • 为何选择RISC-V

2. 编程语言背景介绍

高级编程语言不专门针对某个架构其便于人类编写。高级编程语言代码经编译器编译后会生成针对专门某架构的汇编代码汇编代码是供机器使用的。
在这里插入图片描述
也可以直接编写汇编代码但汇编代码存在如下问题

  • 表达性有限
  • 专门针对特定机器
  • 难于维护
    在这里插入图片描述

而借助编译器使用高级编程语言可解决以上问题如
在这里插入图片描述
各种高级编程语言经相应的语言后端可生成相应的LLVM bytecode然后经LLVM编译出特定机器架构的汇编代码
在这里插入图片描述

2.1 何为RISC-V

何为RISC-V

  • RISC = Reduced Instruction Set Computer
  • V = This is UC Berkeley’s 5th RISC ISAInstruction Set Architecture

具体的RISC-V说明书见

RISC-V有如下模块
在这里插入图片描述

  • 1RV32IBase整数指令集。每个寄存器为32位。有32个寄存器。【使用XLEN术语来表示x寄存器的宽度位数如是32、64还是128。】

    • 有31个通用寄存器x1-x32来保存整数值x0寄存器固定为常数值0。
      在这里插入图片描述
    • 没有固定子程序返回地址连接寄存器但标准软件通常使用寄存器x1来保存返回地址。
    • 有一个额外的用户可见的寄存器pc为program counter用于存储当前指令的地址。
    • 具有的指令集为【其中ecall指令用于特殊功能】
      在这里插入图片描述
  • 2RV32EBase整数指令集。每个寄存器为32位。为RV32I的子集只有16个寄存器。

  • 3RV64IBase整数指令集。每个寄存器为64位。

  • 4RV128IBase整数指令集。每个寄存器为128位。

  • 5M表示为对整数乘法和触发的标准扩展。以RV32M为例其具有的指令集为
    在这里插入图片描述

RISC-V看起来像

  • 1硬件芯片
  • 2或 虚拟机RISC Zero 将RISC-V用作虚拟机。
    在这里插入图片描述

当将RISC-V用作虚拟机时其

  • 以软件来实现RISC-V寄存器和内存
  • 运行RISC-V指令

相应的流程为
在这里插入图片描述

  • 即以程序代码编译后的RISC-V汇编代码ELF二进制文件作为RISC-V虚拟机的输入经RISC-V执行获得相应的程序结果。

3. RISC-V虚拟机作为zkVM电路

zkVM的目的为

  • 为程序执行生成receipts

RISC Zero zkVM的目的为

  • 为RISC-V程序执行生成receipts

为生成receipt需

  • 1有RISC-V代码执行的execution trace
  • 2有相应的一组约束如
    • 每个bit应为 0或1x * (x-1) = 0。
    • 每个寄存器应包含32位数据。
    • 每个指令执行完后program counter应变化。
  • 3基于RISC-V虚拟机输出的程序结果 execution trace 约束经某证明系统数学处理生成相应的receipt。
    在这里插入图片描述

这样完整的流程即为
在这里插入图片描述

实际在实现RISC-V虚拟机时如何区分zkVM中所执行的是哪个程序代码呢

答案就是Image ID。所谓Image ID是加载到内存的ELF二进制的Merkle root。会将Image ID写入到seal中。
在这里插入图片描述

4. 为何选择RISC-V

当前主流的机器芯片架构有
在这里插入图片描述
选择RISC-V架构的原因在于

  • 1minimal所有指令可在一页PPT内展示
    在这里插入图片描述
  • 2模块化可仅使用所需要的模块。
  • 3编程语言支持现有的语言和工具均成熟。

参考资料

[1] RISC Zero团队2023年2月视频 What does RISC V have to do with RISC Zero’s zkVM【slide见What RISC-V has to do with RISC Zero’s zkVM
[2] ARM新规芯片行业震动丨X86、ARM、RISC-V和MIPS对比汇总
[3] The RISC-V Instruction Set Manual

RISC Zero系列博客

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6