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

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

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

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

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

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

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

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

как работает 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, описание интерфейса контракта) и симуляция (предварительный прогон транзакции). У обоих есть критические ограничения.

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

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

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

Гарантии

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

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

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

Источник: https://ru.beincrypto.com/ethereum-clear-signing/

Наверх