Ethereum закрывает дыру в безопасности с помощью Clear Signing

  • Ethereum Foundation запустил Clear Signing — открытый стандарт для понятных транзакций.
  • В основе — ERC-7730, который превращает hex-код в человекочитаемые описания операций.
  • Стандарт может помешать мошенникам.
Promo

12 мая Ethereum Foundation объявила о запуске инициативы Clear Signing — открытого стандарта, который превращает нечитаемые транзакции в понятные пользователю описания. Цель — закрыть одну из самых давних проблем юзабилити и безопасности Ethereum: подписание транзакций, содержание которых владелец кошелька не может прочесть. Разработчики называют такие подписи слепыми и связывают с ними миллиардные потери в экосистеме.

Рассказываем, как именно работает Clear Signing и как новый стандарт улучшит индустрию.

Что такое «слепая подпись»

Когда пользователь подтверждает транзакцию в кошельке, на экране часто отображается нечто похожее:

Спонсорский материал
Спонсорский материал

Перед нами сырые байты вызова смарт-контракта (calldata). Понять, что именно произойдет после подтверждения, по этой строке практически невозможно. Команда Ethereum Foundation обратила внимание на то, что подписывать подобную транзакцию — все равно что ставить подпись на пустом банковском чеке. Атакующие могут использовать в работе одобрение операций, смысл которых пользователи не понимают.

Зачем нужен Clear Signing

Идея инициативы — добавить к процессу подписания верифицируемый слой отображения, который превращает сырые данные в осмысленный текст. Вместо непонятной hex-строки кошелек покажет, например:

  • действие: обмен;
  • отправить: 1000 USDC;
  • получить минимум: 0,42 WETH;
  • протокол: Uniswap V3.
как работает Clear Signing
Пример перевода слепой подписи через Clear Signing

При этом сама транзакция не меняется. Стандарт работает только с тем, что видит пользователь в момент подтверждения, и не вмешивается в логику смарт-контрактов.

Clear Signing состоит из четырех связанных частей: формата описаний ERC-7730, открытого реестра дескрипторов, фреймворка аттестаций ERC-8176 и набора инструментов с открытым кодом для разработчиков кошельков, протоколов и аудиторов. Рассмотрим их.

Спонсорский материал
Спонсорский материал

ERC-7730 — описание намерения транзакции

ERC-7730 — это формат JSON-описаний (дескрипторов), которые сопоставляют сырые вызовы контрактов и сообщения EIP-712 с полями, которые можно прочесть и понять. В описании указываются:

  • название действия (например, «обмен», «перевод», «подтверждение»);
  • суммы токенов с учетом их десятичных разрядов;
  • адреса получателей с метками;
  • контекст протокола.

Авторами дескрипторов могут быть команды самих протоколов, исследователи безопасности или любые желающие.

Открытый реестр дескрипторов

Готовые дескрипторы публикуются в нейтральном реестре, который курирует Ethereum Foundation. Реестр устроен по принципу открытого доступа: добавлять описания может кто угодно, разрешения не требуется. Благодаря этому покрытие Clear Signing не зависит от одной компании или модератора.

Важная деталь: реестр можно зеркалировать. Если действующие операторы исчезнут, кто угодно может с собственными ключами воспроизвести весь пайплайн и независимо перезапустить реестр. Подобный подход называется «walkaway test» — проверка на то, что инфраструктура не привязана к единственному оператору.

ERC-8176 — фреймворк аттестаций

Открытая публикация без проверки опасна: вместе с честными дескрипторами в реестр могут попасть и поддельные. Эту проблему решает второй стандарт — ERC-8176. Он описывает формат аттестаций аудиторов, которые подтверждают целостность конкретного дескриптора.

Каждая запись в реестре несет привязанный к ней идентификатор аттестации (UID). Кошелек видит, кто и какие проверки провел, и решает сам, какие аттестации принимать. Принцип получил название wallet-local trust — доверие настраивается локально на стороне кошелька, а открытая публикация дескриптора сама по себе не означает, что кошелек его покажет.

Инструменты с открытым кодом

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

Расшифровка

Для расшифровки транзакций применяются два подхода — ABI (application binary interface, описание интерфейса контракта) и симуляция (предварительный прогон транзакции). У обоих есть критические ограничения.

  • ABI позволяет декодировать вызов функции, но не способен установить намерение пользователя и подтвердить доверие. Вредоносный контракт может опубликовать собственный ABI и обмануть кошелек: декодирование пройдет успешно, а пользователь все равно увидит то, что выгодно злоумышленнику.
  • Симуляция показывает ожидаемый результат вызова, но не учитывает контекст. Например, транзакция кроссчейн-моста (bridge) может выглядеть в симуляции как полная потеря средств: система видит, что токены уходят с адреса, но не знает о последующем переводе на другой блокчейн.

ERC-7730 решает обе проблемы. Дескриптор описывает намерение транзакции и сопровождается верифицируемой аттестацией, что позволяет кошельку проверить его целостность перед отображением пользователю.

Полный цикл выглядит так:

  • автор дескриптора (команда протокола или независимый разработчик) пишет JSON-файл с метаданными для конкретных функций контракта;
  • дескриптор публикуется в открытом реестре;
  • кошелек в момент подписания подгружает соответствующий дескриптор и показывает пользователю расшифрованную транзакцию;
  • параллельно к дескриптору могут привязываться аттестации аудиторов (по ERC-8176), которые кошелек учитывает при отображении.

В итоге пользователь видит понятную фразу «Обмен 1,000 USDC на 0.42 ETH через Uniswap» вместо нечитаемой hex-строки.

Гарантии

Команда выделяет четыре свойства, на которых строится система:

  1. открытая публикация — кто угодно может добавить дескриптор в нейтральный реестр;
  2. верифицируемые аттестации — каждая запись в реестре имеет привязанный идентификатор (UID), который кошелек может проверить;
  3. локальное доверие на стороне кошелька — кошелек сам решает, какие аттестации признавать и в каком виде показывать данные;
  4. walkaway test — пайплайн воспроизводим, и реестр можно перезапустить независимо от текущих операторов.

Сама Ethereum Foundation выступает в роли нейтрального координатора, а не владельца стандарта.

Хотите получить доступ к экспертным инсайдам? Подписывайтесь на наш телеграм-канал, получайте доступ торговым сигналам и новостям рынка, общайтесь с нашим аналитиком. Будьте на шаг впереди рынка каждый день!


Чтобы прочитать свежую аналитику криптовалютного рынка от BeInCrypto, нажмите здесь.

Отказ от ответственности

BeInCrypto стремится предоставлять только непредвзятую и правдивую информацию. Цель этой новостной статьи — осветить событие точно и своевременно. Тем не менее, BeInCrypto рекомендует читателям самостоятельно проверять информацию и консультироваться со специалистом, прежде чем принимать любые финансовые решения на основе этого контента. Также обратите внимание, что наши «Условия и положения», «Политика конфиденциальности» и «Дисклеймеры» были обновлены.

Спонсорский материал
Спонсорский материал