Две новые модели атаки двойной траты на блокчейн Биткойна
Подделка цифровой подписи на блокчейне Биткойна — достаточно сложная в исполнении задача, в смысле наличия вычислительных мощностей. Соответственно, практически невозможно изменить биткойн-транзакцию, которая уже была подписана. Тем не менее, всё ещё возможно изменить состояние подлинной транзакции при помощи техники, известной как “атака двойной траты”, которая требует титанических вычислительных мощностей.
Вот элементы успешной атаки двойной траты:
1 — Человек, выполняющий атаку двойной траты А ищет продукт или сервис, предлагаемый Б.
2 — А создаст 2 биткойн-транзакции, первая будет включать платёж за продукт или услугу, предлагаемую Б, а вторая высылает такую же сумму самому себе.
3 — А распространит по сети транзакцию “А к Б”, а затем в тайне начнёт майнить блок, в котором будет включена транзакция “А к А”. Как только он/она успешно намайнит блок, остальные блоки будут добавлены поверх этого.
4 — Если продавец не будет ждать подтверждений для отправки продукта, то Б отдаст продукт или окажет услугу А, посмотрев на транзакцию на публичном кошельке, вне зависимости от того, была ли эта транзакция подтверждена.
5 — А может повезти и атака будет успешной, в случае, если читерская цепь станет длиннее, чем верная, в которую была включена верная транзакция, в то время, как узлы, запущенные атакующим, распространяют все найденные блоки только в рамках новой цепи, а другие узлы сети договариваются считать верной цепь, содержающую неверную, мошенническую транзакцию.
атакад войной траты на блокчейн биткойна
Сначала атакующий “по-тихому” майнит альтернативую цепь (белая) наравне с валидной (жёлтая), и как только его цепь станет длиннее валидной, он публикует её и “завладевает блокчейном”.
Две классические модели атаки двойной траты
Перед тем, как изучать модели, кратко осветим основные признаки классических моделей атак. Существовало 2 модели атаки двойной траты (новояз. – “даблспенд”), описанных С. Накамото и М. Розенфельдом. Чтобы лучше понять эти модели, давайте установим следующие параметры:
– Показатель q ? [0,1] представляет вероятность успеха того, что узлы атакующего сгенерируют новый блок быстрее, чем честные узлы, при условии, что обе группы начали майнинг в один и тот же момент времени.
– Показатель K ? N отражает максимальное число подтверждений, необходимых для валидации транзакций, относящихся к определённому блоку.
– Показатель T ? R>0 отражает время в секундах, необходимое майнящим узлам, как атакующего, так и честным, для успешной генерации блока.
– Также, мы будем использовать букву N для обозначения функций, использующихся исключительно в модели С. Накамото, а буквой R будут обозначены функции, использующиеся в модели М. Розенфельда.
DSN (q,K) и DSR (q,K) представляют собой соответственно модели Накамото и Розенфельда для измерния вероятности успеха атаки двойной траты при условии, что он/она контролирует q процентов узлов сети и оставшиеся честные узлы успешно сгенерировали блок K.
Две Новые Модели Атаки Двойной Траты
Две новые модели атаки двойной траты были предложены в исследовательской работе, опубликованной в конце декабря 2016 года. Эти две модели были названы “Упрощённая модель” и “Временная модель”.
Упрощённая модель:
Данная модель — упрощённая модель Розенфельда с добавлением нового параметра в формулу, отображающего временные затраты атакущего, т.е. время, потраченное атакующим на секретный майнинг фальшивого блока. Потенциальный прогресс атакующего может быть представлен следующей функцией:
P (q, m, n, t)
Эта функция обобщает прогресс модели Розенфельда. Функция P представляет вероятность успеха того, что атакующий намайнит именно N блоков при условии, что честные узлы успешно намайнили М-ный блок (текущий блок). Добавленный параметр T показывает временные затраты атакующего на производство блока, содержащего фальшивую транзакцию.
Модель, основанная на времени
Эта новая модель отличается от моделей Накамото и Розенфельда. Во время данной атаки, состояния устанавливаются путём вычисления длины и валидного, и поддельного блокчейна, а также разницы между временем, необходимым честным и нечестным узлам для майнинга спорного блока (блока N).
Функция прогресса атакующего может быть представлена следующим образом:
PT (q, m, n, t)
Функция показывает, что вероятность времени, необходимого атакующему для майнинга N-ного блока, равняется t секундам после того времени, которое необходимо честным узлам для майнинга текущего блока (M-ного блока).
Заключение
Две новые модели атаки двойной траты были предложены группой исследователей в конце декабря 2016 года. Обобщённая модель — это состояние классической модели атаки Розенфельда, в то время как новая модель, основанная на времени, отличается от обеих классических моделей Накамото и Розенфельда.
Источник.