区块见闻 区块见闻
Ctrl+D收藏区块见闻
首页 > Ethereum > 正文

OFF:Sin7y团队解读:Cairo - 指令_ARES币

作者:

时间:

1.指令结构

CairoCPU原生支持的word是一个域元素,而这个域是特征值大于P?>2^63。每个指令会占用1到2个word,如果指令后面跟着立即值(="12345678")则该指令占用2个word,并且值存在第二个word里。每个指令的第一个word由以下元素组成:

2.状态转换

状态转换函数代表了一个通用的状态转换单元,而一个计算通常会分解成多个连续执行的指令,因此我们需要:

a.?确保指令的内容,以及指令执行前后的状态的有效性

b.确保执行的指令是一个有效的指令

2.1转换逻辑

如果指令执行前后的状态是一致的,那么其状态的更新一定是按照以下逻辑执行:

金色晨讯 | 12月20日隔夜重要动态一览:21:00-7:00关键词:Libra、泰国、伊朗、淘宝、釜山

1. 韩国最大电信公司将为釜山发行基于区块链的货币;

2. Libra发布第二版路线图;

3. 泰国计划将区块链应用于电子签证系统;

4. 浙江亿邦和云南亿邦遭北京朝阳分局立案侦查;

5. 光明日报:警惕以虚拟币为噱头的新式;

6. 因双花攻击视频广泛传播,TravelByBit或将不再支持BTC和BCH;

7. 孙宇晨:330亿TRX代币解锁后没有出售计划;

8. Coinbase CEO获得发明专利 允许用户通过电子邮件发送比特币;

9. 伊朗总统提议为穆斯林国家创建加密货币以替代美元;

10. 淘宝商家“区块链技术产品”类目半年前已上线。[2019/12/20]

2.2指令校验

金色晨讯 | V神:以太坊应该与Facebook进行合作 Libra代表人周一将与26家央行官员会面:1.V神:以太坊应该与Facebook进行合作。

2.德意志银行加入由摩根大通牵头的区块链网络IIN。

3.Calibra首席运营官:Facebook与Libra代币的初步交易无关。

4.德国将批准区块链战略草案,将阻止Libra项目。

5.Libra代表人将于周一在瑞士与26家央行的官员会面。

6.乌拉圭批准规范众筹平台的法案,可适用于一些ICO。

7.V神:有50%的矿工现在投票支持提高GAS上限。

8.怀俄明州区块链特别工作组将召开会议讨论潜在的立法问题。[2019/9/16]

如图1所示,?个指令由以下元素组成:

3.指令示例

3.1断言相等

断言相等指令可以用下述语法表示:

<left_handle_op>=<right_handle_op>

分析 | 金色盘面:市场到达临界点 趋势一旦形成必将延续:金色盘面独家分析:从60分钟走势看,所有的均线在6450美元附近汇聚,市场已经到了临界点,如果选择方向,将会是一个持续的过程,建议大家保持高度警惕,支撑位MA72日均线,压力位6500美元。上述分析仅限技术交流,不作为交易参考,投资者需要理性看待市场价格波动,做好风险控制。(登录金色财经APP—发现,查看更多币种的独家点评)[2018/10/18]

它确保了公式两边是相等的,否则程序的执行将会被返回。

Note2:除法和减法可以分别表示为具有不同操作数顺序的乘法和加法。?

assert指令可以被认为是一条赋值指令,其中?边是已知的,另一边是未知的。例如=4可以被认为是断言的??值为4,或者根据上下文将赋值为4。

图4给出了断言相等指令的一些示例,以及每个指令对应的标志值:

解释?指令=5:

?为assert指令=>opcode=4?

金色财经现场报道 陈鲁勇;EOS开源是一种精神:在今天举行的2018EOS开发者大会上,EOSBepal的陈鲁勇发表了演讲,他表示,目前EOS的开源源码已经上传到Github上,开源内容分为交易构造;投票;质押;RAM交易等。讲到为什么要开源时,陈鲁勇表示,EOS的一些问题并没有完全找到解决方案,于是有开源的必要性,目前开源支持安卓版和IOS。通过开源,可以和全世界的所有爱好EOS的开发者一起交流,并且一起通力合作,把区块链社区做好。开源不仅是一种态度,更是一种精神。[2018/6/10]

?next_ap=ap=>ap_update=00=0?

?next_pc=pc+instruction_size=>pc_update=000=0?

?op0和op1没有addormul=>res_logic(res)=00=0?

?存在立即数=>op1_src(op1)=001=1?

?立即数地址指令地址相邻=>off_op1=1?

?等式左边=>dst_reg(dst)=1?

?等式左边=>off_dst=1?

?op0_reg/off_op0=>initalvalue(1/-1)//因为这个指令用不到这些flags,所以填充默认值

金色财经数据播报 BTC 24小时成交量达53.19亿美元 全球总市值占比达38.5%:据数据统计显示,BTC为目前资金流入最多币种,BTC现全球均价7975美元,跌幅4.21%,换手率3.91%,流通率81.19%,24小时成交量53.19亿美元,占比38.5%,市值1359.66亿美元。[2018/5/23]

3.2条件和非条件跳转?

jmp指令允许更改程序计数器pc的值。?

Cairo支持相对跳转和绝对跳转-分别用关键字rel和abs表示;jmp指令或许是有条件的,比如当某个内存单元的值不为0时,触发jmp指令。

指令的语法如下所示:?

#Unconditionaljumps.?

jmpabs<adress>

jmprel?<offset>

#Conditionaljumps.?

jmprel<offset>if<op>!?

图5给出了jmp指令的一些示例,以及每个指令对应的标志值:

解释?指令jmprel+:?

?为jmp指令=>opcode=0

?next_ap=ap=>ap_update=b00=0?

?next_pc=pc+res=>pc_update=b010=2?

?res=op0+op1=>res_logic(res)=b01=1

?op1:=>op1_src(op1)=b010=2?

?op1:=>off_op1=-7?

?op0:=>op0_src(op0)=0?

?op0:=>off_op0=1?

?dst_reg/off_dst=>initalvalue(1/-1)///因为这个指令用不到这些flags,所以填充默认值

3.3call和ret?

call和ret指令允许实现函数堆栈。call指令更新程序计数器(pc)和帧指针(fp)寄存器。程序计数器的更新类似于jmp指令。之前fp的值被写入,以允许ret指令将fp的值重置为调用之前的值;类似地,返回的pc(调用指令后面指令的地址)被写到,以允许ret指令跳回并继续执行调用指令后面的代码的执行。由于写入了两个存储单元,ap向前进了2,fp被设置为新的ap。

指令的语法如下:

callret<adress>

callrel<offset>?

ret

图6给出了call和ret指令的一些示例,以及每个指令对应的标志值:

解释?指令callabs:

?为call指令=>opcode=0?

?next_ap=ap=>ap_update=b00=0?

?next_pc=res=>pc_update=b001=1?

?res=op1=>res_logic(res)=b00=0?

?op1:=>op1_src(op1)=b010=2?

?op1:=>off_op1=4?

?op0_reg/off_op0=>initalvalue(0/1)///因为这个指令用不到这些flags,所以填充默认值?

?dst_reg/off_dst=>initalvalue(0/0)///因为这个指令用不到这些flags,所以填充默认值

3.4高级ap?

指令ap+=<op>通过给定的操作数增加ap的值。?

图7给出了高级ap指令的一些示,以及每个指令对应的标志:

解释?指令ap+=123:?

?为advancingap指令=>opcode=0?

?next_ap=ap+res=>ap_update=b01=1

?next_pc=pc+instruction_size=>pc_update=b000=0?

?res=op1=>res_logic(res)=b00=0?

?op1=123=>op1_src(op1)=b001=1?

?op1=123=>off_op1=1?

?op0_reg/off_op0=>initalvalue(1/-1)///因为这个指令用不到这些flags,所以填充默认值?

?dst_reg/off_dst=>initalvalue(1/-1)///因为这个指令用不到这些flags,所以填充默认值

参考

SpecificationforCairo:https://arxiv.org/pdf/2109.14534.pdf

关于我们

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

微信公众号:Sin7y

GitHub:Sin7y

Twitter:@Sin7y_Labs

Medium:Sin7y

Mirror:Sin7y

HackMD:Sin7y

HackerNoon:Sin7y

Email:contact@sin7y.org

来源:金色财经

标签:RESOFF区块链DSTARES币Offline区块链卡链是什么意思DSTR价格

Ethereum热门资讯
STAR:数据突破 | 波场TRON交易总数突破39亿_BETH币

9月22日,据区块链浏览器TRONSCAN数据,波场TRON交易总数达到3,900,825,600,正式突破39亿.

人工智能:疑似BXH 9月21日被盗资金出现异动 1865 ETH转移到Tornado Cash_SDT

9月24日,据慢雾MistTrack分析评估,BXH笨小孩团队9月23日的通告,前天晚被盗共计价值250万美元的资产以及3800万BXHToken.

BXH:加密市场的投资逻辑_foin币可以转usdt吗

很多散户投资者一听到“风投”便会立刻在潜意识中想到一副高大上和高不可攀的形象。在传统领域,风投这样的机构投资者确实是高高在上的,在投资方面散户投资者难以和机构投资者相较,更不可能从机构投资者那里.

数字资产:金色观察 | 速览白宫数字资产框架以及响应拜登行政令的九份报告_TPS

9月16日,美国白宫发布了其首个负责任数字资产发展框架。该框架是对拜登总统3月行政令的回应,该行政令要求政府机构深入研究数字资产对美国经济及其消费者构成的机遇和挑战,以及对国家安全的影响.

POW:以太坊和比特币层比较_pow币种有哪些

比特币和以太坊以不同的速度运行:许多人想知道阿喀琉斯是否会赶上乌龟。比特币更老,但天生完美:不需要改变,我们甚至喜欢它的本来面目。以太坊在几年后诞生,并且从那时起已经更换了2次皮肤.

区块链:以太坊合并完成,迎来PoS机制新时代_比特币

以太坊合并,宣告了显卡挖的矿黄金时代正式成为过去式。上周四,以太坊2.0正式完成合并。此次合并是区块链领域的一次重大事件,引发了加密投资者、技术开发等大量关注.