1.指令结构
CairoCPU原生支持的word是一个域元素,而这个域是特征值大于P?>2^63。每个指令会占用1到2个word,如果指令后面跟着立即值(="12345678")则该指令占用2个word,并且值存在第二个word里。每个指令的第一个word由以下元素组成:
2.状态转换
状态转换函数代表了一个通用的状态转换单元,而一个计算通常会分解成多个连续执行的指令,因此我们需要:
a.?确保指令的内容,以及指令执行前后的状态的有效性
b.确保执行的指令是一个有效的指令
2.1转换逻辑
如果指令执行前后的状态是一致的,那么其状态的更新一定是按照以下逻辑执行:
Beosin:Balancer受多次闪电贷攻击损失87万美元,建议用户撤回相关LP:8月27日消息,据Beosin监测,Balancer受多次闪电贷攻击,总损失金额达87万美元,建议用户按照官方提示撤回受漏洞影响池子的LP。[2023/8/27 12:59:47]
2.2指令校验
如图1所示,?个指令由以下元素组成:
3.指令示例
3.1断言相等
韩国数字资产交易平台协会DAXA计划年内制定虚拟资产预警系统:1月30日消息,由韩国五大加密交易所(Upbit、Bithumb、Coinone、Korbit和Gopax)组成的数字资产交易平台协会(DAXA)计划在今年制定一个虚拟资产预警系统,旨在在某一代币的价格交易量和入金金额发生异动时为用户提供预警通知。另外,DAXA正在讨论推进审查代币上市的通用指南和代币退市指南。[2023/1/30 11:36:22]
断言相等指令可以用下述语法表示:
<left_handle_op>=<right_handle_op>
它确保了公式两边是相等的,否则程序的执行将会被返回。
Note2:除法和减法可以分别表示为具有不同操作数顺序的乘法和加法。?
assert指令可以被认为是一条赋值指令,其中?边是已知的,另一边是未知的。例如=4可以被认为是断言的??值为4,或者根据上下文将赋值为4。
图4给出了断言相等指令的一些示例,以及每个指令对应的标志值:
Gemini将再裁员10%,为过去八个月内的第三轮裁员:金色财经报道,内部消息显示,加密交易所Gemini将裁员10%。Gemini联合创始人兼总裁Cameron Winklevoss在Slack上向员工通知了裁员消息,并表示糟糕的宏观经济状况和加密行业“前所未有的欺诈”迫使该公司裁员。此次裁员是Gemini在过去八个月内进行的第三轮裁员。[2023/1/24 11:28:11]
解释?指令=5:
?为assert指令=>opcode=4?
?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,所以填充默认值
OpenSea:支持X2Y2强制征收版税,已将其从黑名单中移除:金色财经报道,据 X2Y2 在社交媒体披露,该 NFT 市场将恢复强制征收版税策略并表示:“我们曾经认为处理版税的最佳方式是给创作者和交易者双方选择的权利,但在借鉴其同行 OpenSea 的做法后决定恢复强制征收版税。”X2Y2 补充称,他们已经使用删除了所有新上架的“灵活版税”设置。OpenSea 随后回复支持 X2Y2 的做法,并表示已经将 X2Y2 从其 OperatorFilter 黑名单中移除。[2022/11/21 7:51:44]
3.2条件和非条件跳转?
jmp指令允许更改程序计数器pc的值。?
Cairo支持相对跳转和绝对跳转-分别用关键字rel和abs表示;jmp指令或许是有条件的,比如当某个内存单元的值不为0时,触发jmp指令。
指令的语法如下所示:?
#Unconditionaljumps.?
jmpabs<adress>
jmprel?<offset>
#Conditionaljumps.?
jmprel<offset>if<op>!?
图5给出了jmp指令的一些示例,以及每个指令对应的标志值:
黄金多头Peter Schiff:比特币将跌破1万美元大关:8月12日消息,在最近接受Kitco的采访中,黄金多头Peter Schiff预测,由于被迫抛售,比特币的价格仍可能跌破1万美元。他确信,比特币在去年11月达到的6.9万美元就是峰值。“我不认为它会再创新高,”Schiff预测道。谈到比特币最近的反弹,这位投资者声称,这只是一个傻瓜的反弹。最大的加密货币在主要现货交易所的交易价格略低于24000美元。Schiff称,加密货币供应会继续增长。他认为,比特币和其他2万种代币之间没有什么区别。(金十)[2022/8/12 12:21:04]
解释?指令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
来源:金色财经
在过去7天里,瑞波币的本地货币XRP代币已成为最大的加密货币中的最大赢家之一。价格飙升是在与美国证券交易委员会正在进行的法律斗争中出现的。然而,数据显示鲸鱼最近正在添加XRP代币.
????BTC目前形态走势雷同于年初1月22日到3月29日这一个多月的时间. CME BTC期货今晨跳空低开形成“47895-50881”美元缺口已回补:4月26日6:00.
近日,SAFEIS获悉,有用户加密钱包被盗,丢失了Theirsvers在内的多个NFT,值得注意的是,Theirsvers是由明星伊能静和其儿子Enli支持的热门NFT项目.
有Facebook背景的LINA(Linear) 一、项目简介 LinearFinance是一个跨链兼容,分散式的delta-one资产协议。其巨大价值在于投资者能够轻松、快速地投资,节省费用.
有了加密货币,就有了一种交易和存储价值的新方式。许多人认为它明显优于传统的法定货币和黄金。通过加密货币分散金融业务比传统金融系统有几个效率。它几乎削减了间接费用.
Aug.2022,VincyDataSource:FootprintAnalytics-OtherdeedForOthersideCollectionStats继TheSandbox和Decen.