#gas_used

2024-04-08

Transient storage в EVM (EIP-1153): на грани добра и зла

В одной из статей о расчете газа в Ethereum ( ссылка ) я рассказал об истории изменений механизмов подсчета газа для хранилища смарт-контракта (storage) — от правил, заложенных в протоколе изначально, до EIP-3529. Во всех этих изменениях прослеживается основная проблема: нерациональное использование газа, когда слот хранилища смарт-контракта изменяется в ходе транзакции и затем возвращается к исходному значению, например, при блокировке функции для защиты от атак reentrancy. Иными словами, в ситуациях, когда постоянное хранилище используется как временное, а также в случаях необходимости безопасной передачи данных между фреймами вызовов. В этой статье рассмотрим нововведение хард-форка Dencun (Cancun-Deneb), где в рамках обновления слоя выполнения был представлен EIP-1153: Transient storage opcodes , предлагающий решение этой проблемы за счет введения двух новых опкодов ( TSTORE , TLOAD ) и создания нового типа памяти в EVM - transient storage .

habr.com/ru/companies/metalamp

##evm ##transient ##storage ##eip1153 ##gas ##gas_used ##opcodes

2024-03-26

Расчет количества газа необходимого для выполнения транзакции в Ethereum. Часть 2 — storage

Привет всем! В прошлой статье мы с вами изучили общую механику расчета газа при выполнении транзакций. В этой статье мы сфокусируемся на самых "дорогих" операциях работы с хранилищем смарт-контракта (storage), а также пройдемся по истории EIPs, связанных с расчетом газа в Ethereum, чтобы увидеть, по каким принципам сообщество принимало решения об изменениях "правил игры" и как сегодня, на основе этой истории, правильно выполнять такие расчеты. Статья для тех, кто хочет разобраться почему слоты в storage бывают теплыми и холодными, грязными или свежими и за что возвращают газ. Также затронем списки доступа и intrinsic gas. Наконец увидим полную картину учета газа от инициализации транзакции до ее выполнения.

habr.com/ru/companies/metalamp

##evm ##ethereum ##gas ##geth ##gas_used ##blockchain

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst