12 мая Ethereum Foundation объявила о запуске инициативы Clear Signing — открытого стандарта, который превращает нечитаемые транзакции в понятные пользователю описания. Цель — закрыть одну из самых давних проблем юзабилити и безопасности Ethereum: подписание транзакций, содержание которых владелец кошелька не может прочесть. Разработчики называют такие подписи слепыми и связывают с ними миллиардные потери в экосистеме. The post Ethereum закрывает дыру в безопасности с помощью Clear Signing appeared first on BeInCrypto.
12 мая Ethereum Foundation объявила о запуске инициативы Clear Signing — открытого стандарта, который превращает нечитаемые транзакции в понятные пользователю описания. Цель — закрыть одну из самых давних проблем юзабилити и безопасности Ethereum: подписание транзакций, содержание которых владелец кошелька не может прочесть. Разработчики называют такие подписи слепыми и связывают с ними миллиардные потери в экосистеме.
Рассказываем, как именно работает Clear Signing и как новый стандарт улучшит индустрию.
Когда пользователь подтверждает транзакцию в кошельке, на экране часто отображается нечто похожее:
0x414bf389000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2...Перед нами сырые байты вызова смарт-контракта (calldata). Понять, что именно произойдет после подтверждения, по этой строке практически невозможно. Команда Ethereum Foundation обратила внимание на то, что подписывать подобную транзакцию — все равно что ставить подпись на пустом банковском чеке. Атакующие могут использовать в работе одобрение операций, смысл которых пользователи не понимают.
Идея инициативы — добавить к процессу подписания верифицируемый слой отображения, который превращает сырые данные в осмысленный текст. Вместо непонятной hex-строки кошелек покажет, например:
При этом сама транзакция не меняется. Стандарт работает только с тем, что видит пользователь в момент подтверждения, и не вмешивается в логику смарт-контрактов.
Clear Signing состоит из четырех связанных частей: формата описаний ERC-7730, открытого реестра дескрипторов, фреймворка аттестаций ERC-8176 и набора инструментов с открытым кодом для разработчиков кошельков, протоколов и аудиторов. Рассмотрим их.
ERC-7730 — это формат JSON-описаний (дескрипторов), которые сопоставляют сырые вызовы контрактов и сообщения EIP-712 с полями, которые можно прочесть и понять. В описании указываются:
Авторами дескрипторов могут быть команды самих протоколов, исследователи безопасности или любые желающие.
Готовые дескрипторы публикуются в нейтральном реестре, который курирует Ethereum Foundation. Реестр устроен по принципу открытого доступа: добавлять описания может кто угодно, разрешения не требуется. Благодаря этому покрытие Clear Signing не зависит от одной компании или модератора.
Важная деталь: реестр можно зеркалировать. Если действующие операторы исчезнут, кто угодно может с собственными ключами воспроизвести весь пайплайн и независимо перезапустить реестр. Подобный подход называется «walkaway test» — проверка на то, что инфраструктура не привязана к единственному оператору.
Открытая публикация без проверки опасна: вместе с честными дескрипторами в реестр могут попасть и поддельные. Эту проблему решает второй стандарт — ERC-8176. Он описывает формат аттестаций аудиторов, которые подтверждают целостность конкретного дескриптора.
Каждая запись в реестре несет привязанный к ней идентификатор аттестации (UID). Кошелек видит, кто и какие проверки провел, и решает сам, какие аттестации принимать. Принцип получил название wallet-local trust — доверие настраивается локально на стороне кошелька, а открытая публикация дескриптора сама по себе не означает, что кошелек его покажет.
К стандарту прилагается набор открытых инструментов для разработчиков кошельков, протоколов и аудиторов. Они нужны для того, чтобы команды могли быстрее писать, публиковать и проверять дескрипторы.
Для расшифровки транзакций применяются два подхода — ABI (application binary interface, описание интерфейса контракта) и симуляция (предварительный прогон транзакции). У обоих есть критические ограничения.
ERC-7730 решает обе проблемы. Дескриптор описывает намерение транзакции и сопровождается верифицируемой аттестацией, что позволяет кошельку проверить его целостность перед отображением пользователю.
Полный цикл выглядит так:
В итоге пользователь видит понятную фразу «Обмен 1,000 USDC на 0.42 ETH через Uniswap» вместо нечитаемой hex-строки.
Команда выделяет четыре свойства, на которых строится система:
Сама Ethereum Foundation выступает в роли нейтрального координатора, а не владельца стандарта.
Хотите получить доступ к экспертным инсайдам? Подписывайтесь на наш телеграм-канал, получайте доступ торговым сигналам и новостям рынка, общайтесь с нашим аналитиком. Будьте на шаг впереди рынка каждый день!
The post Ethereum закрывает дыру в безопасности с помощью Clear Signing appeared first on BeInCrypto.