Риски запуска SegWit

  •  
  •  
  •  
  •  
  •  
  •  
19.06.2017
# Новости

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

Чтобы понять, как SegWit открывает эту дверь, давайте рассмотрим формат протокола биткоинов. То, как работает биткоин, позволяет крупному шахтеру, которому удалось получить более 51% сети, участвовать в форме атаки, основанной на двойном расходовании существующей транзакции. Это работает следующим образом:

«Даже если плохой парень пересиливает сеть, это не значит, что он мгновенно богат. Все, что он может выполнить, — это вернуть деньги, которые он сам потратил, например, подписывая чек. Чтобы использовать его, ему пришлось бы купить что-то у торговца, подождать, пока он упадет, а затем одолеть сеть и попытаться вернуть свои деньги. Я не думаю, что он мог заработать столько денег, пытаясь вытащить схему кардинга, как он мог, создавая биткойны. С большой зомби-фермой он мог генерировать больше биткоинов, чем все остальные».

Эта форма атаки будет стоить гонорар. Если шахтер не имеет более 51% сети, любая такая атака будет маловероятной и дорогостоящей, учитывая стоимость добычи биткоинов. Это также будет рисковать существующей моделью дохода шахтера.

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

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

SegWit создает стимулы для формирования майнинговых картелей

Если это будет реализовано, SegWit изменит это к худшему. Он открывает дверь модели экономического стимулирования, которая будет способствовать созданию майнинговых картелей. Поскольку в настоящее время функционирует сеть биткоинов, у шахтеров нет стимула формировать картели. Майнинговые пулы не являются картелями — они твердые. Но SegWit вводит фундаментальное изменение в биткоин: «AnyOneCanSpend address» или, по сути, пустая подпись для транзакций. SegWit использует адрес AnyOneCanSpend, чтобы транзакции были проверены и записаны в блоки, даже несмотря на то, что данные подписи отправителя/получателя разделены. Как правило, выход «AnyOneCanSpend» (как следует из названия) позволяет любому шахтеру тратить средства, связанные с этой транзакцией; поэтому SegWit представит новые правила для интерпретации «AnyOneCanSpend». Это означает, что майнеры не могли воспользоваться этим выходным адресом, чтобы ненадлежащим образом тратить средства, связанные со всеми транзакциями SegWit.

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

  1. Создать картель, чтобы захватить сеть
  2. Отключить SegWit и вернится к текущему протоколу биткоина
  3. Воспользоваться адресом «AnyoneCanSpend», чтобы мгновенно украсть средства, связанные со всеми транзакциями SegWit, запертые в блоки.

Используя адресацию «AnyOneCanSpend», SegWit открывает дверь коррумпированному майнеру, который запускает блок для подрыва транзакций и вместо этого перенаправляет их на собственный адрес шахтера. Стоимость такого незаконного нападения будет расти каждый день, когда используется SegWit. Со временем, чем больше людей используют биткоин, тем больше транзакций SegWit добавляются к блочной цепочке, и чем больше средств блокируется с аспектами SegWit биткоина, тем более ценной становится эта форма картельной атаки. Недобросовестный майнер может получить доступ к историческим фондам, которые не были перенаправлены с SegWit на традиционный биткоин-адрес. Следовательно, чем дольше работает система SegWit, тем вероятнее, что картель будет сформирован для кражи средств.

В SegWit майнеры вряд ли сформируют картель для восстановления отдельной дважды потраченной транзакции, даже если это большая одиночная транзакция. Скорее всего, это сумма всех транзакций SegWit (по крайней мере, в блоках, заминированных членами картеля), которые обеспечивают достаточно большой сундук с сокровищами. Если 51% шахтеров, которые сигнализируют о SegWit, тайно поддерживают карлизацию протокола, это только вопрос времени, когда транзакции будут украдены. Это может произойти следующим образом:

  1. Майнинговый сигнал SegWit.
  2. Группа майнинговых пулов с общей хеш-ставкой, превышающей 50% от текущей сетевой мощности, образуют картель.
  3. Затем группа картелей перестает сигнализировать SegWit и возвращается в сеть к прежнему протоколу биткойнов.
  4. Если с помощью SegWit транслируется достаточное количество биткойнов, картель переключится с SegWit на все транзакции, используя исходный протокол. Члены картеля могут затем мгновенно использовать адрес «AnyOneCanSpend» из SegWit, чтобы украсть средства из транзакций в блоках, которые они добывали (особенно в любом высокоценном блоке). Чтобы стимулировать майнеров к вступлению в картель, картель может согласиться с тем, что каждый член распределяет украденные средства со своих атакованных блоков на целую группу в некоторой пропорции (например, согласно хеш-ставке, которую каждый поддерживает).

Это один из нескольких сотен сценариев атаки, которые SegWit может открыть. В режиме SegWit такие атаки против сети биткойнов могут работать, потому что экономика системы будет изменена. Вместо того, чтобы противостоять незаконной деятельности, ее поощряют в рамках SegWit. Это, по-видимому, является аспектом системы, которая наименее понятна разработчикам Bitcoin Core и другим сторонникам SegWit.

Похожие материалы:
# Segregated Witnes # SegWit