1.指令結構
CairoCPU原生支持的word是一個域元素,而這個域是特征值大于P>2^63。每個指令會占用1到2個word,如果指令后面跟著立即值(="12345678")則該指令占用2個word,并且值存在第二個word里。每個指令的第一個word由以下元素組成:
2.狀態轉換
狀態轉換函數代表了一個通用的狀態轉換單元,而一個計算通常會分解成多個連續執行的指令,因此我們需要:
a.確保指令的內容,以及指令執行前后的狀態的有效性
b.確保執行的指令是一個有效的指令
2.1轉換邏輯
如果指令執行前后的狀態是一致的,那么其狀態的更新一定是按照以下邏輯執行:
Coinme錢包在Stellar上集成USDC:金色財經報道,加密貨幣現金交易所Coinme和非營利組織Stellar Development Foundation宣布,在整個Coinme錢包和Coinme全球現金入口和出口生態系統中發布Circle的USDC。該服務現已在Coinme錢包中上線,可通過網絡瀏覽器訪問,很快將在iOS和Android上推出Coinme移動應用程序。[2023/3/29 13:33:03]
2.2指令校驗
如圖1所示,?個指令由以下元素組成:
加密新聞媒體The Block解雇27名員工:金色財經報道,據消息人士稱,加密貨幣新聞媒體網站The Block周五裁撤27名員工。裁員分布在公司的多個職能部門,包括編輯、研究、工程、銷售、收入和企業運營,其中幾乎一半來自編輯和研究部門。
此前報道,The Block CEO因未披露從Alameda Research獲得4300萬美元貸款引咎辭職,Bobby Moran接任。根據Axios的一項調查,The Block尚未盈利。(Blockworks)[2023/2/8 11:53:45]
3.指令示例
3.1斷言相等
斷言相等指令可以用下述語法表示:
<left_handle_op>=<right_handle_op>
它確保了公式兩邊是相等的,否則程序的執行將會被返回。
加密用戶:一YouTuber去年已約1162萬美元購買的一款NFT目前價值僅約6美元:金色財經報道,加密用戶CRONK在社交媒體上稱,YouTuber Logan Paul在2021年以11,623,000美元的價格購買了CryptoPunksREAL NFT。目前它的價值為6美元。
據悉,CryptoPunksREAL是以太坊區塊鏈上 10,000 個獨特 NFT 的集合。每個Punks都與以太坊聯合創始人 Vitalik Buterin 共享相同的 DNA,并具有其傳奇祖先CryptoPunks的屬性。[2022/10/11 10:30:22]
Note2:除法和減法可以分別表示為具有不同操作數順序的乘法和加法。
assert指令可以被認為是一條賦值指令,其中?邊是已知的,另一邊是未知的。例如=4可以被認為是斷言的值為4,或者根據上下文將賦值為4。
圖4給出了斷言相等指令的一些示例,以及每個指令對應的標志值:
解釋指令=5:
?為assert指令=>opcode=4
Rocket Pool 將進行Redstone升級,主要在優先費分配器和獎勵系統方面升級:7月1日消息,以太坊質押協議Rocket Pool宣布隨著以太坊合并和向PoS共識的轉變,將對Rocket Pool協議在優先費(Priority Fee)分配器和獎勵系統方面等進行重大升級,其中,優先費分配器將確保優先費在節點運營商和rETH(Rocket Pool 的以太坊流動性質押代幣)流動質押用戶之間分攤;新的獎勵系統方面,節點運營商獲得RPL獎勵的方式現在更加靈活和高效;另外,Redstone移除了存入ETH并收到rETH后的24小時鎖定期,取而代之的是,將用戶rETH換成ETH時,會從總交易量中減去一天的獎勵,以防止三明治攻擊。[2022/7/1 1:44:14]
?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
億萬富翁Bill Miller:比特幣是抵御金融災難的“保險單”:5月27日消息,億萬富翁Bill Miller認為比特幣是抵御金融災難的“保險單”。Miller在播客“Richer, Wiser, Happier”節目中表示支持比特幣,認為它是陷入沖突的人仍然可以獲取金融產品的一種手段。Miller表示,比特幣如何發揮保險作用的例子并不“必須是全有或全無”,并指出比特幣在新冠疫情大流行早期階段的表現和美聯儲對它的反應。
當被問及他是否仍持有比特幣時,Miller證實其約40%-50%的資金用于投資亞馬遜股票,其比特幣持有量“與(投資的)亞馬遜股票大致相同”,并補充說其凈資產的80%分配在這兩種資產之間。(Cointelegraph)[2022/5/27 3:45:38]
?等式左邊=>dst_reg(dst)=1
?等式左邊=>off_dst=1
?op0_reg/off_op0=>initalvalue(1/-1)//因為這個指令用不到這些flags,所以填充默認值
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,所以填充默認值
關于我們
Sin7y成立于2021年,由頂尖的區塊鏈開發者組成。我們既是項目孵化器也是區塊鏈技術研究團隊,探索EVM、Layer2、跨鏈、隱私計算、自主支付解決方案等最重要和最前沿的技術。
微信公眾號:Sin7Y
GitHub|Twitter|Telegram|Medium|Mirror|HackMD|HackerNoon
Web3和元宇宙領域有很多的機會,令人興奮的項目正在取得相應的成果,然而我們需要關注不同元宇宙之間的互連接性,因為社會不需要更多孤立的生態系統.
1900/1/1 0:00:00互聯網飛速發展并逐漸進化成Web3.0的時代,網絡安全問題成為屢見不鮮、見慣不怪的新痛點。Nym創始人HarryHalpin吶喊著,人不該被網絡監管威脅.
1900/1/1 0:00:00自從Chainlink可驗證隨機函數去年在Polygon發布以來,已經成為了智能合約隨機數生成解決方案的行業標準.
1900/1/1 0:00:00May2022,SimonDataSource:FootprintAnalyticsEOSEcologyDashboardEOS作為最早一批號稱以太坊殺手的公鏈,如今在TVL上只排到了第29.
1900/1/1 0:00:002022年7月14日,CoinW幣贏官方宣布正式成為2022東亞杯EAFFE-1Championship官方合作伙伴,也是全球首家與東亞杯官方合作的加密資產平臺.
1900/1/1 0:00:00隨著區塊鏈技術的持續提升,其應用場景也在不斷豐富。其中DeFi生態的迅猛發展,吸引了更多的人和機構入場.
1900/1/1 0:00:00