Моделирование предсказывает исход транзакции. EIP-7906 предлагает способ ограничить тот исход, который фактически происходит.

В проекте вводится транзакционная дифф-интроспекция и завершающие пост-операционные фреймы утверждений POST_TX. Логика утверждений может проверять чистые балансы ETH, изменения в хранилище, хэши кода, развертывания и данные событий после того, как тело транзакции уже выполнено.

Если требуемое утверждение не выполняется:

• Тело выполнения откатывается

• Транзакция всё ещё может оставаться валидной для блока с неуспешным статусом

• Газ по-прежнему оплачивается за проделанную работу

• Состояние префикса проверки не откатывается

Утверждения (assertions) действуют локально для транзакции. Они не создают подключение кошелька, разрешение, ключ сеанса или повторно используемую (воспроизводимую) привилегию.

Главный риск безопасности — неполное покрытие. Транзакция может удовлетворить узкому условию, при этом внести другое вредоносное изменение, которое утверждение никогда не проверяло. Кошельки также должны гарантировать, что требуемое итоговое утверждение нельзя пропустить, заменить, неожиданно обновить или лишить достаточного количества газа для выполнения его проверки.

Полное руководство:

https://tokentoolhub.com/eip-7906-transaction-assertions/

#Ethereum #SmartContracts #Web3Security #cryptowallets #blockchain