Руководство Как устроена система Blockd делающая взлом криптокошелька невозможным

Руководство: Как устроена система Blockd, делающая взлом криптокошелька невозможным
Руководство: Как устроена система Blockd, делающая взлом криптокошелька невозможным

data-id=»/ru/news/security/281892/» data-image=»https://cnews24.ru/uploads/4f5/4f5e2421650afc4e111fc77d2153224e8d454a3e.jpg» data-title=»Руководство: Как устроена система Blockd, делающая взлом криптокошелька невозможным»
cryptocurrency.tech 6 ч Время прочтения: ~8 м

3 января, в день рождения генезис-блока сети Bitcoin, создатель сервиса Blockd, Роберт М.С. Форстер, решил доказать криптосообществу надежность своего проекта. Для этого он опубликовал в Reddit приватный ключ от кошелька с одним ЕТН и предложил пользователям попробовать вывести средства. Однако ни у кого это не получилось, и весь эфир Форстера был перемещен на другой кошелек. Чудо в том, что система защищает средства в блокчейн-кошельках, даже если приватные ключи становятся общедоступными, так как транзакция предполагаемого хакера заменяется авторизованной транзакцией с более высоким приоритетом. Как устроен Blockd, какова дорожная карта проекта и каковы недостатки системы.

Никто не смог вывести себе 1 ЕТН Форстера

Конечно, Форстер рисковал небольшими деньгами — на момент ставки 1 ЕТН стоил $136. Но на первый взгляд кажется, что он гарантированно должен был их потерять. Ведь каждому криптопользователю известно, что если посторонний узнает приватный ключ от кошелька, он получит доступ ко всем средствам на нем. Но разработанный Форстером сервис Blockd как раз должен предотвращать, казалось бы, неизбежную кражу.

Роберт М.С. Форстер. Источник.

Однако когда сторонний юзер пытался использовать закрытый ключ для взлома кошелька Форстера, его встречало сообщение «Blockd» («Заблокировано»). В это же время система перенаправляла средства в скомпрометированном кошельке на другой кошелек, приватный ключ которого известен только Форстеру.

Отследить движение средств в кошельке  можно с помощью сервиса Etherscan —https://etherscan.io/address/0xa5653e88D9c352387deDdC79bcf99f0ada62e9c6.

Адрес кошелька Форстера:  0xa5653e88D9c352387deDdC79bcf99f0ada62e9c6

Приватный ключ: ca9a3a3d4026e6228713e683a9c45ef65a538b2f9336813bd597f5effa38668d

Резервный кошелек, на который пересылались ЕНТ: 0x25eE1E352892Bc4f036F25441E6CEE84f5e06729

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

Имплементация протокола Replace-By-Fee

Blockd использует блокчейн-протокол Replace-By-Fee (RBF), позволяющий заменить неподтвержденную транзакцию на другую, с более высокой транзакционной комиссией. Чаще всего RBFиспользуется, если биткоин-транзакции застряли в сети, ведь протокол позволяет пользователю, заплатившему низкую комиссию, заменить транзакцию на другую, с более высоким сбором, чтобы ускорить подтверждение.

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

Можно, конечно, попытаться заменить транзакции вручную, но это редко осуществимо на практике. Так, среднее время майнинга нового блока в сети Ethereum — 17 секунд. А значит на подтверждение транзакции злоумышленника уйдет около 30 секунд (конечно, если сеть не будет перегружена). Оперативно заметить новую исходящую транзакцию с вашего кошелька, успеть создать конкурентную ей с большей комиссией и указать в качестве адресата резервный кошелек — не получится. Кроме того, в случае с ЕТН понадобится еще и использовать web3.js (библиотека для взаимодействия с Ethereum-нодой), чтобы у вашей транзакции был тот же nonce (порядковый номер), что и у транзакции злоумышленника.

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

Схема защиты кошелька с помощью Blockd. Источник.

Пользователь заранее одобряет транзакцию с более высокой комиссией

Переводить средства без участия пользователей Blockd можно благодаря тому, что те предварительно одобряют конкурентную транзакцию, которая будет заменять хакерскую. Пользователь заранее генерирует и подписывает транзакцию, но сервис не транслирует ее в сеть, а сохраняет в качестве резервной копии, чтобы использовать при взломе. Если захотите проверить работу Blockd, вот подробная инструкция о том, как это сделать. А ниже коротко о том, как работает система Роберта Форстера:

  •  Сначала пользователь подписывает транзакции, отправляя все средства с баланса кошелька на резервный, а затем отправляет эти транзакции в Blockd. Эти транзакции еще не переданы в блокчейн.
  •  Когда пользователь Blockd подписывает транзакцию, он также выбирает критерии, по которым сервис должен блокировать подозрительные операции. Например, он может создать список «белых» адресов, перевод на которые система не заблокирует. Далее он выбирает цену на «газ».
  •  Если транзакция не проходит проверку Blockd, система проверяет, по каким ценам на «газ» подтверждены предварительно одобренные транзакции. Это важно, потому что блокирующая транзакция должна быть отправлена с более высокой ценой «газа», чем ожидающая подтверждения транзакция злоумышленника. Сервис может рекомендовать ту или иную цену, но пользователь должен настраивать ее самостоятельно. Если предварительно подписанная транзакция с более высокой ценой на «газ» найдена, система немедленно передает ее в сеть. Затем она непрерывно проверяет, была ли эта транзакция успешной, или же требуется больше действий.
  •  Каждая цена на «газ» — это одна транзакция. Если юзер использует аппаратный кошелек, ему придется подписать отдельную транзакцию для каждой выбираемой цены на «газ». И хотя он подписывает несколько транзакций, только одна из них может когда-либо попасть в блокчейн, потому что все они имеют один и тот же nonce. По умолчанию Blockd будет использовать самую низкую цену на «газ», которая все равно будет выше, чем та, что у мошенников. На аппаратных кошельках это потребует подтверждения на вашем устройстве подписываемых транзакций, но в будущем это планируется исправить.
  •  Чтобы перевести средства, пользователь должен либо заранее добавить адрес кошелька в список разрешенных, либо провести транзакцию через сервис. Все остальные операции будут заблокированы.
  •  Blockd мониторит мемпул блокчейна, отслеживая отложенные операции, исходящие из вашего кошелька. При обнаружении отложенной транзакции сервис проверяет, соответствует ли она одобренным критериям разрешенных транзакций. Если это не так, Blockd блокирует ее, выводя в сеть подтвержденную ранее пользователем транзакцию и тем самым переводя средства на резервный кошелек.
  •  При этом Blockd, как утверждается, не получает контроль над кошельком пользователя и его приватными ключами — все транзакции подписываются через клиента на Javascript. Сервис не сможет отправлять транзакции, которые не одобрил и не подписал пользователь — подписанные транзакции нельзя изменить, поэтому средства могут уйти только на запасной адрес. Даже если Blockd взломают, то худшее, что может произойти — средства пользователя переведут на резервный кошелек без необходимости. Также сервис можно использовать совместно с multisig-кошельками и другими уровнями защиты.

В чем уязвимости Blockd?

В комментариях под постом Форстера пользователи Reddit вместе с разработчиком обсудили основные уязвимости Blockd.

Главная из них — хакер может поставить цену на «газ» выше пользовательской. Тогда велика вероятность, что средства получится вывести. Если злоумышленник точно знает, что может сорвать крупный куш, вряд ли он пожадничает, чтобы не назначить максимальную цену. Форстер предлагает бороться с этим, также выставляя среди вариантов цены на «газ» самую высокую цену. Так, например, для своего кошелька с одним...






НовостиICOБиржи криптовалютЗаймыКредитные картыКредитыРазноеТрейдингФорексХайпы

Руководство: Как устроена система Blockd, делающая взлом криптокошелька невозможным | Биржа криптовалют Magnr

Руководство: Как устроена система Blockd, делающая взлом криптокошелька невозможным | Лимит дебетовой карты ВТБ 24

Руководство: Как устроена система Blockd, делающая взлом криптокошелька невозможным | Как использовать СРМ для ритейла

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *