На этой неделе Биткоин попал в очередной шторм. Сегодня начался обещанный третий этап уже знакомого нам спам-теста, но гораздо более изощренным способом. Теперь расскажем о главном немного подробнее.

"Принуждение к хардфорку" с раздачей слонов

Еще в конце августа не лучшим образом известная сообществу якобы британская компания Coinwallet объявила, что 10 сентября в 10:00 UTC (13:00 МСК) она начнет третье испытание на прочность сети Биткоина. И оно действительно началось, но не так просто, как раньше, а с интригой. 

Первая попытка в июне закончилась неудачей из-за повисшего сервера. Вторая, в июле, была более успешной и немало потрепала нервы сообществу и бизнесу. Очередь неподтвержденных транзакций в пиках превышала 50 000 штук и "рассасывалась" еще несколько дней после окончания атаки. Но этого оказалось недостаточно, и теперь проходит третий этап.

3 сентября прошел "предварительный забег", в результате которого, по словам представителя Coinwallet, назвавшегося Джеймсом Уилсоном (James Wilson) была создана двухдневная задержка для прохождения транзакций, а общий объем очереди составил 50 Мб. Однако, большая часть пользователей Биткоина этой атаки даже не заметила - задерживались только бесплатные или почти бесплатные транзакции, все остальные сеть смогла быстро обработать.

На этот раз Coinwallet заявил, что будет использовать в массированной атаке микротранзакциями 20 серверов, которые будут пересылать друг другу по 0.0001 BTC (плюс столько же на комиссию). Общая сумма переводов составит около 150 BTC, из которых половина уйдет в награду майнерам. Несложный подсчет дает нам примерное количество - 750 000 транзакций. На этот раз, штурм подготовлен более тщательно. Каждая транзакция содержит по 20 входов, таким образом ее размер составит около 3 Кб. Чтобы заполнить блок, нужно примерно 323 таких транзакции. Таким образом, только на переработку транзакций Coinwallet при максимальном заполнении блоков, сети потребуется более 2300 блоков, что в среднем займет 16 суток!

С учетом всех остальных транзакций и неполного использования объема блоков, "тестировщики" попытаются создать очередь из транзакций со стандартной комиссией длиной в 30 суток и объемом в 200 Мб. По словам все того же Уилсона, Coinwallet не хочет свалить сеть окончательно. Их главная задача - доказать то, что текущая реализация Биткоина крайне уязвима и нуждается в немедленных улучшениях, и в первую очередь - увеличении размера блока. Озвучена даже поддерживаемая компанией версия этих изменений. Coinwallet считает, что самым лучшим решением будет внедрение BIP101 - предложения Гэвина Андресена и Майка Херна.

Но это еще не самое интересное. Вчера на Bitcointalk и Reddit появились сообщения, в которых пользователь под ником coinwallet.eu объявил, что стресс-тест отменяется, а вместо него, якобы в награду сообществу "за беспокойство", будет проводиться раздача биткоинов на немалую сумму - 200 BTC. А тот самый Джеймс Уилсон разослал письма нескольким известным ресурсам, где излагалась та же идея. И в самом деле, в самом начале было выложено 5 закрытых ключей, в которых якобы находилось около 0.53 BTC. А за прошедшие сутки Coinwallet "поделился" с пользователями еще несколькими сотнями ключей, которые тут же бросились импортировать сотни или даже тысячи посетителей этих ресурсов.

Вот несколько из этих адресов:

1MAT5GToY7zoCmADySMCbxtVm69nPggzyM

1JaWWAgfiE54KSW4KP6iAHko1Mab73YFVh

1Btg4XGYXPA89GHJQhesmADafWNrQzJQMi

1JPRce79Yu5HwQ54GAGFBC7m59Sq7DjBvj

1PrMPFYUV9VeWPvX5kL6Tscik4rMueLcWa

Биткоин атакует себя сам

Так что же произошло? "Плохие парни" раскаялись, вежливо извинились перед сообществом и раздают подарки, чтобы загладить вину? Хотелось бы в это поверить, но реальность оказалась гораздо интереснее. Дело в том, что все указанные выше адреса, выбранные случайным образом после импорта ключей, а значит и все остальные, принимали участие в предыдущих стресс-тестах, начиная с июля! По некоторым из них совершено более 50 000 транзакций! В частности, наличие этих адресов у Coinwallet доказывает и то, что атаку в июле проводила именно эта компания, хотя и не брала на себя ответственность.

Некоторые члены сообщества уже поняли в чем суть, но большинство все еще продолжает импортировать ключи в надежде получить биткоины даром. А халяве, как и любви, покорны все возрасты и все народы.

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

Что же происходит?  Ключи с соответствующими адресами импортировали сотни, а возможно тысячи посетителей Reddit и Bitcointalk - ресурсов весьма популярных среди пользователей криптовалют. И когда отправленные спамерами сатоши появляются на балансе - все, кто импортировал и мониторит этот адрес, тут же пытаются перевести их себе, пока подачка не досталась другим. 

То есть, уже не спамеры, а сами "добропорядочные граждане" сети генерируют великое множество параллельных транзакций, большая часть из которых, естественно, распознаются как попытки даблспенда и уходят в никуда. Прорывается только одна, самая быстрая. Но и прошедшие, и отвергнутые транзакции увеличивают трафик. Таким образом, уже не организаторы этой акции, а сами пользователи продолжают спамить сеть. Атака, очевидно, продолжится до тех пор, пока большая часть запланированных к стресс-тесту биткоинов не будет потрачена.

Рассчитывать на то, что все пользователи проявят сознательность и перестанут импортировать все новые и новые адреса и совершая транзакции, не приходится. Ведь многие даже ради нескольких тысяч сатоши готовы безвозвратно тратить часы своей жизни. Каждую минуту, прочитывая новости на сайтах и форумах, к спектаклю присоединяются все новые актеры.

Coinwallet - кто это?

лого

Очень нетривиальный стресс-тест, одновременно на техническую прочность сети и на жадность сообщества, проводит сейчас компания Coinwallet. Кто же на самом деле ей управляет? Никто еще не сказал, что является пользователем ее кошелька или совершает на ней обмен. "Джеймс Уилсон" ведет переписку только по почте и скорее всего так же виртуален, как Сатоши Накамото. На данный момент ни один реальный сотрудник компании неизвестен. 

Однако, она открыто и упорно поддерживает именно BIP101 и всеми силами пытается доказать необходимость внедрения в Биткоин предложения Майка Херна и Гэвина Андресена.

Но насколько эффективна эта поддержка? После того, что происходит сейчас, вся положительная репутация Coinwallet, если вообразить что она была, будет полностью утеряна. А значит, своими действиями эти люди не столько поддерживают, сколько дискредитируют BIP101.

Из какого же они лагеря? Возможно, когда-нибудь мы это узнаем. На данный момент информации недостаточно. Но для активистов теперь появляется широкое поле деятельности - выяснение того, кто на самом деле стоит за этими последовательными атаками, может окончательно сдвинуть баланс сил в пользу одного из предложений по изменению размера блока.