Logo
Поделиться этой статьей

Coinbase и ZenGo спорят о стандартах QR-кодов, которые могут заблокировать токены ERC-20

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

jwp-player-placeholder

Небольшие проблемы, усугубленные отсутствием координации действий разработчиков, могут оказать огромное влияние на безопасность монет пользователей Криптo .

Продолжение Читайте Ниже
Не пропустите другую историю.Подпишитесь на рассылку The Protocol сегодня. Просмотреть все рассылки

Показательный пример:

В среду начальник службы безопасностиЗенГо, поставщик Криптовалюта кошелька, твитнулИсследование показало, что проблемы с QR-кодами, сгенерированными приложением Coinbase.com, привели к тому, что некоторые пользователи отправляли средства на адрес контракта, а не на предполагаемый адрес кошелька в приложении. Эта ошибка фактически замораживает средства, без возможности отменить транзакцию.

Проблема QR-кода, обнаруженная ZenGo, основана на проблеме обратной совместимости междуЕРК-67 (исходный стандарт формата QR URL) и более новый ЭИП-681стандарт. Coinbase использует EIP-681, что создает проблемы совместимости между ним и другими кошельками, использующими старый стандарт.

«QR-коды — очень проблемный формат для Криптовалюта сферы», — сказал Тал Беэри, соучредитель и исследователь безопасности в ZenGo. «Поскольку QR-коды не читаются человеком, пользователям сложно обнаружить ошибки, внесенные либо злоба или по ошибке. Из-за необратимости Криптовалюта ошибки обычно фатальны.”

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

Эта проблема затронула некоторыепользователи за последние восемь месяцеви, по словам Беэри, вероятно, существовал дольше. Это былопублично сообщенои в декабре 2020 года.

Стандарты QR-кодов EIP и ERC

ZenGo обнаружила эту проблему в рамках своего процесса обеспечения качества. Be'ery сказал, что команда тестировала модуль декодирования ZenGo QR, передавая ему QR-коды, сгенерированные различными кошельками, и заметила, что приложение ZenGo не обрабатывает QR-коды приложения Coinbase для токенов ERC-20, таких как Tether или DAI.

Токены ERC-20 обычно могут использоваться для представления объектов, предоставления права голоса, оплаты комиссий за транзакции, краудфандинга и включения новых функций в токен. В настоящее время ERC-20 является самым популярным стандартом токенов ERC на Ethereum.

Читать дальше: Что такое стандарт токенов Ethereum ERC-20?

После декодирования QR-кодов в соответствии со старым стандартом URL-адресов QR-кодов, используемым ZenGo, URL-адрес отображается в адресном поле под QR-кодом, по сути, как «Ethereum:<address>», за которым следуют некоторые необязательные параметры.

В новом формате, поддерживаемом приложением Coinbase, декодированный URL отображается под QR-кодом как «ERC-20 Ethereum:<адрес контракта>/transfer?address=<адрес получателя>».

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

«Когда этот «наивный» алгоритм применяется к новому формату, это приводит к тому, что пользователь кошелька ошибочно отправляет средства на сам контракт ERC-20, а не предполагаемому получателю, что приводит к потере денег», — сказал Беэри.

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

Документация по стандарту EIP-681 <a href="https://eips.ethereum.org/EIPS/eip-681%23backwards-compatibility">Ethereum</a> признает эту проблему, по сути заявляя, что он обратно совместим с платежами ETH , но не с платежами ERC-20.

Читать дальше: Мы отправились на охоту за Криптo в Google и Apple App Stores. Вот что мы обнаружили

«Ужасный стандарт»

Coinbase не предоставила запрошенный комментарий к моменту публикации статьи, но Пит Ким, руководитель отдела разработки кошелька Coinbase, ответил на твит Биэри.

Биэри заявил, что, хотя Coinbase не «ошибается», поскольку следует какому-то стандарту, команда ZenGo считает, что это классический случай «лучше быть умным, чем быть правым».

«При реализации функциональности, охватывающей несколько кошельков, например QR-кодов, которые могут быть созданы ONE кошельком и использованы другим, лучше использовать подход «наименьшего общего знаменателя»», — сказал Биэри.

«В частности, ZenGo создает QR-коды, которые кодируют адрес в необработанном формате (кошелек Trust делает то же самое), который просто указывает адрес и ничего больше. Это базовый подход, поэтому он оставляет меньше места для ошибок и несовместимостей».

Ким позжепоправил себя, отметив, что новый стандарт использовался в розничном приложении Coinbase или в их приложении для обмена, а не в Coinbase Wallet, который является некастодиальным приложением-кошельком.

Ким продолжил, заявив, что это ошибка в ZenGo, поскольку он не поддерживает стандарт EIP-681, отметив, что другие кошельки, такие как Trust, Exodus,Криптo.comи Metamask корректно поддерживают EIP-681.

Выбор правильного адреса

В то же время, как правило, Be'ery сказал, что пользователи, которые должны использовать QR-коды, должны проверять детали транзакции, прежде чем окончательно подтвердить транзакцию. Например, поиск адреса наEtherscanсообщит вам, является ли адрес адресом контракта или адресом кошелька. К сожалению, проверить, какие стандарты поддерживает ваш предпочтительный кошелек, довольно сложно.

Все это может показаться сложным для новичков в этой области, которые не знакомы с контурами Криптo, и это может быть так. Однако это то, что может сэкономить им BIT денег и головной боли в долгосрочной перспективе.

«Именно поэтому в ZenGo мы дополняем наши QR-коды некоторыми визуальными индикаторами типа монеты/токена, а также самим адресом для удобства сравнения и проверки», — сказал Беэри.

«Самое главное при считывании QR-кода — не запутаться в разных форматах и стандартах, и лучше потерпеть неудачу в случае неподдерживаемого формата (как это делаем мы) и не пытаться «угадывать» и подвергать риску средства наших клиентов. Возможно, в будущем мы решим поддерживать и этот формат, и тогда мы выберем «правильный» адрес, так что никакие средства [не будут потеряны]».

Исправление: Четверг, 3 марта 2021 г., 16:00 UTC:В оригинальной версии этой статьи говорилось, что проблема была в Coinbase Wallet. В нее было внесено изменение, чтобы указать, что проблема связана с адресами кошельков в приложении Coinbase.com.

Добавлены дополнительные комментарии от Пита Кима из Coinbase Wallet.

Benjamin Powers

Powers is a tech reporter at Grid. Previously, he was privacy reporter at CoinDesk where he focused on data and financial privacy, information security, and digital identity. His work has been featured in the Wall Street Journal, Daily Beast, Rolling Stone, and the New Republic, among others. He owns bitcoin.

CoinDesk News Image

Больше для вас

[Тестовая статья, Быстрые новости] Digital Asset, создатель ориентированного на конфиденциальность блокчейна Canton, привлек $135 млн

Fast News Default Image

[Тестовый текст] Стратегическое привлечение финансирования было возглавлено DRW Venture Capital и Tradeweb Markets.