加工和計算(1)

交易

以太坊的基本流程可以互相交易所。該事務是以加密貨幣方式發送到以太坊網路的單個指令。有兩種交易:消息調用和合約創建。交易是以太坊的核心,完全負責平台的動態性和靈活性。事務是狀態轉換的基礎,也就是塊添加,它包含在一個塊中執行的所有計算。每個事務都將執行更改應用於計算機狀態,這是一個臨時狀態,包含在塊完成並添加到world狀態之前必須進行的所有必需的計算更改。

交易根

符號:listhash

或者:交易根

描述:根節點的Keccak-256哈希,位於塊的transactions_list部分中的事務之前。

  1. Nonce – 發件人發送的交易數量。
  2. 天然氣價格 – 為天然氣單位支付網路費的魏先生。
  3. 氣體限制 – 執行交易時使用的最大氣體量。
  4. To – 具有20個字元的消息呼叫的接收者。
  5. 值 – 要傳輸到消息調用的收件人的Wei的數量。
  6. v,r,s

狀態轉換功能

國家過渡是通過國家過渡職能實現的;這是以太坊中幾個操作的高級抽象,包括從機器狀態進行更改並將其添加到世界狀態的整體行為。

礦業

塊受益人是160位(20位元組)地址,從塊的成功挖礦中收集的所有費用都將轉移到該地址。應用獎勵是block_finalization中的第三個過程,它將挖礦獎勵發送到帳戶的地址。這是對應於當前塊的難度級別的標量值。

驗證

EVM中驗證Ommer標頭的過程。

SENDER FUNCTION

使用SECP-256k1曲線的ECDSA將事務映射到其發送方的描述。

序列化/反序列化

此函數將正整數值擴展為最小長度的big-endian位元組數組。當由操作員陪同時,它表示序列連接。 big_endian函數伴隨著RLP序列化和反序列化。

ETHEREUM VIRTUAL MACHINE

EVM具有基於堆棧的簡單架構。機器的字大小,因此堆棧大小為256位。選擇這是為了能夠基於Keccak-256哈希方案和橢圓曲線進行計算。存儲器模型是一個簡單的位元組數組字定址。內存堆棧的最大大小為1024位。該機器還具有獨立的存儲模型;這與概念中的內存相同,但是是字可定址的字數組而不是位元組數組。與易失性存儲器不同,存儲是非易失性的,並且作為系統狀態的一部分保存。

最初,所有存儲和內存位置都定義為零。該機器不遵循馮諾依曼的標準架構。不是將程序代碼存儲在通常可訪問的存儲器或存儲器中,而是將其單獨存儲在僅通過專用指令可交互的虛擬ROM中。由於多種原因,機器可能具有異常執行,包括堆棧下溢和無效指令。與天然氣異常一樣,它們不會保持狀態變化不變。相反,機器立即停止並將問題分別報告給執行代理(事務處理器或遞歸地,產生執行環境)。

費用

費用(以天然氣計價)在三種不同的情況下收費,這三種情況都是執行一項行動的先決條件。第一個也是最常見的是計算操作所固有的費用。其次,可以扣除天然氣,以形成從屬消息呼叫或合約創建的支付;這構成了CREATE,CALL和CALLCODE操作付款的一部分。最後,可以通過增加內存使用來支付燃氣費。

通過執行帳戶支付的總內存使用費與包含該範圍內的所有內存索引(無論是讀還是寫)所需的32位元組的最低倍數成比例。這是按時支付的;因此,引用比任何先前索引的內存至少大32位元組的內存區域肯定會導致額外的內存使用費。由於這筆費用,地址極不可能超過32位邊界。

實現必須能夠管理這種可能性。存儲費用稍微有點微妙,以激勵最小化存儲使用(直接對應於所有節點上的較大狀態資料庫),清除存儲中的條目的操作的執行費不僅被免除,合格的退款給出;實際上,由於最初使用存儲位置比正常使用昂貴得多,因此這筆退款是有效支付的。

繼續…

下一個

資訊來源:由0x資訊編譯自NVESTLABS。版權歸作者Asma所有,未經許可,不得轉載
提示:投資有風險,入市需謹慎,本資訊不作為投資理財建議。請理性投資,切實提高風險防範意識;如有發現的違法犯罪線索,可積極向有關部門舉報反映。
你可能還喜歡