При реорганизации между запросами баланс и вызов контракта могут описывать разные состояния. Явный хеш задаёт нужную точку наблюдения.

Что подтверждает первоисточник

EIP-1898 создан 1 апреля 2019 года и имеет статус Final. Он добавляет объектный параметр блока с blockHash или blockNumber для перечисленных методов JSON-RPC Ethereum, включая eth_getBalance и eth_call. Ethereum EIPs — EIP-1898: blockHash in defaultBlock methods, Final ↗

При blockHash параметр requireCanonical по умолчанию равен false. Значение true требует отклонить блок вне канонической цепочки узла; документ отличает такую ошибку от отсутствующего блока. Ethereum EIPs — EIP-1898: blockHash in defaultBlock methods, Final ↗

Что это меняет в анализе

Проблема касается согласованности отчёта. Два запроса latest не обязаны относиться к одному блоку. Иначе кошелёк может совместить баланс отправителя из одного состояния с балансом получателя из другого.

Один хеш для связанных запросов задаёт общее состояние. Номер высоты при реорганизации может уже обозначать другой блок. Такая фиксация делает срез определённым, но не обещает вечной каноничности выбранного блока.

Что проверить перед выводом

WFN предлагает сохранять хеш, требование каноничности и ответы узла вместе с отображаемыми данными. Отсутствующее историческое состояние и неканонический блок должны оставаться различимыми ошибками, без молчаливой подмены текущими данными.

Поддержку и глубину истории необходимо проверять у конкретного провайдера. Статус Final не доказывает реализацию всех опций каждым endpoint. Согласованность, доступность и окончательность состояния — отдельные вопросы.