Что плохого в увеличении размера блока? Этот вопрос не оставляет сообщество Биткоина с тех пор, как в прошлом году споры о возможности такого увеличения накалились до предела.

На своем последнем выступлении на Конференции Биткоин в Швейцарии разработчик Bitcoin Core Джонас Шнелли (Jonas Schnelli) описал как минимум одну из возможных проблем слишком быстрого увеличения размера блока, а именно: влияние, которое окажут большие блоки на неиспользованные ресурсы майнеров. Стоит отметить, что Шнелли решил не придерживаться общепринятого официального мнения относительно размера блока.

В майнинге важна каждая секунда

Необходимо понимать очень важный момент, касающийся майнинга биткоинов – каждая секунда хеширования влияет на возможность получить прибыль. Узлы сети получают новые блоки не моментально. Это значит, что майнеры по крайней мере иногда теряют ресурсы, используя в качестве основы старый блок, который уже не является самым последним. Майнер может работать только над последним блоком в цепочке и только после того, как он узнает о существовании этого блока. 

Во время своего последнего доклада в Цюрихе Шнелли объяснил эту проблему следующим образом:

«2-мегабайтные блоки имеют свои последствия. Китайские майнеры сейчас выступают за 2-мегабайтные блоки. Однако это вполне может обернуться для них проблемой… 

Здесь действительно важна каждая секунда. Когда вы добываете уже непригодный блок, не зная о существовании нового, вы теряете большое количество энергии. Даже если вы майните неверный блок в течение каких-нибудь 10 секунд, вы уже теряете время и ресурсы, и, как следствие, теряете деньги. Вот почему для майнеров важна каждая секунда, а в случае с 2-мегабайтными блоками необходима вдвое большая пропускная способность».

Пользователи Bitcoin Core не впервые обращают внимание на проблему распространения блоков в процессе майнинга. Многие разработчики обсуждали эту проблему на конференции Scaling Bitcoin в Монреале.

Означают ли большие блоки увеличение прибыли для майнеров?

Немногим раньше этого вопроса касался разработчик Bitcoin Core Питер Тодд (Peter Todd). Во время своей презентации на конференции Scaling Bitcoin в Монреале Тодд объяснил, что нечестное распространение блоков становится еще более проблематичным, когда к делу подключается Великий китайский файрволлл.

Благодаря Великому файрволлу китайские майнеры часто обнаруживают новые блоки раньше майнеров из других стран (особенно из находящихся в другом полушарии Соединенных Штатов). Поскольку сейчас Китаю принадлежит большая часть  мощности сети, майнеры из других стран в конечном итоге теряют часть прибыли. Это происходит потому, что в большинстве случаев находящиеся за пределами Китая майнеры узнают о новых блоках позднее майнеров, находящихся в Китае. То есть майнеры всего остального мира тратят на уже обнаруженные блоки большее количество ресурсов.

Чтобы проиллюстрировать свою точку зрения, Тодд привел в пример некоторые проведенные ранее исследования:

«У нас есть различные результаты моделирования. Очень серьезным и успешно работающим результатом является предложение Петера Вюлле (Pieter Wuille), которое мы тестируем. Уже доказано, что люди, которые не присоединились к этой группе, зарабатывают примерно на восемь процентов меньше». 

Тодд отмечает, что в реальности потери не так велики благодаря "релейной сети Биткоина", созданной инженером Blockstream и разработчиком Bitcoin Core Мэттом Коралло (Matt Corallo). Необходимо также учитывать то, что с предложением Петера Вюлле тестировались 20-мегабайтные блоки.

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

На конференции Scaling Bitcoin в Гонконге один из основателей Bitcoin Classic Джонатан Тумим (Jonathan Toomim) также говорил о проблемах, касающихся распространения больших блоков. Его эксперименты основывались на исключенном сейчас предложении BIP 101, и он пришел к выводу, что увеличение блока до 8 мегабайт не приемлемо. Во время проведения тестов он обнаружил, что если участники находятся по разные стороны Великого китайского файрволла, то для отправления информации в другой пир им требуется от 15 до 150 секунд.

На проведенном Bitcoin Foundation мероприятии DevCore, которое состоялось в октябре прошлого года, разработчик Bitcoin Core Грегори Максвелл (Gregory Maxwell) объяснил, что майнинговый пул, который узнает о новом блоке предпоследним, на данный момент теряет 5% прибыли.

Между прочим, в майнинге Биткоина существует теоретическая уязвимость, известная как корыстный (или эгоистичный) майнинг. Это происходит, когда майнер решает не оповещать других об обнаруженном блоке, оставляя за собой преимущество при поиске следующего блока. Таким образом, он может получить небольшой "джекпот" из двух блоков сразу и заставить других потратить больше времени. Шансы на успех такого маневра достаточно велики у крупнейших пулов.

Решения проблемы распространения блоков

Для устранения проблемы распространения блоков в сети Биткоина предлагается несколько решений. Используемая сейчас дорожная карта Bitcoin Core имеет два решения: инвертируемые цветные таблицы поиска (IBLTs) и слабые блоки. Согласно сайту Bitcoin Core, обе эти характеристики могут предложить 90% сокращение критической пропускной способности при перенаправлении блоков, что позволит более безопасное увеличение размера блока.

Еще два решения были предложены разработчиком Bitcoin Classic Гэвином Андресеном (Gavin Andresen). Они подразумевают использование широковещательной UDP-передачи заголовков блоков и непроверяемого майнинга. Статья об этих опциях была опубликована недавно в блоге консультанта по безопасности Bitcoin Сержио Лернера (Sergio Lerner). 

Существуют и другие варианты устранения данной проблемы, однако, если основываться на дорожной карте Bitcoin Core, наиболее подходящими решениями все же являются IBLTs и слабые блоки, и именно они будут реализовываться в первую очередь.

Следует также упомянуть, что, как подчеркнул недавно старший партнер Blockchain Capital Брок Пирс (Brock Pierce), контроль Китая над большинством мощности хэширования не может продолжаться вечно.

Масштабирование Биткоина – непростая задача

Одним из последних моментов, на которые обратил внимание Шнелли на швейцарской конференции, является то, что сама по себе проблема масштабируемости вовсе не так проста, как некоторые склонны думать.

Шнелли отметил:

«Пока вы не коснулись технических основ, очень легко говорить: «увеличьте размер блока». Конечно, звучит заманчиво. Понятно каждому. Однако существуют гораздо лучшие решения, над которыми нужно хорошенько поработать». 

Так же как многие другие участники разработки Bitcoin Core, в качестве реальной альтернативы простого увеличения размера блока Шнелли рассматривает Segregated Witness (SegWit). Однако, как уже неоднократно отмечалось, прмменение SegWit с сохранением размера блока только отсрочит необходимость решения, но не решит проблему окончательно.