395. Столько долларов США давали в эти выходные за 1 (один) биткойн. Весенний рекорд — двести с копейками — был прорван весело, динамично и, как и раньше, без видимых причин. Держите сколько-то биткойнов и считаете, что настал момент «выйти в кеш»? Самый дешёвый способ конвертировать криптовалюту в любую из классических — воспользоваться сервисами по поиску локальных покупателей/продавцов (скажем, localbitcoins.com). Но можно и не спешить. Давно уже дано обоснование шестизначному прогнозу и постоянно появляются новые доводы: сейчас, к примеру, в моде теория, что привлекательность Bitcoin для инвесторов в качестве убежища при бегстве от рисков должна в некотором смысле сравняться с привлекательностью золота, а это означает минимум 37 килобаксов за 1 BTC. Четырёхзначка же (тысяча долларов за биткойн) теперь и вовсе не за горами, туда можно доехать на одной вере, на чистой психологии.

Впрочем, постоянные читатели знают, что лично я считаю инвалютный курс биткойна фактором второстепенным, — и произошедшее в последние дни моей уверенности не поколебало. Bitcoin — не золото, не бесполезные (практически) бриллианты, это прежде всего уникальный по возможностям бизнес-инструмент. А потому намного важнее то внимание, что уделяется криптовалюте публикой. Не имеет особого значения, движется ли курс вверх или вниз и сколько в абсолютном выражении дают за биткойн-единицу в конкретный момент времени: главное, чтоб о Bitcoin не забывали, а тогда найдутся новые пользователи, которые расширят существующие и предложат новые применения (см. «Три друга, монета и конфета»). Ну а попутно, по мере роста востребованности криптовалюты, неизбежно будет расти и её курс: ведь эмиссия биткойнов небесконечна (объём биткойн-массы ограничен 21 миллионом BTC), а взломать лежащий в основе системы алгоритм пока никому не удалось.

Но именно что — пока! И об этом мы сейчас поговорим. Ведь за последние дни случилось ещё кое-что, помимо броска цены. А именно предложен несложный способ манипуляции механизмом эмиссии новых биткойн-единиц, способный принести весомую выгоду своим сторонникам и привести к потере «демократической» сущности Bitcoin.

111113-1

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

Но к чему же тогда эта оговорка — «почти»? Дело в том, что, как и во всех P2P-структурах (каковой Bitcoin безусловно является, ибо в ней участники уравнены в правах), в Bitcoin есть минимум одна лазейка, дающая умозрительный шанс заставить систему выполнить «некорректную операцию».

Как известно, задача сбора, проверки свежих денежных переводов и занесения их в общий список транзакций возложена на так называемых майнеров. Эти участники собирают сведения о неучтённых (сделанных только что, в основном за последние 10 минут) транзакциях, решают, опираясь на собранную информацию, некоторую математическую задачу, требующую значительных усилий, и тот из майнеров, кому удаётся решить задачу первым, получает почётное право вписать собранные транзакции в общий список. А также зачислить на свой кошелёк некоторую сумму (25 BTC плюс комиссионные со всех зарегистрированных переводов).

Последние два года майнеры имеют обыкновение сбиваться в группы — пулы — для совместного труда. Вопреки распространённому заблуждению, денежного преимущества участие в пуле не даёт: действительно, участники пула с большей вероятностью могут решить упомянутую выше задачу (вероятность решения которой для каждого участника случайна, но прямо пропорциональна его вычислительной мощности), однако ведь и выигрыш приходится делить на всех. Так что даже сегодня можно «майнить» в одиночку, но ждать выигрыша, возможно, придётся несколько лет. Короче говоря, участие в пуле просто делает доход более предсказуемым — и это привлекает новых участников. Вычислительная мощь крупнейших майнинговых пулов — таких как BTCGuild, Ghash.IO и других — составляет от нескольких процентов до 29% суммарной мощности всех майнеров Bitcoin.

111113-2

Так вот, «лазейка» проста: если под вашим контролем окажется больше половины майнинговой мощности Bitcoin, вы сможете вертеть системой почти как захотите. К примеру, потратить с кошелька больше, чем в нём содержится. Главное — успеть обналичить неправедно нажитое, прежде чем атака вскроется и курс рухнет до нуля либо размер находящейся в вашем распоряжении вычмощи уменьшится ниже контрольных 50%. Впрочем, чисто экономически вы заработаете больше, если вместо мошеннических действий просто употребите имеющиеся у вас мощности на майнинг. Целью такой атаки может быть разве что дестабилизация всей системы Bitcoin, что сужает круг потенциальных атакующих до спецслужб крупнейших государств.

Так считалось до сих пор. Но теперь кое-что изменилось. На прошлой неделе двое исследователей из США (Cornell University) опубликовали работу, в которой показали, что даже сравнительно небольшая группа майнеров способна зарабатывать больше, чем им полагается согласно здравому смыслу и теории вероятностей. Они назвали свою стратегию Selfish mining, то есть буквально эгоистическим майнингом.

Вообразите пул, участники которого договорились работать тайно, то есть не оповещая «честных» соперников (тех, кто майнит классическим образом) о найденных решениях. Поскольку шансы найти решение очередной 10-минутной задачки для всех равны, неизбежно настанет момент, когда «эгоистам» удастся отыскать лучшее решение, чем их честным конкурентам (несколько упрощая, решение считается лучшим, если в нём содержится больше транзакций). Фишка в том, что если обнародовать такое решение не сразу, а некоторое время спустя — продолжив решать уже следующие задачи, — правила Bitcoin заставят аннулировать менее удачные решения честных майнеров и заместить их более удачными решениями майнеров-эгоистов.

Я упростил алгоритм, чтобы не потеряться в нюансах, но в общем и целом выгода должна быть понятна: периодически (и чем больше пул-эгоист, тем чаще) решения честных майнеров будут аннулироваться, а победа (а значит, и вознаграждение, и комиссии) — доставаться пулу-эгоисту. Согласно теоретическим выкладкам, даже если в таком пуле будет всего один участник, он — в среднем, в перспективе — тоже получит преимущество. С ростом же мощности пула-эгоиста диспропорция будет нарастать нелинейно быстро. Поскольку присоединиться к такому пулу действительно выгодно, он быстро станет самым крупным майнинг-пулом в системе Bitcoin и уже после 33% от совокупной мощности всей системы (вместо 50%, предполагавшихся ранее) узурпирует власть.

111113-3

К счастью, этот фундаментальный дефект можно в значительной степени исправить. Для этого следует внести в протокол Bitcoin небольшую (и непринципиальную для обратной совместимости) поправку: майнеры должны считать лучшим решение не самое длинное, а случайное. В таком случае пул-эгоист сможет получать выгоду, лишь превзойдя по мощности 25% всей системы. К сожалению, как отмечено выше, пулы с такими возможностями уже существуют — а значит, и атака всё равно возможна.

Что же остаётся? Только воззвать к патриотизму биткойн-майнеров: не сбивайтесь в слишком большие пулы! О том, что вы участвуете в пуле-эгоисте, вы можете и не узнать: похоже, для этого достаточно модифицировать программное обеспечение только на узле-координаторе пула.

Как видите, вывод неутешительный. Исключить формирование эгоистического пула принципиально невозможно. Правда, совсем не факт, что появление его приведёт к краху Bitcoin: ведь майнерами-эгоистами движет тот же шкурный интерес, что и их соперниками, — а значит, они будут заинтересованы в продолжении нормального функционирования Bitcoin. Но после преодоления черты в 33% мощности приём новых членов в такой пул будет разумно прекратить, то есть биткойн-майнинг (и получение связанных с ним прибылей) превратится в удел немногих, станет привилегией, которую будут продавать и передавать по наследству. Дальше лично я рассуждать не возьмусь. Есть идеи?

В статье использована иллюстрация Antana.