TinyRam 指令集和电路约束
2022-09-0211:37
Sin7y
2022-09-02 11:37
Sin7y
2022-09-02 11:37
收藏文章
订阅专栏

简介

Tinyram 是一个简单的 RISC 随机存取机器,具有字节寻址的 random-access memory 和 input tapes。TinyRAM 有两个变体:一个遵循哈佛架构,一个遵循冯诺依曼架构 ( 本文我们主要讨论冯诺依曼架构 )。

简明计算完整性和隐私研究(SCIPR)项目构建了证明 TinyRAM 程序正确执行的机制,而 TinyRAM 的设计是为了在这种情况下提高效率。它在“拥有足够表达能力”和“足够简约”这两个对立面之间取得平衡:

当从高级编程语言编译时,有足够的表达能力来支持简短高效的汇编代码

小指令集,指令通过运算电路简单验证,利用 SCIPR 的算法和密码机制实现高效验证。

本文对于 tinyram 不再进行重复介绍,会对上一篇文章进行补充,然后重点是指令介绍和电路约束介绍。tinyram 基础介绍可以参考我们团队上一篇文章:TinyRam 介绍

其他 

当然除了上述提到的一些指令相关的约束外,Tinyram 还有一些 pc 一致性、参数编解码、内存检查等各种约束。这些约束通过 R1CS 系统组合起来构成一个完成的 Tinyram 约束系统。所以这也是 R1CS 形式的 Tinyram 生成约束数量较多的根本原因。 

这里引用一个 Tinyram 介绍 ppt的图片,展示一个 ERC20 transfer 用 Tinyram 生成证明需要的时间消耗。

从上图的例子可以得出结论:使用 vnTinyram + zk-SNARKs 验证所有 EVM 操作是不可能的,只适合验证少量的指令的计算验证,可以使用 vnTinyram 验证 EVM 的部分计算类型的 opcode。


引用

Tinyram 介绍 ppt:

https://docs.google.com/presentation/d/1lbyLmXhCry61fxWm8LLxPKhCYV67RcZaK3WL20Hb-t8/edit#slide=id.g5b38da04a0_0_21

关于我们

Sin7y 成立于 2021 年,由顶尖的区块链开发者组成。我们既是项目孵化器也是区块链技术研究团队,探索 EVM、Layer2、跨链、隐私计算、自主支付解决方案等最重要和最前沿的技术。

微信公众号:Sin7y

GitHub: Sin7y

Twitter: @Sin7y_Labs

Medium: Sin7y

Mirror: Sin7y

HackMD: Sin7y

HackerNoon: Sin7y

Email: contact@sin7y.org


【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

专栏文章
查看更多
数据请求中

推荐专栏

数据请求中

一起「遇见」未来

DOWNLOAD FORESIGHT NEWS APP

Download QR Code