宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > AAVE > 正文

深入理解TinyRAM-ODAILY

作者:

时间:1900/1/1 0:00:00

TinyRAM是由大名鼎鼎的BCTGTV五人组(EliBen-Sasson,AlessandroChiesa,DanielGenkin,EranTromer,MadarsVirza)和SCIPR实验室提出的一种随机访问器架构,旨在成为表达非确定性计算证明性的便捷工具。具体来说,TinyRAM是一种精简指令集计算机(RISC),具有字节级可寻址的随机存取存储器。它在“拥有足够表达能力”和“足够简约”这两个对立面之间取得平衡:

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

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

架构

TinyRAM由两个整数参数化:字长W,需要是2的幂且可以被8整除(这点和现代计算机一样,如32,64),以及寄存器的数量K。一般用TinyRAM(W,K)来表示,机器的状态包括以下内容:

1.程序计数器pc(programcounter),由W个bit组成。

2.K个通用寄存器,以r0,r1,...,r(K-1)表示,每个寄存器都是W个bit。

3.条件标志flag,由一个bit组成。

4.内存,2^W个字节的线性数组,使用小端约定排列字节。

5.2个磁带(tape),每个包含一串Wbit的字。每个磁带都是单向只读的。其中,一个磁带是用于公开输入x,另一个用于私有输入w。其实就是TinyRAM的输入载体。

广州市市长郭永航带队深入调研“元宇宙”产业发展:金色财经报道,智度股份(000676)官微消息,3月2日上午,广州市市委副书记、市长郭永航带领市政府领导班子一行考察智度股份与国光电器(002045),深入一线调研“元宇宙”产业发展情况,并就企业在“元宇宙”领域的技术、人才、市场以及创新等方面情况进行了充分交流。(同花顺)[2022/3/3 13:35:08]

TinyRAM机的输入是2个磁带以及内存,输出是answer指令,该指令有一个参数A,代表返回值,A=0表示接受。也可以使用该指令终止执行程序。

TinyRAM根据执行指令的位置不同有两种变体:一种变体遵循哈佛架构,另一种遵循冯诺依曼架构。前一种架构的数据和程序存放在不同的地址空间中,且程序是只读的;后一种架构数据和程序存放在同一个可读写的地址空间中。具体用图表的方式来表示这两者的区别:

以下两个架构的图示:

马克·库班称自己已经完全改变看法 正在深入研究加密货币:6月21日消息,达拉斯独行侠队老板、亿万富翁马克·库班称自己正在深入研究加密货币,已经完全转变看法,不会错过这个。(bitcoin.com)[2021/6/21 23:52:57]

在开始更详细的TinyRAM设计细节之前,我们以官方白皮书的例子说明,TinyRAM是如何做到既简洁又全面,能够满足非确定性的计算问题的。

意义

Alice拥有x,Bob拥有w。Alice想知道算法A(x,w)的计算结果的正确性,但是不想自己计算。这样的场景,在零知识证明系统中非常常见,有证明者和验证者,验证者想知道证明者提供的证据的正确性,但不必自己重新计算一次。TinyRAM架构就满足这样的场景,两个磁带可以传入私有输入w和公开输入x,证明计算和验证程序在其中执行。SCIPR实验室实现的libsnark库中,已实现了TinyRAM。具体参见:https://github.com/scipr-lab/libsnark.

美国国会众议员提出法案以深入研究商业中的区块链技术:三名美国国会众议院议员(两名民主党和一名共和党)正式提出了一项新法案,以促使美国国会对区块链技术进行更深入的分析。9月1日,民主党众议员Darren Soto、Doris Matsui及共和党众议员Brett Guthrie向众议院提出了一项新法案,该法案随后被提交给能源和商业委员会。该法案建议美国商务部长在与联邦贸易委员会(FTC)磋商后“就区块链技术的状况以及在保护消费者和其他方面的使用情况进行研究并向国会提交报告”。(Cointelegraph)[2020/9/4]

以CircuitGenerator为例,C程序经过编译器之后,编译成TinyRAM的程序,再经过CircuitGenerator之后,生成电路,最后得到zkSNARK电路。

指令

TinyRAM支持29个指令,每条指令都通过1个操作码和最多3个操作数指定。操作数可以是寄存器名称或者立即数。除非另有说明,否则每条指令都不会修改flag,且将pc增加i,对于哈佛架构来说,i=1,对于冯诺依曼架构来说,i=2W/8。通常,第一个操作数是指令执行计算的目标寄存器,其他操作指定指令的参数。最后,所有指令都需要机器的一个周期来执行。

吉林省法院深入推进区块链技术创新应用:3月2日消息,近日,吉林省法院就今年该省法院网络安全和信息化建设工作进一步作出部署。其中,部署内容包括整合各类数据资源,实现对法院信息资源的海量存储、科学分类、多元检索、深入分析。深入推进区块链技术创新应用,全面加快9个业务场景的创新应用研发。(吉林日报)[2020/3/2]

指令包含几种类型,指令名称和intelx86汇编指令类似,可顾名思义。

●位操作指令:

?and

?or

?xor

?not

●整数操作指令:

?add

?sub

?mull

?umulh

?smulh

?udiv

?umod

●shift操作指令:

?shl

?shr

●比较操作指令

?cmpe

?cmpa

?cmpae

?cmpg

?cmpge

●move操作指令

?mov

?cmov

●jump操作指令

?jmp

?cjmp

今晚8点袁煜明将做客《金色讲堂》 深入解读“什么是区块链思维”:今晚20:00,火币区块链应用研究院院长袁煜明将做客《金色讲堂》深入解读“什么是区块链思维”。袁煜明将从股份制的种种弊端出发对区块链的出现给行业所带来的改变进行一一讲解。同时,袁煜明还会对区块链机制目前所存在的问题进行全方位的解读。详情请关注今晚8:00的《金色讲堂》。[2018/4/10]

?cnjmp

●内存操作指令

?store.b

?load.b

?store.w

?load.w

●输入操作指令:

?read

●输出操作指令:

?answer

汇编语言

TinyRAM的程序是由TinyRAM汇编语言编写的,这个语言受Intelx86汇编语言语法启发。程序是包含多行TinyRAM汇编代码的文本文件。程序按照哈佛架构还是冯诺依曼架构的不同,第一行包含的字符串也不同:

?哈佛架构

“;TinyRAMV=2.000M=hvW=WK=K”

?冯诺依曼架构

“;TinyRAMV=2.000M=vnW=WK=K”

其中,W是十进制表示的字长,K是十进制表示的寄存器数量。程序文件中,其他每一行依次包含的内容需要满足:

1.可选的空格。

2.可选的label,用于定义为引用其后的第一条指令。

3.可选的指令,由指令助记符,以及后面的操作数。

4.可选的空格。

5.可选的以分号;开始的注释,到该行尾结束。

一个程序中,最多可以有2^W个指令。一个label只能定义一次,有点像高级语言中的变量。

示例代码(https://github.com/scipr-lab/libsnark/blob/master/tinyram_examples/answer0/answer0.s)

为了满足计算的需要,提高电路可满足性的效率,TinyRAM增加了前导语。如果一个TinyRAM的程序以前导语的方式启动,则说明该程序是个合适的程序。

上述的前导语:

?对于哈佛架构来说,I(i)=1*i,并且inc=1

?对于冯诺依曼架构来说,I(i)=2W/8*i,并且inc=W/8

前面的示例代码,也遵循这样的前导语写法。

两种架构的性能对比

TinyRAM的两种架构,其设计区别在前面的“架构”部分介绍了,此处对比两种架构的性能。

第一个图表展示两种架构产生的门数量。

l是指令数量,n是输入大小,T是执行步数。

可以看出,前者的门数量和指令数量呈线性增加。后者改善很大,指令越多,改善的越大。

第二个图表展示两种架构在不同字长的曲线下,生成Keygenerator/prover/verifier的时间及proof大小。

可以看出,在80bit时,冯诺依曼架构相较于哈佛架构有较大提升,在128bit时,也有少许提升。

由上述表格数据可以看出,冯诺依曼架构的效率更高,这也是为什么冯依诺曼架构TinyRAM是后来在哈佛架构TinyRAM的基础上提出的。

总结

我们讲了TinyRAM的架构,设计,汇编指令等,介绍了它的优势:可以用来便捷的进行非确定性计算。尤其在零知识证明系统中,有更多的发挥空间。最后介绍了两种TinyRAM架构的性能对比,在生成的门数量和时间以及proof大小上,冯诺依曼架构都更胜一筹。

引用

http://www.scipr-lab.org/doc/TinyRAM-spec-2.000.pdf

https://www.cs.tau.ac.il/~tromer/slides/csnark-usenix13rump.pdf

http://eprint.iacr.org/2014/59

关于我们

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

微信公众号:Sin7Y

GitHub|Twitter|Telegram|Medium|Mirror|HackMD|HackerNoon

标签:RAMTIN区块链BITram币最新消息SKYROCKETING区块链存证怎么操作BitcoinPeso

AAVE热门资讯
来自29个国家的学生参加了Tether和卢加诺市的首届Plan ?暑期学校-ODAILY

Plan?暑期学校成功实现了为区块链培养新一代人才的目标,绝大多数与会者为千禧一代,及00后。区块链平台技术公司Tether和瑞士卢加诺市今天宣布,其Plan?暑期学校近来火热,来自29个国家的86名学生参加了该课程.

1900/1/1 0:00:00
加密政策简要概括-ODAILY

2022年,围绕加密资产行业的监管活动步伐大幅加快,许多国家开始制定市场规则。该行业的发展以及政府为其定义一个连贯框架的紧迫性日益增加,这加剧了讨论,我们可以预期在2022年之前会有一系列新规则出台.

1900/1/1 0:00:00
Web3如何修复当前社交媒体系统?-ODAILY

毋庸置疑,如果给出一套激励措施,大多数人都会以相当理性的方式行事。重点是知道一个人的动机是什么,知道哪些变化会以一种可预测的方式推动行动。但往往,大众的选择会产生意想不到的结果。举个例子,为了测试罚款家长接送孩子迟到的有效性.

1900/1/1 0:00:00
TRX正式登陆日本知名交易所DMM Bitcoin,波场TRON全球布局进一步加速-ODAILY

据最新消息,TRX已正式登陆日本知名交易所DMMBitcoin,波场TRON全球布局进一步加速.

1900/1/1 0:00:00
KuCoin已正式开启USDD/TRX交易-ODAILY

据官方消息,KuCoin已新增USDD/TRX交易对,目前USDD/TRX交易已正式开启。 加密金融服务公司Blofin完成5000万美元B轮融资,KuCoin领投:3月2日消息,加密金融服务公司 Blofin 完成 5000 万美元.

1900/1/1 0:00:00
DAOrayaki独家对话Dora:如何解决去中心化治理中的隐私及共谋问题-ODAILY

原文作者:EricZhang过去两年,去中心化治理中的隐私及共谋问题被频繁提及,相对于“操纵”和“女巫攻击”这两大挑战来说,隐私及共谋也是较难解决的问题。整个加密货币生态的规模化发展,将隐私及共谋的问题充分的暴露了出来.

1900/1/1 0:00:00