Станьте профессионалом в криптоторговле
Узнайте все о криптовалюте, торговле и ботах
Атаки на криптовалюты
За авторством
Попробуйте 3Commas бесплатно
Полный доступ ко всем функциям 3Commas пока длится триальный период
Блокчейн Биткоина по праву считается самой безопасной и надежной системой, в основе которой лежит технология блокчейн, где целостность достигается за счет криптографии. Именно появление Биткоина позволило решить проблему так называемой двойной траты (англ. Double-spending) одних и тех же средств.
Но так как сеть Биткоина и технология блокчейн еще молоды, все же есть уязвимости, которые могут нарушить функционирование сети и привести как к двойной трате средств, так и к более серьезным последствиям.
В этой статье мы поговорим о самых популярных реальных и гипотетических атаках на сети криптовалют.
Потенциально опасными являются атаки:
1) Атака 51%
2) Эгоистичный майнинг
3) Атака Сивиллы
4) Атака Финни
5) Атака одного подтверждения
Атака 51 %
Каждый, кто хоть немного погружался в крипто-пространство, слышал о том, что такая атака способна уничтожить всю сеть. Сатоши Накамото еще в октябре 2008 года в WhitePaper Биткоина указал на возможность развития таких событий и описал почему в сети Биткоина провернуть такое будет невыгодно самому атакующему. За все время существования криптовалют все же были случаи успешных реализаций этой уязвимости. Это указывает на высокий уровень угрозы и масштаб последствий, случись такое с главной криптовалютой.
Функционирование сети Биткоина и любого другого блокчейна, построенного на PoW (Proof of Work), поддерживается майнерами. Майнеры в сети используют вычислительные мощности своих устройств, чтобы поддерживать сеть, получая за это награду в виде новых монет. При чем майнинг — это единственный способ увеличить количество монет в обращении.
Майнинг, как процесс, предназначен, для создания блоков в сети, в которые записывается вся информация о совершенных транзакциях. Созданные блоки выстраиваются в цепочку и формируют блокчейн (англ.blockchain).
Чтобы майнер мог добавить новый блок, ему необходимо провести вычисления определенной сложности, чтобы доказать совершение работы. Но так как майнер в сети не один, ему нужно сделать это быстрее остальных.Чем большим объемом вычислительной мощности обладает майнер, тем выше его шансы добавить блок в цепочку и получить вознаграждение.
В том случае, если майнеру удастся контролировать более, чем 50% вычислительных ресурсов сети, он получит возможностьвзять под контроль всю сеть. В таком случае он получит возможность:
- создавать блоки;
- перестать добавлять информацию о транзакциях;
- отменять транзакции;
- проводить двойную трату средств;
- разделять цепочки блоков;
В истории были случаи успешного проведения атаки 51% на другие блокчейны, построенные на алгоритме PoW. Только в 2018 году с мая по июнь было совершено 6 атак на такие криптовалюты как: Horizen (ZEN), Litecoin Cash (LCC), Bitcoin Gold (BTG), Monacoin (MONA), включая 2 атаки на Verge (XVG).
Эгоистичный майнинг
Для того, чтобы понять что из себя представляет такая атака, необходимо чуть глубже рассмотреть формирование блокчейна.
В процессе майнинга может случиться ситуация, при которой один блок может быть предыдущим для двух новых блоков созданных майнерами. Но как известно, блокчейн — это последовательная цепочка блоков, следовательно, в случае раздвоения цепочки на две параллельные, каждая из ветвей будет равна друг перед другом до тех пор, пока одна из них не станет длиннее, т.е. та цепочка, у которой последний блок появится раньше другой. Такое правило верно, так как прописано в алгоритме.
Исходя из этого, чтобы цепочка была принята за верную, она просто должна стать длиннее конкурентной. Чтобы получить награду за нахождение блока, майнер должен распространять найденный блок по сети быстрее остальных. В противном случае, верной станет конкурентная цепочка.
Эгоистичный майнинг подразумевает действия, при которых атакующий некоторое время зарабатывает больше других участников, не распространяя свой блок по сети быстрее них. Такая атака на сеть является разновидностью атаки «Двойного расходования».
Атака Сивилы
Эта атака была названа в честь случая из клинической психологии, связанного с лечением диссоциативного расстройства личности. Такую атаку теоретически можно провести не только в Биткоине, но и в других одноранговых сетях, где она и распространена.
Биткоин — это сеть подключенных узлов. Возможность атаки строится на том, что достоверно различать узлы в сети невозможно. Поэтому при атаке злоумышленник пытается взять под контроль соседние узлы или запустить свои. А так как нет возможности определить принадлежность таких узлов, то и их количество может быть неограниченным. Получив контроль над узлами, атакующий может:
- блокировать транзакции от других пользователей, отсоединяя узел от общей сети;
- идентифицировать транзакции захваченного узла;
- передавать ложные данные.
В сети Биткоина узлы соединяются случайным образом, поэтому невозможно определить какие узлы будут связаны. Противодействие этой атаке заложено в программную архитектуру Биткоина. Чтобы найти блок и получить монеты, узлу нужно затратить как можно больше ресурсов. Поэтому контролировать большое количество узлов затратно.
За пределами криптовалют, в 2014 году, такую атаку удалось осуществить в сети Tor.
Атака Финни
Предположение о возможности проведения такой атаки высказал первый получатель биткоин-транзакции в 10 BTC от Сатоши Накамото — программист Хэл Финни (Hal Finney). Она имеет несколько разновидностей.
Атакующий, совершая процесс майнинга, находит блоки и записывает в них транзакции, в которых отправляет свои средства на свои же новые адреса. При этом блоки не транслируются в сеть, а формируют секретную цепочку. Затем он отправляет те же средства продавцу, совершая повторную трату средств. Продавец получив средства, передает товар, а атакующий транслирует в сеть свой блок, куда вложена транзакция отправки средств с собственного адреса на новый, при условии, что эта транзакция будет принята раньше.
Чем больше доля вычислительной мощности у атакующего, тем выше вероятность совершения такой атаки.
Именно по причине возможности одной из таких атак, прием или отправка платежей с нулевыми подтверждения могут привести к потере средств. Необходимо дождаться как минимум двух подтверждений в сети, для того, чтобы средства остались в безопасности. Но, даже при наличии двух подтверждений, в некоторых случаях, вероятность осуществления атаки Финни достаточно велика.
Атака «одного подтверждения» или Vector 76
Это очередной тип двойного расходования, описанный на форуме bitcointalk пользователь под ником Vector76. Она сочетает в себе атаку Финни и атаку типа «гонки» (Race Attack).
Принцип Race Attack довольно прост: атакующий отправляет наперегонки две транзакции, которые тратят одни и те же средства. Какая из транзакций будет подтверждена первой, та войдет в блок и окажется верной.
Принцип атаки Vector76 в том, чтобы пожертвовать «найденный» блок и не транслировать его в сеть, а отправить его на узел жертвы. Важными условиями совершения атаки являются: не более одного подтверждения транзакции и разрешение на прием входящих подключений узлом сети.
На сегодняшний день, выполнить оба эти условия довольно сложно, так как всеми крупными кошельками и биржами соблюдаются правила большого числа подтверждений транзакций в сети.
Выводы
Так как Биткоин был первым в своем роде и дал толчок развитию криптоиндустрии, его блокчейн является самым безопасным. Вычислительные мощности, участвующие в процессе майнинга, настолько велики, что сами по себе являются гарантом безопасности сети. Чтобы осуществить хоть одну атаку из описанных в статье, потребуется огромное количество ресурсов, что ставит под сомнение экономическую целесообразность их проведения.
Но это не значит, что каждый из пользователей сети в безопасности. Есть огромное множество других способов украсть средства. Блокчейны, на основе которых построены другие криптовалюты, могут быть подвержены атакам со стороны злоумышленников. Поэтому необходимо обладать базовыми знаниями, чтобы пользоваться криптовалютами и не переживать за их безопасность.