Согласно белой бумаге Сатоши Накамото, Биткойн был спроектирован как одноранговая форма электронных денег. Это децентрализованные цифровые деньги, которые могут существовать без поддержки со стороны центрального банка или учреждений, принимающих депозиты, платежных систем, необходимых для поддержания рыночной экономики. Он может делать это все сам.
И все это благодаря блокчейну - распределяя ответственность за ведение регистра владения биткойнами сети пользователей в целом, полностью исключая сторонних посредников. Основная проблема для такой децентрализованной валютной системы заключается в том, что она подвержена так называемым двойным расходам.
Что такое двойные расходы?
Двойные расходы происходят в том случае, когда пользователь совершает две транзакции одновременно, тратя одни и те же монеты дважды. Эта проблема не существует с централизованным клирингом и расчетами. Платежи и транзакции совпадают, а остатки взаимозачитываются.
Децентрализованная система нуждается в столь же надежных способах для оплаты платежей. В противном случае, продавцы, биржи и постоянные конечные пользователи могут быть под риском, думая, что им заплатили, когда на самом деле средства были отправлены в другое место.
Как Биткойн решает проблему двойных расходов?
Биткойн решает эту проблему, требуя более половины вычислительной мощности компьютеров в сети проверить каждый пакета (блок) транзакций, используя протокол консенсуса «Proof-of-Work».
Майнеры извлекают транзакции из пула транзакций, ожидая подтверждения и хешируя (объединяя) эту информацию, используя определенный алгоритм. Цель состоит в том, чтобы создать хеш выхода, который удовлетворяет требованию сложности, а именно тому, что хеш должен быть меньше заданного числа.
Первый майнер, создавший хеш, который удовлетворяет требованию сложности (предоставляет доказательство вычислительной работы), передает блок транзакций в сеть для подтверждения. Как только более половины сети подтвердит, что блок действителен, он добавляется в цепочку.
Злоумышленник все еще может попытаться использовать один и тот же идентификатор транзакции для разных транзакций. Но тот, который первым будет включен в действительный блок, считается правильной транзакцией, а другой отбрасывается.
Теоретическая возможность атаки двойных расходов
Несмотря на изобретательность этой системы, двойные расходы Биткойна всегда были теоретически возможны. Злоумышленник может взять под контроль более половины хэш-мощности в сети и использовать ее, чтобы позволить ей совершать транзакции, а затем перезаписывать эти блоки новыми транзакциями, которые возвращают платежи в их собственный кошелек. Это так называемая 51% атака.
Но данная атака всегда считалось маловероятной. Было бы очень дорого, с точки зрения, как оборудования, так и электричества, обеспечить безопасность более половины сети. На практике может быть ограничение на долю вычислительной мощности, которая может быть перенята, особенно в тех сетях, где уже доминирует небольшое количество больших пулов.
Даже если бы такой переворот был возможен, считалось, что публичный характер регистра будет гарантировать то, что другие пользователи будут очень быстро предупреждены о двойных расходах. Узнав об атаке, токен может быть разветвлен или просто продан инвесторами. Таким образом, предполагалось, что любая атака подорвет доверие к валюте и ее цене до такой степени, что она будет полностью саморазрушаемой.
Другими словами, считалось, что ни у кого нет стимула пытаться фальсифицировать регистр, поскольку это приведет к краху рынка и сведет на нет все потенциальные возможности роста.
Реальность такова, что 51%-ые атаки уже происходят
Однако даже в первые годы существования Биткойна возможность успешных двойных расходов была практически возможной. Еще в июне 2014-го года исследователи из Корнелльского университета заметили, что на анонимный майнинговый пул GHash иногда приходилось более половины всей хэш-мощности в сети.
Эти периоды контроля в 51% изначально были недолговечными - недостаточно длинными, чтобы нарушить целостность блокчейна. Но 12 июня, GHash в течение 12 часов управлял контролем, и это достаточно долго, чтобы осуществить двойные расходы.
В то время никаких доказательств этого обнаружено не было, но это высветило уязвимость механизма консенсуса Биткойна. С тех пор больше не было эпизодов 51%-го контроля блокчейна Биткойна. Осуществление этого - непомерно дорого для большинства, хотя, как сообщается, китайский майнер Bitmain находится очень близко к этому.
Небольшие криптовалюты уязвимы для атак
В то время, как большой размер Биткойна затрудняет получение майнером или пулом большей части хэш-мощности, существует множество более мелких криптовалют, которые более уязвимы - либо для групп майнеров, либо даже для отдельных пользователей в случае очень маленьких проектов с низким уровнем хэша.
На самом деле, в этом году было совершено несколько 51% атак. Самым крупным проектом, где была реализована атака, является Bitcoin Gold (BTG), который в настоящее время занимает 21 место по рыночной капитализации (465 миллионов долларов). Биржа Bittrex потребовала, чтобы команда, стоящая за монетой, покрыла убытки биржи. Однако команда не смогла этого сделать, и BTG был исключен из списка торгов Bittrex.
На популярный альткойн Verge (XVG), занимающий 41 место (капитализация в 217 миллионов долларов), также была успешно проведена 51% атака в мае. Monacoin, Zencash и Litecoin Cash также были успешно атакованы в этом году. Все чаще можно услышать о проектах на основе Proof-of-Work, которые подвергаются атакам.
Двойные расходы угрожают целостности всей системы
В этих случаях майнер или группа майнеров защищают более половины хэш-мощности в сети. Затем они начинают добавлять блоки в новую приватную цепочку. Поскольку у него больше хэш-мощности, приватная цепь станет длиннее, чем публичный регистр, которую добывает остальная часть сети.
Средства в публичной цепи отправляются на централизованную биржу, обмениваются на другие валюты и выводятся для безопасного хранения в другом месте. Приватная сеть монеты, которая подвергается атаке, затем транслируется в сеть. Сеть примет это, как честную цепочку, потому что самая длинная цепочка автоматически считается действительной, поскольку она должна быть продуктом наибольшей хэш-мощности.
На новой цепочке первоначальные валютные запасы никогда не расходуются. Таким образом, у злоумышленника теперь есть, как первоначальное владение монет двойных трат, так и другие криптовалюты, которые он снял с биржи. Между тем ,биржа имеет дыру в своем балансе.
Что может быть сделано после успешной атаки?
Есть несколько возможных решений двойных расходов, но большинство из них проблематичны. Возможно отменить все мошеннические транзакции, вернув цепочку в более ранний, законный блок, где двойные расходы еще не произошли.
Проблема здесь заключается в том, что это приведет к перераспределению активов таким образом, что это будет наказывать одних пользователей и приносить пользу другим. Разобрать в сети все транзакции за период, когда была начата атака, чтобы избежать такой произвольной передачи богатства, просто невозможно.
В качестве другого решения, место, где были проведены двойные расходы, можно сделать единым целым, если команда, стоящая за рассматриваемой монетой, возмещает какие-либо убытки. Опять же, это скорее всего неосуществимо. Команды могут быть анонимными, иметь недостаточно средств или просто не сочувствовать бедственному положению пользователей.
Это оставляет открытой возможность того, что места, где проводятся двойные расходы, могут быть технически несостоятельными. В свою очередь, это означает потери для пользователей.
Могут иметь место даже негативные побочные эффекты для цен на другие монеты, если происходит большой удар по уверенности на рынке криптовалют или если способность биржи удовлетворять вывод средств сомнительна.
Что нас ждет в будущем?
Увеличение частоты атак двойных расходов может быть отчасти связано со снижением цен. Более низкие цены означают, что майнинг менее экономичен, в результате чего менее эффективные майнеры выходят из сети. В свою очередь это снижает общий хэшрейт и позволяет злоумышленникам получить половину хэш-мощности. Чем дальше будут падать цены на альткойны, тем больше вероятность того, что атаки будут происходить и далее.
Быстрое повышение вычислительной мощности также повышает вероятность 51%-ых атак, а специализированное майнинговое оборудование может быть оптимизировано под конкретные консенсусные протоколы.
Однако есть несколько причин для надежды. Во-первых, потеря некоторых из менее значимых проектов может быть здоровым развитием. С другой стороны, сейчас существуют альтернативные консенсусные протоколы, которые могут решить эту проблему. Следует отметить, что все вышеупомянутые атаки происходили на блокчейнах, основанных на Proof-of-Work. Некоторые из новых консенсусных протоколов кажутся менее подверженными таким атакам.
Proof-of-Stake - один из таких протоколов, и в топ-100 криптовалют уже есть популярные монеты, использующие этот протокол. Даже Ethereum, криптовалюта номер два по рыночной капитализации, планирует перейти на Proof-of-Stake.
Наш проект BitBay также основан на Proof-of-Stake. Чтобы взять под контроль процесс генерации блоков для BAY, злоумышленнику нужно будет завладеть половиной всех стекинг монет в сети. Потери злоумышленника из-за падения цены на стекинг монеты с большой вероятностью превысят любую потенциальную прибыль. Сравните это с Биткойном. Вредоносный майнер Биткойна вообще не обязан удерживать Биткойны.
На сегодняшний день, насколько известно автору, на монету Proof-of-Stake еще не была произведена атака двойных трат. И хотя это возможно, но даже теоретически гораздо труднее произвести 51%-ую атаку с помощью proof-of-stake, а на практике это вообще финансово не выгодно. На самом деле они должны быть мотивированы чисто деструктивными причинами.
Поэтому, когда вы выбираете свои инвестиции и места их хранения, помните, что монеты Proof-of-Work не защищены от атак. А если вы храните свои монеты на централизованной бирже, будьте готовы их потерять.