Двойные траты — это тип атаки, который позволит киберпреступнику использовать одни и те же монеты несколько раз, что влияет на технологию криптовалюты из-за ее децентрализации и для которой разработчики создали различные механизмы защиты.
Double-Spend Attacks, и что это такое
С внедрением и развитием децентрализованных денег возникла проблема, известная как двойные расходы. Она заключается в том, что двойные расходы известны как риск дублирования и использования цифровой валюты более чем один раз. Это атака, которая может повлиять на криптовалюты из-за ее децентрализованного характера.
Подобно тому, как фиатные деньги подвергаются воздействию поддельных банкнот, криптовалюты также подвержены этому мошенничеству. Простой пример двойных расходов:
У человека в банке есть 1000 рублей, и, зная это, он берет свою дебетовую карту, чтобы сделать покупки. Используя карту, он покупает что-то на сумму 1000 рублей на двух разных площадках, и в качестве оплаты проводит платеж на указанную сумму. Таким образом, первый человек, который придет в банк, сможет забрать деньги, в то время как другой человек увидит, что денег для оплаты нет. С помощью этого злонамеренного действия тот, кто заплатил, успешно создал двойные расходы.
Криптовалюты — это децентрализованные цифровые валюты, своего рода цифровой архив денег. Таким образом, они могут быть клонированы и введены в сеть как поддельные монеты, если не будут приняты соответствующие меры контроля. Подделка может быть сравнительно легко осуществлена, поскольку цифровые файлы с ними легче воспроизводить по сравнению с физическими валютами.
Как работает атака двойного расходования
Двойные расходы возникают, когда пользователь хочет использовать одни и те же монеты несколько раз. Для этого пользователь выполняет две транзакции одновременно, чтобы купить товары у продавцов. В это время сетевые майнеры начинают генерировать блоки и проверять транзакции. Но в какой-то момент один из блоков будет передан большему количеству узлов быстрее, а другой — нет. Таким образом, будет подтвержден только один блок. Это приводит к проблеме двойных расходов, которая также известна как расовая атака.
- Расовая атака
Вы уязвимы для расовой атаки или атаки Финни только в том случае, если примете неподтвержденную транзакцию. Расовые атаки — это просто «гонка» между двумя транзакциями, которые производились в почти идентичное время. Идея состоит в том, чтобы заменить первую транзакцию другой транзакцией, которая возвращает средства в кошелек контролируемый вами, до того, как первая транзакция будет записана в цепочку блоков.
В декабре 2019 года вирусное видео продемонстрировало, как Bitcoin дважды расходуются в местах, которые принимают криптовалюту. Эти атаки были возможны с помощью Replace-By-Fee (RBF), несколько противоречивого обновления протокола Bitcoin.
Первая транзакция была отправлена продавцу, за ней последовала вторая транзакция с более высокой комиссией. Эта транзакция RBF перекрывала первую транзакцию, так как более высокая комиссия означала, что она будет обрабатываться первой, что позволяет использовать ее дважды.
Эти атаки сработали, потому что продавцы принимали неподтвержденные транзакции. В аналогичном инциденте в начале того же года, некоторые канадские держатели Биткойнов смогли «обналичить» свои крипто-активы, фактически не обналичивая их. Похоже, они отправляли Биткойны в АТМ-банкоматы, где они могли снимать наличные. Получив наличные, они отменяли транзакции, так как они еще не были «подтверждены». Ключевой вывод — никогда не торговать криптовалютами, наличными или чем-либо еще через неподтвержденные транзакций.
Атаки Финни могут выполняться только майнерами, поэтому они довольно технически непонятны. Майнер предварительно проводят транзакцию из одного кошелька в другой. Затем они используют первый кошелек для выполнения второй транзакции и трансляции предварительно добытого блока, который включает в себя первую транзакцию. Для этого требуется очень конкретная последовательность действий, и нет никаких доказательств того, имели ли место какие-либо серьезные атаки Финни. Этот тип атаки назван в честь ее первооткрывателя Хэла Финни, который получил самые первые Биткойны от Сатоши Накамото.
Однако в настоящее время существуют и другие переменные атаки с двойным расходом, такие как знаменитая атака 51%.
- Атака 51%
Эта атака заключается в том, что пользователь может владеть и манипулировать более чем 50% мощности хэша (майнинга) сети. Отсюда и название — атака 51%. Хотя эта атака на данный момент носит скорее теоретический, чем практический характер, при определенных условиях ее может очень легко осуществить киберпреступник.
Это тип атаки с двойным расходом, который многие в сфере криптовалют считают наиболее тревожным. Если группа может контролировать 51% или более хэш-мощности сети, то они могут реорганизовывать блокчейн до тех пор, пока у них есть это преимущество. Если они реорганизуют блокчейн, они могут выполнять двойные траты.
Помните, что природа криптовалют основывается на децентрализации, поэтому нет центральной организации, которая их контролирует. Таким образом, сети взаимосвязанных узлов необходимо достичь согласия. Все это для выполнения функции генерации и проверки блоков с выполненными транзакциями, который позже будут включены в блокчейн, и где все узлы будут хранить их точную копию. Таким образом, получив контроль над 51% узлов, пользователь может манипулировать ими, и он сможет добывать и проверять блоки намного быстрее, чем остальные пользователи. Именно при таких условиях и можно выполнить двойной расход с большой вероятностью успеха.
В качестве любопытного факта важно отметить, что существуют и другие типы атак с двойным расходом, такие как атака грубой силой или Vector 76.
Кто первым обнаружил это угрозу?
Биткойн была первая криптовалюта, успешно созданная и выпущенная на рынок. Но первые попытки создать цифровую валюту были сделаны в начале 80-х годов. Дэвид Чаум создал первую цифровую валюту, известную как e-Cash. Именно эта валюта дала начало концепции электронных денег и возможности их дублирования. Однако в свое предложение Чаум включил систему, предотвращающую атаку двойного расходования.
Дэвид Чаум обнаружил двойные расходы на децентрализованные валютные системы.
Эта система представляла собой криптографический механизм, известный как слепые или непрозрачные подписи, который не позволял эмитенту узнать происхождение денег, и у него был центральный сервер, чтобы контролировать валюты и избегать двойных расходов. Однако этот сервер был слабым местом указанной системы. Централизация означала, что атака на этот сервер и получение контроля над ним раскрыли доступ пользователей e-Cash.
Затем, предложив и внедрив Bitcoin, Сатоши Накамото предложил заменить централизованную систему на систему, основанную на консенсусе. Если несколько узлов, подключенных к сети, несущих ответственность за выполнение проверок и подтверждений операций, а за проделанную работу узлы получают вознаграждение, побуждающее их работать честно. Эта технология сегодня известна как блокчейн. Таким образом, если мошеннический узел хочет провести атаку с двойным расходом, он должен конкурировать за мощность хэширования других подключенных узлов. И чем больше разрастается сеть, тем сложнее будет выполнить такого рода атаку.
Является ли защита от двойных расходов ключом к успеху криптовалютных технологий?
Благодаря разработке методов, которые помогают избежать атак с двойным расходом, технологии блокчейн, а в частности криптовалюты были защищены. Это было необходимо для успешного развития криптовалют. Без этого криптовалюты не были бы безопасным денежным средством, из-за риска подделки, который мог бы существовать в них.
Как криптовалюты защитились от этих атак с двойным расходом? Биткойн и другие криптовалюты работают по технологии блокчейн, которая имеет два механизма для предотвращения мошеннических атак с двойным расходом. Сначала выполняется проверка и регистрация всех проведенных транзакций. В случае с Биткойном это открытая, поддающаяся проверке и аудиту запись. Во-вторых, выполняется проверка подлинности каждой операции с помощью инструмента, известного как Proof of Work (PoW).
Каждая запись, добавляемая в цепочку блоков, поддерживает последовательный и возрастающий порядок, и каждый добавленный блок связан с помощью криптографических методов с предыдущим блоком. При этом гарантируется неизменность данных и, следовательно, сети. Этот механизм также позволяет подтверждать выполненные транзакции, и как только это произойдет, чем больше будет подтверждений у операции, тем будет практически невозможно ее дублировать или фальсифицировать.
Точно так же каждый раз, когда сеть растет и к ней присоединяются все новые узлы, она становится более надежной, а процесс майнинга значительно усложняется. Следовательно, для успешного проведения одной из этих атак требуется больше вычислительной мощности, а это повлечет за собой огромные затраты энергии, что сделает ее невыгодной с точки зрения затрат.
Важно отметить, что сеть Биткойн особенно подвержен атакам с двойным расходом во время совершения транзакций и получения 0 подтверждений. Поэтому всегда рекомендуется дождаться не менее 6 подтверждений от сети, чтобы считать транзакцию завершенной без риска ее отмены.
Атаки с двойным расходом могут никогда не исчезнуть, но по мере того, как Биткойн и другие криптовалюты подвергаются атакам, они становятся более устойчивыми к ним. Если вы не принимаете неподтвержденные транзакции, вы можете быть уверены, что ваши транзакции не будут подвергнуты финновской или расовой атаке.
Что касается атак 51%, некоторые говорят, что вам следует взаимодействовать только с криптовалютами, которые никогда не подвергались успешной атаке таким образом. Многие другие скажут, что вы все еще можете использовать эти валюты, если у вас нет средств на миллионы долларов, поскольку только крупные адреса и биржи являются привлекательными целями. При этом, если вы храните значительную сумму на бирже, убедитесь, что это надежная биржа, предпочтительно та, которая также застрахована от потерь.