Коллектив Авторов - Цифровой журнал «Компьютерра» № 199
Но к чему же тогда эта оговорка — «почти»? Дело в том, что, как и во всех P2P-структурах (каковой Bitcoin безусловно является, ибо в ней участники уравнены в правах), в Bitcoin есть минимум одна лазейка, дающая умозрительный шанс заставить систему выполнить «некорректную операцию».
Как известно, задача сбора, проверки свежих денежных переводов и занесения их в общий список транзакций возложена на так называемых майнеров. Эти участники собирают сведения о неучтённых (сделанных только что, в основном за последние 10 минут) транзакциях, решают, опираясь на собранную информацию, некоторую математическую задачу, требующую значительных усилий, и тот из майнеров, кому удаётся решить задачу первым, получает почётное право вписать собранные транзакции в общий список. А также зачислить на свой кошелёк некоторую сумму (25 BTC плюс комиссионные со всех зарегистрированных переводов).
Последние два года майнеры имеют обыкновение сбиваться в группы — пулы — для совместного труда. Вопреки распространённому заблуждению, денежного преимущества участие в пуле не даёт: действительно, участники пула с большей вероятностью могут решить упомянутую выше задачу (вероятность решения которой для каждого участника случайна, но прямо пропорциональна его вычислительной мощности), однако ведь и выигрыш приходится делить на всех. Так что даже сегодня можно «майнить» в одиночку, но ждать выигрыша, возможно, придётся несколько лет. Короче говоря, участие в пуле просто делает доход более предсказуемым — и это привлекает новых участников. Вычислительная мощь крупнейших майнинговых пулов — таких как BTCGuild, Ghash.IO и других — составляет от нескольких процентов до 29% суммарной мощности всех майнеров Bitcoin.
Так вот, «лазейка» проста: если под вашим контролем окажется больше половины майнинговой мощности Bitcoin, вы сможете вертеть системой почти как захотите. К примеру, потратить с кошелька больше, чем в нём содержится. Главное — успеть обналичить неправедно нажитое, прежде чем атака вскроется и курс рухнет до нуля либо размер находящейся в вашем распоряжении вычмощи уменьшится ниже контрольных 50%. Впрочем, чисто экономически вы заработаете больше, если вместо мошеннических действий просто употребите имеющиеся у вас мощности на майнинг. Целью такой атаки может быть разве что дестабилизация всей системы Bitcoin, что сужает круг потенциальных атакующих до спецслужб крупнейших государств.
Так считалось до сих пор. Но теперь кое-что изменилось. На прошлой неделе двое исследователей из США (Cornell University) опубликовали работу, в которой показали, что даже сравнительно небольшая группа майнеров способна зарабатывать больше, чем им полагается согласно здравому смыслу и теории вероятностей. Они назвали свою стратегию Selfish mining, то есть буквально эгоистическим майнингом.
Вообразите пул, участники которого договорились работать тайно, то есть не оповещая «честных» соперников (тех, кто майнит классическим образом) о найденных решениях. Поскольку шансы найти решение очередной 10-минутной задачки для всех равны, неизбежно настанет момент, когда «эгоистам» удастся отыскать лучшее решение, чем их честным конкурентам (несколько упрощая, решение считается лучшим, если в нём содержится больше транзакций). Фишка в том, что если обнародовать такое решение не сразу, а некоторое время спустя — продолжив решать уже следующие задачи, — правила Bitcoin заставят аннулировать менее удачные решения честных майнеров и заместить их более удачными решениями майнеров-эгоистов.
Я упростил алгоритм, чтобы не потеряться в нюансах, но в общем и целом выгода должна быть понятна: периодически (и чем больше пул-эгоист, тем чаще) решения честных майнеров будут аннулироваться, а победа (а значит, и вознаграждение, и комиссии) — доставаться пулу-эгоисту. Согласно теоретическим выкладкам, даже если в таком пуле будет всего один участник, он — в среднем, в перспективе — тоже получит преимущество. С ростом же мощности пула-эгоиста диспропорция будет нарастать нелинейно быстро. Поскольку присоединиться к такому пулу действительно выгодно, он быстро станет самым крупным майнинг-пулом в системе Bitcoin и уже после 33% от совокупной мощности всей системы (вместо 50%, предполагавшихся ранее) узурпирует власть.
К счастью, этот фундаментальный дефект можно в значительной степени исправить. Для этого следует внести в протокол Bitcoin небольшую (и непринципиальную для обратной совместимости) поправку: майнеры должны считать лучшим решение не самое длинное, а случайное. В таком случае пул-эгоист сможет получать выгоду, лишь превзойдя по мощности 25% всей системы. К сожалению, как отмечено выше, пулы с такими возможностями уже существуют — а значит, и атака всё равно возможна.
Что же остаётся? Только воззвать к патриотизму биткойн-майнеров: не сбивайтесь в слишком большие пулы! О том, что вы участвуете в пуле-эгоисте, вы можете и не узнать: похоже, для этого достаточно модифицировать программное обеспечение только на узле-координаторе пула.
Как видите, вывод неутешительный. Исключить формирование эгоистического пула принципиально невозможно. Правда, совсем не факт, что появление его приведёт к краху Bitcoin: ведь майнерами-эгоистами движет тот же шкурный интерес, что и их соперниками, — а значит, они будут заинтересованы в продолжении нормального функционирования Bitcoin. Но после преодоления черты в 33% мощности приём новых членов в такой пул будет разумно прекратить, то есть биткойн-майнинг (и получение связанных с ним прибылей) превратится в удел немногих, станет привилегией, которую будут продавать и передавать по наследству. Дальше лично я рассуждать не возьмусь. Есть идеи?
В статье использована иллюстрация Antana.
К оглавлению
Гид
Социальная читалка новостей Flipboard наконец стала доступна для Windows 8.1
Михаил Карпов
Опубликовано 15 ноября 2013
Приложение Flipboard стало в своё время революционным и полностью изменило то, как люди читают новости. Сначала оно появилось на iPad, после пары лет — на Android, а теперь, наконец, и владельцы устройств на основе Windows 8.1 могут воспользоваться им.
http://www.youtube.com/watch?v=vRBDLGBFVTc
Как и в других версиях, это приложение позволяет читать новости, статьи и рассматривать другой контент из подписок пользователя, а также из предложений Flipboard. Программа полностью переделана для Windows и потому поддерживает всевозможные специальные жесты.
Например, взмахом вверх можно подписаться, обновить контент, а также отредактировать его, а взмахом вниз — посмотреть дополнительный контент или выборку того, что читают сотрудники Flipboard. Приложение также можно использовать в режиме деления экрана для двух программ.
К оглавлению