当前位置:网站首页>Feeding Program Source Code to ZK VMs
Feeding Program Source Code to ZK VMs
2022-07-24 21:45:00 【mutourend】
1. 引言
本文主要摘自Polygon Miden创始人Bobbin Threadbare在Compiler and Composability in ZKP 上的演讲内容。
2. 计算分类
计算主要分为2大类:
- 1)Circuit computations:为Signals propagating through a network of gates。即以门构成,计算通过门之间signal的传输来实现。
- 2)Machine computations:为Transition function applied to a computation state。为更自然的表达方式。本文重点关注machine computations。
3. 何为ZK VM(零知识虚拟机)?
常规虚拟机结构为:
零知识虚拟机结构为:
4. 如何将a program提供给虚拟机?
如何将a program提供给虚拟机?主要实现方式有:
- 1)通过public memory:虚拟机的public memory的初始化指令中包含了该program。
- 2)通过bootloading:将该program的哈希值提供给虚拟机,在虚拟机内,该哈希值可非确定性地inverted为一组指令。
- 3)通过codeword commitment:将program指令 编码为 codeword,在proof中额外包含该codeword的承诺值。
- 4)通过MAST root:由虚拟机计算Merkelized abstract syntax tree(MAST)的root值,具体计算方式为以结构化mapper的形式来对program指令进行哈希。
以上四种将a program 提供给虚拟机的方式 的优缺点对比为:
4.1 通过public memory将a program提供给虚拟机

4.2 通过bootloading将a program提供给虚拟机

4.3 通过codeword commitment将a program提供给虚拟机

4.4 通过MAST root将a program提供给虚拟机

4.4.1 何为MAST?
指令的Merkelized abstract syntax tree(MAST)的关键属性有:
- 可将所有programs reduce为一个哈希值(即MAST的root值)。
- 每个内部节点本身也是a smaller program的MAST。
- a program MAST的所有叶子均为linear programs(无control flow控制流)。
MAST示例为:
参考资料
边栏推荐
- Today, there's a power failure for one day.... stop working for another day. Don't forget to study
- Is it safe for Hengtai securities to open an account?
- [Development Tutorial 4] open source Bluetooth heart rate waterproof sports Bracelet - external flash reading and writing
- 731. My schedule II (segment tree or scoring array)
- 损失函数之Diou和Ciou loss
- How about opening an account for CITIC Securities? Is it safe
- Thank Huawei for sharing the developer plan
- Atcoder beginer contest 260 a~f problem solution
- How to realize three schemes of finclip wechat authorized login
- [install PG]
猜你喜欢

Mathpix formula extractor

Volcano engine releases cloud growth solutions for six industries
![[shallow copy and deep copy], [heap and stack], [basic type and reference type]](/img/cc/d43e0046d83638f381c34b463f64a2.png)
[shallow copy and deep copy], [heap and stack], [basic type and reference type]
![[good question with two points]](/img/a2/8c0610c4aba6ace4b003efd92c31cd.png)
[good question with two points]

Both Chen Chunhua and Mo Yan have words of suffering

CAD sets hyperlinks to entities (WEB version)

None of the most complete MySQL commands in history is applicable to work and interview (supreme Collection Edition)

Metauniverse: technological evolution, industrial ecology and big country game

91. (leaflet chapter) leaflet situation plotting - offensive direction drawing

How to design the order system in e-commerce projects? (supreme Collection Edition)
随机推荐
Nested printing in CAD web pages
Mysql database query is so slow. Besides index, what else can it do?
How to output position synchronization of motion control
Together again Net program hangs dead, a real case analysis of using WinDbg
2022 Tsinghua summer school notes L2_ 2 basic introduction of CNN and RNN
What are intelligent investment advisory products?
About the acid of MySQL, there are thirty rounds of skirmishes with mvcc and interviewers
Use of cache in C #
Using gcc to avoid stack smash attack
With this PDF, I successfully got offers from ant, jd.com, Xiaomi, Tencent and other major manufacturers
Jenkins introduction
What are the most problematic database accounts in DTS?
HSPF (hydraulic simulation program FORTRAN) model
Which bank outlet in Zhejiang can buy ETF fund products?
Mysql database commands
Metauniverse: technological evolution, industrial ecology and big country game
OSI architecture and protocols at all levels
【Pyspark基础】行转列和列转行(超多列时)
Sqlserver BCP parameter interpretation, character format selection and fault handling summary
Codeforces Round #808 (Div. 2)(A~D)