Специально для сообщества Sunscrypt Гайд с подборкой сервисов для анализа монет по 5 ключевым критериям Забрать
Каталог
Вернуться в блог

Как безопасно получить Bitcoin Cash SV?

24 января 2019
Навигация по статье
Скрыть

Рассмотрим несколько безопасных способов получения Bitcoin Cash SV с помощью аппаратных кошельков Trezor One, Trezor T, Ledger Nano S, Keepkey.

После того как стало известно о форке BitcoinCash, производители аппаратных кошельков заявили, что поддержат ту монету, у которой будет более длинная цепочка блоков. В этой схватке победил Bitcoin Cash ABC, который ныне в интерфейсах отображается просто как Bitcoin Cash. Вторая монета называется BitcoinCashSV, которая становится доступна в различных интерфейсах только при ручной установке адреса ноды. Я решил об этом упомянуть, чтобы избежать дальнейшей понятийной путаницы.

Особенностью данного форка является опасность применения атаки повторного воспроизведения транзакции (Replay Attack). Благодаря этому можно взять код транзакции из блокчейна ABC и транслировать его в блокчейн SV и наоборот. Другими словами, при отправке одной монеты существует опасность, что в другой ветке блокчейна будет создана точно такая же транзакция.

Какую опасность это представляет?

Во многих случаях можно просто потерять монеты Bitcoin Cash SV . Например:

  • отправка Bitcoin Cash на какой — нибудь сервис, обменник или биржу (которая не поддерживает данный форк);
  • покупка в интернете;
  • перевод средств другому лицу.

Во всех этих случаях вы переведете не только монеты основной цепочки Bitcoin Cash (ABC), но и монеты Bitcoin Cash SV. Все это произойдет из-за вышеупомянутой уязвимости.

Кто осуществляет эту атаку?

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

Напрашивается очевидный вопрос — Как обойти эту уязвимость? Рассмотрим три варианта обхода Replay Attack.

1. Смешать монеты

Суть заключается в том, что вам необходимо найти человека, который уже разъединил монеты обоих блокчейнов и попросить его отправить небольшую сумму (пыль) на ваш публичный адрес. Такую транзакцию невозможно будет продублировать во втором блокчейне, так как для нее потребуется совершенно другая подпись.

Важно понимать:

  • Можно смешивать BTC-ABC с BTC-ABC или BTC-SV с BTC-SV. Результат будет одинаковый – разъединение монет и как следствие обход атаки двойного воспроизведения.
  • Если ваши монеты содержатся на разных кошельках, счетах и адресах, то вам предстоит проделать эту процедуру с каждым адресом. Очевидная мысль — объединить все монеты на одном адресе и только потом перейти к смешиванию. Другая опция — это смешать монеты с одним вашим адресом и далее уже самостоятельно смешать монеты с другими адресами.
Смешивание монет имеет один существенный недостаток – возможный подрыв конфиденциальности, так как все ваши активы и история транзакций станут видны владельцу пыли. Это и есть так называемая атака пылью (Dust attack).

2. Использование Locktime

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

BitcoinABC имеет более длинную цепочку, чем BitcoinSV. На момент написания статьи высота блока первой цепи равна 566 658, а второй 566 580. Эта разница в 78 блок позволяет с помощью метки Locktime отправить транзакцию в основном блокчейне (ABC). Не стоит переживать, в BitcoinSV такая транзакция будет отклонена из-за недостаточной высоты блока. Пока транзакция в первой сети будет подтверждаться, мы можем совершить транзакцию в блокчейне SV.

Используем Locktime с аппаратным кошельком Trezor.

Сначала нам необходимо узнать текущие номера блоков обоих блокчейнов. Для этого можно воспользоваться родными обозревателями от SatoshiLabs:

Bitcoin Cash ABC - https://bch2.trezor.io/blocks

Bitcoin Cash SV - https://bchsv1.trezor.io/blocks

Видно, что текущая высота блока BitcoinCash (ABC) имеет значение 566 658, и это значение мы будем использовать в качестве метки. Переходим в интерфейс Trezor.io во вкладку «Отправить» и заполняем адрес, сумму и комиссию. В дополнительных условиях выбираем опцию «Добавить время блокировки» (в английском интерфейсе Add locktime).

Отправляем транзакцию и подтверждаем действия на аппаратном кошельке. Теперь у нас есть время в 78 блоков (13 часов) для совершения транзакции в блокчейне SV. Выполняем следующие действия:

Мы вручную установили адрес узла BCHSV, чему свидетельствует значение Custom backend в области выбора криптовалюты. Нам достаточно перевести средства из одного адреса на другой, чтобы окончательно разделить монеты. Важно, чтобы транзакция отличалась от транзакции, совершенной в основной сети, конфигурацией выходов (1, 2, 3 или просто другой адрес) или комиссией.

После транзакций в обоих сетях не будет лишним проверить по адресу ВХОДА (INPUT) какие ВЫХОДЫ (OUTPUTS) мы сформировали, они должны отличаться. Это и будет подтверждением успешного разделения монет. С этого момента к нашим средствам нельзя будет применить Replay Attack.

Используем Locktime с аппаратными кошельками Ledger Nano S, KeepKey.

Оригинальные интерфейсы Ledger Live и Keepkey Client не позволяют совершать транзакции с меткой Locktime. Поэтому мы воспользуемся кошельком ElectronCash, который можно скачать на официальном сайте разработчиков. Важно понимать, что только версии 3.3.2 и ниже поддерживают работу с обоими ветками блокчейна. Особенность работы данного кошелька заключается в том, что метка locktime проставляется автоматически в каждой транзакции. Это означает, что нам достаточно просто сделать транзакцию в блокчейне ABC (длинная цепочка) и после этого совершить другую в блокчейне SV.

Устанавливаем интеграцию ElectronCash с Ledger Nano S.

После интеграции отобразится обычный интерфейс с логотипом аппаратного кошелька в нижнем правом углу. Первое, что следует сделать, это отправить транзакцию в блокчейне ABC, далее у нас будет тот же промежуток примерно в 78 блоков, в течение которого нужно будет совершить вторую транзакцию в блокчейне SV. Для переключения между блокчейнами нам пригодятся популярные адреса узлов. Начнем с Bitcoin Cash ABC:

  • bch.imaginary.cash 50002
  • electron.jochen-hoenicke.de 51002
  • blackie.c3-soft.com 50002

Теперь нужно повторить тоже самое и с BitcoinCash SV. Желательно сделать так, чтобы транзакция отличалась выходом или комиссией. Популярные узлы сети BcashSV

  • sv.electrumx.cash 50002
  • electroncash.cascharia.com 50002
  • satoshi.vision.cash 50002
  • sv1.hsmiths.com 60004

Самым последним этапом будет проверка транзакций по единому входу в обозревателях блокчейна. У вашей транзакции должен быть одинаковый вход и разные выходы.

Bitcoin Cash ABC - https://bch2.trezor.io/blocks

Bitcoin Cash SV - https://bchsv1.trezor.io/blocks

3. Использование Checkdatasig

Во втором способе мы использовали команду Locktime из — за разницы в высоте блоков обоих блокчейнов. А здесь мы используем команду, которую возможно применить только на клиентах, поддерживающих BitcoinCashABC. Любые попытки отправить транзакцию с командой Checkdatasig в блокчейн BitcoinCashSV будут отклонятся узлами сети. Кстати, команда Checkdatasig и была одной из причин, из-за которых возникли разногласия между разработчиками BitcoinCash.

Checkdatasig — это команда, которая позволяет импортировать и проверять произвольные сообщения вне блокчейна. Разработчики рассчитывает, что эта возможность впоследствии может значительно расширить область применения BCHABC в различных сферах жизни.

Для использования команды нам потребуется скачать специальный клиент ElectronCash с версией 3.3.1CS, который доступен на официально сайте разработчиков — https://electroncash.org/nov2018.html. Нам нужно будет создать горячий кошелек с новой мнемонической фразой, прислать на ее адрес небольшую сумму и отправить ее обратно на свой кошелек с командой Checkdatasig. Приступаем к первому этапу.

Создаем разовый кошелек

Интегрируем аппаратный кошелек с ElectronCash 3.3.1.CS

Отправляем транзакцию с Checkdatasig

В горячем кошельке открываем инструмент Coin Splitting.

Подводим итоги

Мы рассмотрели три популярных способа безопасного заявления монеты BitcoinCashSV. Небольшая обратная связь про каждый из способов.

  • Смешивание монет — самый простой способ, не требующего никаких дополнительных знаний и действий. Существенный недостаток — это потеря конфиденциальности.
  • Команда Locktime — в этом способе вы разъединяете монеты в рамках своего кошелька, что обеспечивает полную конфиденциальность. Пользователям кошельков Trezor можно пройти весь процесс в оригинальном интерфейсе Trezor.io, а владельцам Ledger Nano S и Keepkey необходима будет интеграция с горячим кошельком ElectronCash.
  • Команда Checkdatasig — еще один альтернативный способ безопасного разъединения монет через специальную версию ElectronCash. Преимущества данного способа в том, что после проведения первой транзакции, нет необходимости проводить вторую.

Напоследок я хотел бы предложить несколько рекомендаций для владельцев криптовалют на случаи форка:

  • Не спешите с действиями, дождитесь, пока ситуацию с форком прокомментируют эксперты.
  • Получите как можно больше информации о форке на крупнейших площадках — bitcointalk, stackexchange, reddit.
  • Дождитесь, пока не выйдет достаточное количество туториалов и выберите из них подходящий вам.
  • Первые транзакции совершайте с незначительными суммами.

Любое копирование материалов допустимо
со ссылкой на данную страницу.

    Подпишитесь на рассылку

    Свежие новости из мира криптовалюты,
    блокчейна, обзоры аппаратных кошельков

    Похожие статьи
    Лучшие аппаратные кошельки для криптовалют в 2023 году

    После многочисленных краж криптовалют с онлайн-кошельков и бирж разработчики задумались на...

    26.11.2019
    Уязвимость OLED-дисплеев и меры предотвращения

    В этой статье описывается утечка информации, обнаруженная на OLED-дисплее, который использ...

    14.10.2019
    Кошельки Trezor – новая прошивка только для Биткоина: особенности, как установить и пользоваться

    Эта статья будет полностью посвещена новой прошивке для биткоина, которую недавно выпустил...

    07.10.2019
    Как получить, хранить и тратить криптовалюту TRON (TRX) на Ledger Nano X и Nano S

    Многие владельцы аппаратных кошельков Ledger Nano X и S не могут добавить криптовалюту TRX...

    26.09.2019
    Интеграция горячего кошелька Exodus с Trezor!

    Зачем мне эта интеграция? В первую очередь это дополнительный клиент для управления крипт...

    07.08.2019
    Подписка успешно
    оформлена!

    Вы всегда сможете отменить подписку
    по ссылке «Отменить подписку» в письме.

    Спасибо, за Ваш отзыв!

    После проверки модератором,
    отзыв будет опубликован.

    Спасибо, Ваша
    заявка отправлена!

    Мы свяжемся с вами в ближайшее время.

    Заказать
    обратный звонок

    Оставьте свои данные и мы свяжемся с вами




      Оформить предзаказ

      Оставьте свои данные и мы свяжемся с вами





        Начать обучение
        «Интеграция горячего кошелька Exodus с Trezor!»

        Оставьте свои данные
        и мы свяжемся с вами