以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads

SIN:Sin7y團隊解讀:Cairo - 指令

Author:

Time:1900/1/1 0:00:00

1.指令結構

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

2.狀態轉換

狀態轉換函數代表了一個通用的狀態轉換單元,而一個計算通常會分解成多個連續執行的指令,因此我們需要:

a.?確保指令的內容,以及指令執行前后的狀態的有效性

b.確保執行的指令是一個有效的指令

2.1轉換邏輯

如果指令執行前后的狀態是一致的,那么其狀態的更新一定是按照以下邏輯執行:

數據:美國實體持有的BTC數量較一年前減少11%:6月5日消息,據Glassnode數據顯示,目前美國實體持有的BTC數量比2022年6月減少了11%,而同一時間段內的亞洲市場活躍投資者數量則增加了9.9%,這種情況與2020-21牛市周期有很大不同。在穩定幣方面,USDT供應量近期創下歷史新高,由于穩定幣是不計息的,因此表明隨著監管壓力不斷增加,美國市場資金在數字資產上的活躍度已有所下降。[2023/6/5 21:16:11]

2.2指令校驗

如圖1所示,?個指令由以下元素組成:

ENS主域名突破50萬個:3月24日消息,據Dune Analytics最新數據顯示,以太坊域名服務ENS主域名數量已突破50萬個,本文撰寫時達到500,880個,當前活躍ENS域名總量為2,769,381個,參與地址數量為671,665個。主域名(Primary Name)能讓用戶的以太坊地址指向一個ENS域名,幫助用戶在使用以太坊帳戶連接DApp時可以找到并顯示ENS域名,該域名必須由用戶自己設置,不會在注冊時自動生成。另據NFTgo數據顯示,截至目前ENS交易總額為2.1461億美元,市值約為1.0032億美元。[2023/3/24 13:25:00]

3.指令示例

3.1斷言相等

斷言相等指令可以用下述語法表示:

<left_handle_op>=<right_handle_op>

它確保了公式兩邊是相等的,否則程序的執行將會被返回。

Note2:除法和減法可以分別表示為具有不同操作數順序的乘法和加法。?

assert指令可以被認為是一條賦值指令,其中?邊是已知的,另一邊是未知的。例如=4可以被認為是斷言的??值為4,或者根據上下文將賦值為4。

歐盟呼吁為銀行制定快速的加密貨幣資本規則:金色財經報道,歐盟行政部門表示,如果歐洲希望避免錯過全球商定的最后期限,就必須在歐盟待定的銀行法中快速實施針對持有加密資產的銀行的資本規則。據悉,由世界主要金融中心的銀行監管機構組成的全球巴塞爾委員會已經為實施銀行對穩定幣和比特幣等加密資產的資本要求設定了2025年1月的最后期限。巴塞爾協議的標準在歐盟是以法律形式適用的,而延遲可能意味著銀行必須等待更長時間才能進入加密市場,因為歐盟關于加密資產交易的單獨規則將在2024年生效。為執行巴塞爾的加密貨幣規則,歐盟可以提出一項新的法律,或者按照歐洲議會的要求,擴大它現在正在敲定的銀行法。

歐盟委員會在一份非正式討論文件中表示,就目前而言,銀行的加密資產風險非常低,只有限地參與提供加密資產相關的服務。(但)銀行已經表示有興趣代表其客戶交易加密資產,并提供與加密資產相關的服務。此外,該文件稱,議會和歐盟國家對銀行法有平等的發言權,并將開始談判最終文本,其中可能包括關于加密資產的規定。單獨的法律草案最早要到2023年底才會出臺。議會將在2024年中期進行投票。委員會的文件還建議,該集團的歐洲銀行管理局(EBA)可以與歐盟的證券監督機構ESMA協調,以確保加密資產被正確分類。[2023/2/21 12:18:26]

圖4給出了斷言相等指令的一些示例,以及每個指令對應的標志值:

TRON DAO Reserve宣布將鑄造1.7億USDC:據官方消息,TRON DAO Reserve宣布,為了保護整個區塊鏈行業和加密貨幣市場,TRON DAO Reserve將在TRON鑄造170,000,000 USDC。[2022/11/13 12:59:21]

解釋?指令=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,所以填充默認值

3.2條件和非條件跳轉?

jmp指令允許更改程序計數器pc的值。?

Ronin Wallet新增支持Ledger Nano X移動端等功能:11月1日消息,Axie Infinity側鏈Ronin Network發布Ronin Wallet更新版本。用戶可以直接在手機端使用Ronin應用程序,此外新增支持Ledger Nano X移動端。[2022/11/1 12:04:16]

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

來源:金色財經

Tags:RESOFFALLSINTRESOR價格BOGDANOFF幣ALL BEST ICO SATOSHIsingularity幣價

幣安app官網下載
ETH:BTC什么時候抄底

談一談對行情的展望 大餅從6.9w跌到現在大約1.9w大約跌了0.7,而刻舟求劍按照往年每四年下跌百分之八十,大概是在1.2-1.4左右,我相信很多人都在等待這個位置梭哈抄底這個位置.

1900/1/1 0:00:00
EFI:DeFi 理論:貸款與借款

銀行會怎樣? 親愛的讀者: 我們的上一份報告提出了一個涵蓋5個深度主題的觀點,指出在未來幾年內DeFi產品和服務的廣泛采用。本周我們將把重點放在DeFi借/貸這一部分.

1900/1/1 0:00:00
TECH:TechTrees怎么以web3.0的方式改變世界

自1990年以來,由于人類活動,包括為農業耕作和伐木而開墾土地,已經損失了4.2億公頃森林。截至2020年,森林覆蓋面積約占世界陸地總面積的31%.

1900/1/1 0:00:00
BDC:9.28多空反轉較快 進場注意風控

9.28BTC行情分析 比特幣昨日白盤大幅拉升,高位觸及20380一線承壓,夜盤又迅速回落,前期文中提示過,像畫門行情這種支撐大多都是無效的,所以多單直接放棄.

1900/1/1 0:00:00
ELE:SeeleN受邀參與法國巴黎幣安區塊鏈周

近期,SeeleN受邀參與幣安交易所于法國巴黎舉辦的區塊鏈周活動,幣安創辦人趙長鵬,以及包含BUSD、合規、BNBChain、歐盟事務、支付等幣安相關負責人皆有參與.

1900/1/1 0:00:00
DED:區塊鏈網絡效應——下一個牛市驅動力?

區塊鏈網絡效應——你可能從未聽說過它們,但它們對于你的代幣進行月球化或核爆非常重要。 當牛市運行時,有人問了一些棘手的問題。風投們樂于在區塊鏈上進行投資和祈禱.

1900/1/1 0:00:00
ads