比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > DOT > Info

詳解以太坊虛擬機(EVM)的數據存儲機制_TORA

Author:

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

來源:區塊鏈研究實驗室

以太坊存儲機制

在EVM中允許執行智能合約代碼。合約狀態或內存存儲在智能合約地址中。可以將這種存儲視為位于智能合約地址的無限長度的數據結構數組。存儲機制確保存儲位置沒有沖突,并遵循一組規則。使用這些規則,我們可以解碼任何合約的狀態。解碼存儲在映射中的數據需要知道所使用的密鑰。合約數據的解碼使用RPC調用eth_getStorageAt進行。

插槽位置

變量在智能合約的存儲陣列中的位置由代碼中出現的順序以及變量的大小決定。此位置稱為插槽。如果一個變量小于256位,則EVM會嘗試在空間中容納一個以上的變量,因此一個以上的變量可能會占用存儲陣列中單個插槽的空間。映射或數組將始終占據一個插槽。數組和映射元素的位置遵循一組特殊的哈希規則,本文將對此進行介紹,這些規則在以太坊文檔中也有描述。

國際貨幣基金組織:長遠來看加密禁令可能并不有效:6月23日消息,國際貨幣基金組織(IMF)撰文稱,加密資產存在的風險因國家或地區而異。央行數字貨幣(CBDC)如果設計得當,可以降低匯款成本并改善金融包容性。另外,加密資產的采用也帶來了許多挑戰和風險,特別是對于宏觀經濟不穩定、機構可信度低、資本流動量大、腐敗和非正規部門的拉丁美洲和加勒比國家而言。雖然一些國家已經完全禁止加密資產,但從長遠來看,這種方法可能并不有效。相反,這些地區應該專注于解決加密需求的驅動因素,包括數字支付需求,并通過在國家統計數據中記錄加密資產交易來提高透明度。[2023/6/23 21:56:11]

下表提供了EVM遵循的分配規則的摘要。我們將看兩個智能合約的示例,并使用表1中提供的規則對其進行解碼

“黑天鵝”作者:加密貨幣愛好者都是“傻瓜”:金色財經報道,暢銷書“黑天鵝”作者Nassim Taleb最近表達了他對加密貨幣行業的負面看法。 Taleb猛烈抨擊加密貨幣愛好者是“傻瓜”和“錯誤的技術專家”。 他提到,盡管最初對加密技術寄予厚望,但隨著對區塊鏈的深入研究,他變得越來越失望。[2022/12/21 21:58:59]

256位變量的簡單示例

QQL Mint Pass 24小時交易額漲幅達265.08%:金色財經報道,據NFTGo.io數據最新數據顯示,QQL Mint Pass總市值為2896.98萬美元,過去24小時的交易額為57.88ETH,漲幅達265.08%;地板價為22ETH,持有NFT地址總數為491個。[2022/9/30 22:41:55]

首先讓我們看一個簡單示例,所有變量都是256bit。這樣做使我們無需考慮可變變量即可查看分配。

請注意,當對數字應用keccack哈希時,數字必須是0填充的64位值。

以色列央行:智能合約或需要監管:6月21日消息,以色列中央銀行發布的研究報告顯示,智能合約可能需要監管以防止惡意行為。該報告稱,允許任何人在區塊鏈上編寫智能合約可能會對整個系統構成重大風險。

此前報道,3月11日,以色列央行發布加密貨幣存款指南草案,要求銀行對加密貨幣相關業務進行風險評估并為流出或流向加密貨幣的資金轉移制定政策和程序。(彭博社)[2022/6/21 4:42:54]

所有解碼都是使用以太坊RPC調用eth_getStorageAt執行的,在本文中將其表示為GetStorageAt。可以使用任何語言打包程序來調用此RPCapi。

下圖顯示了如何對智能合約的地址和傳遞給它的位置值進行GetStorageAt調用。圖1左側的數字是變量的位置。對于基類型,可以將此位置傳遞到GetStorageAt以獲取變量值。對于數組,位置將返回數組的長度。

通過將Keccack哈希傳遞給索引為0的GetStorageAt來解碼數組索引。數組的每個后續索引位于與位置求和的哈希值處。可以認為這是訪問數組的指針并增加其位置以查找每個元素,類似于C或C++。

傳遞給每個鍵的GetStoragetAt的位置值是鍵的keccack哈希值和映射聲明的位置。對于多維映射,將密鑰和變量位置遞歸調用Keccack哈希值。參見圖1中的示例進行說明。

接下來,我們來看一個發生變量打包的示例。打包要記住的是:

1.它僅按出現順序適用于基本變量類型。EVM將按照代碼中列出的順序在256位空間中打包盡可能多的變量。

2.每個映射和數組變量將占用一個新的插槽。

3.數組變量映射將遵循打包規則。也就是說,如果一個元素小于256位,則陣列的多個索引將占用存儲陣列中的單個插槽。

圖2顯示并提供了發生的打包的說明。當類型的長度小于256位時,EVM嘗試將其他變量打包到插槽中。EVM按列出的順序選擇要打包的變量。映射和數組始終出現在新位置。但是打包規則仍適用于解碼數組索引,打包規則仍適用于存儲在映射中的結構。

有關這種情況下如何存儲變量的說明,請參見圖2。

繼承

關于繼承的說明。當智能合約繼承其他智能合約時,基本智能合約的存儲變量將按繼承順序占據存儲陣列的第一個插槽。子類的存儲變量將隨后出現。

結論

如前所述,我們在本文介紹的規則來解碼以太坊智能合約的存儲機制。在接下來的,第2部分將描述的智能合約規則編寫的工具。

Tags:GETTORSTORTORA游戲名《TogetherBnB》TorqueBlockchain Store TokenStorage area network anywhere

DOT
荷蘭反洗錢監管加壓:小規模加密公司如何規避擠出風險?_BIT

作者:羅滔 2020年1月發布的歐盟第五反洗錢指令震動了歐洲加密貨幣行業。荷蘭則在新規基礎上施加了更嚴格的解釋,加大了加密貨幣公司的合規壓力,小規模企業的擠出效應凸顯.

1900/1/1 0:00:00
外媒眼中的央行數字貨幣:將終結美元霸權并占據國際金融主導地位_比特幣

文丨互鏈脈搏·三子,未經授權,不得轉載!近日,網傳錢包截圖顯示,中國央行數字人民幣目前已經在中國農業銀行開啟內部測試.

1900/1/1 0:00:00
“每次提議都可能影響歷史”!央行旗下金融科技研究院批量招人研發法定數字貨幣_數字貨幣

來源:每日經濟新聞 “在這里,你不光能見證歷史,很可能創造歷史,改變世界。”能夠說出這種豪言壯語的招聘公告估計不多見,能有機會真正做改變世界的工作,更是機會不多,但現在看起來確實有了!4月25日.

1900/1/1 0:00:00
讀書節特別推薦 | 世界冷戰新格局:數字貨幣_數字貨幣

前些日子前些日子,螞蟻區塊鏈應用平臺總經理李杰力向我推薦了《TheCurrencyColdWar》。此書作者DavidBirch,倫敦出版合伙公司將于2020年5月出版.

1900/1/1 0:00:00
你的大腦能挖礦,微軟申請加密貨幣新專利_比特幣

微軟的一項新專利申請詳細介紹了一種利用身體機能來挖加密貨幣的方法。這項名為“使用身體活動數據的加密貨幣系統”的專利說明了“在用戶處理信息服務供應商的任務時產生的腦電波或身體熱量如何用于挖礦.

1900/1/1 0:00:00
加密貨幣借貸新玩法:以太坊域名首次成為貸款抵押品_加密貨幣

對于一些用戶來說,以太坊域名是非常有價值的,這一點已經在現實中有所體現。本周,RocketLPDAO發放了1000美元的貸款,抵押品就是以太坊域名服務地址“brantly.eth”.

1900/1/1 0:00:00
ads