Ближайшие несколько недель — одни из самых интересных как в истории биткоина, так и криптовалют вообще. Если все пройдет по хорошему сценарию, то биткоин просто станет удобнее — но обычные пользователи изменения вряд ли увидят. А вот если реализуется плохой сценарий, биткоин разделится на несколько альтернативных валют с единой историей, а часть сделок, совершенных во время переходного периода, будет отменена. «Медуза» разобралась, что к чему, и попыталась объяснить грядущую реформу максимально понятно.
Когда биткоин только запустился, никто не мог представить, насколько валюта будет популярной. Казалось, что формирование нового блока объемом до одного мегабайта раз в десять минут будет удовлетворять нужды всех, кто хотел пользоваться этой экзотической валютой. На самом деле «места» в блоках стало не хватать. По некоторым расчетам, при среднем максимальном значении в четыре тысячи транзакций в одном блоке биткоин обрабатывает лишь около 7 транзакций в секунду. Для сравнения, Visa и MasterCard обрабатывают каждую секунду около двух тысяч транзакций.
Из-за роста числа сделок прохождения одной транзакции порой приходится ждать несколько дней, и многое зависит от того, сколько вы готовы потратить, чтобы майнеры обработали вашу транзакцию в приоритетном порядке (владельцы биткоинов могут добровольно установить для своих платежей размер специальной комиссии, который достанется майнеру, включившему вашу транзакцию в новый блок).
Решение проблемы заключается в том, чтобы изменить или размер блока, или информацию, которая вносится в блок, — с этим согласны все, кто работает с биткоинами. Сложность в том, что есть несколько конкурирующих идей, как именно это делать, а единого центра принятия решений нет.
Биткоин — принципиально децентрализованная система. Чтобы реализовать любой из вариантов и сохранить биткоин в виде единой криптовалюты, необходимо достичь согласия ключевых участников: крупнейших майнеров, авторитетных разработчиков, популярных бирж и кошельков. Майнеры должны начать генерировать новые нестандартные блоки, а разработчики и владельцы кошельков и обменных площадок — обеспечить их поддержку для клиентов.
Разработчики против майнеров
У простого увеличения размера блока есть один недостаток: для некоторых транзакций зависимость сложности вычисления от размера блока не линейная, а квадратичная. Следовательно, у мелких майнеров может перестать хватать мощности на вычисления, и биткоины станут генерировать и обрабатывать только крупные игроки.
Разработчики предложили другой путь — Segregated Witness, или SegWit. Максимальный размер блока остается прежним — до 1 мегабайта, но часть информации из него изымается в дополнительный блок, который располагается сразу за основным. При этом старые узлы сети (без поддержки SegWit) видят лишь основной блок и считают его правильным, несмотря на изъятую информацию. Такой подход не только решает проблему с перегруженностью системы, но и позволяет использовать биткоин в новых областях вроде умных контрактов, защищает от некоторых атак и повышает эффективность вычислений.
Еще в декабре 2015 года разработчики выпустили предложение об усовершенствовании биткоина (Bitcoin Improvement Proposal) — BIP141, предложив переключиться на SegWit, но только тогда, когда майнеры, обеспечивающие 95% всех вычислений в сети, просигнализируют о готовности использовать новую технологию. Для перехода хотя бы в 1916 из 2016 новых блоков (учитывая, что блок появляется раз в 10 минут, это означает «в течение двух недель») майнеры должны включить специальный первый сигнальный бит. На эту процедуру отвели один год — с 15 ноября 2016 года до 15 ноября 2017 года, до этого ее отлаживали на тестовой сети. Поддержка новой технологии появилась примерно в 80% используемого программного обеспечения, но лишь 40–45% майнеров просигнализировали о готовности активировать SegWit — остальные решили подождать других вариантов решения проблемы.
Так выглядит крупная майнинговая фабрика в Исландии
Jemima Kelly / Reuters / Scanpix / LETA
Некоторые пользователи биткоина, недовольные сложившейся ситуацией, придумали, как заставить майнеров активировать поддержку SegWit. В опубликованном в марте 2017 года BIP148 владельцам обменных площадок, кошельков и другим пользователям предлагалось начать игнорировать новые блоки без первого сигнального бита. Майнеры могли продолжить генерировать такие блоки, но если к кампании присоединилось бы «экономическое большинство» сети биткоин, то новые намайненные биткоины стало бы трудно продать. У майнеров появился бы экономический стимул включить сигнальный бит в своих блоках. Старт акции запланировали на 1 августа 2017 года.
Крупные майнеры, которые не видят ничего страшного в том, чтобы увеличить размер блока, восприняли это предложение как угрозу и решили сыграть на опережение. Компании, обеспечивающие больше 80% вычислительной мощности сети биткоин, заключили в мае Нью-йоркское соглашение (New York Agreement). Они договорились перейти на использование похожей технологии, которая называется SegWit2x: сначала они хотят внедрить поддержку SegWit, а через три месяца увеличить размер базового блока с 1 до 2 мегабайт. Так как представители Bitcoin Core — разработчика основного программного обеспечения биткоина — отказались участвовать во встрече, то на основе их открытого кода майнеры решили создать собственное ПО — btc1.
Для внедрения своей идеи майнеры предложили альтернативный путь, описав его в документе BIP91. Сначала они также должны включить сигнальный бит (правда, другой — четвертый) хотя бы в 269 из 336 блоков (то есть на протяжении двух суток и 8 часов). Достижение этой цели означало бы, что не менее 80% майнеров присоединились к кампании. Еще 336 блоков спустя все майнеры должны будут начать использовать первый сигнальный бит. Блоки без такого бита будут игнорироваться, их в принципе не включат в общую цепочку из-за поддержки акции большинством майнеров. Если майнеры успеют провернуть эту схему до 1 августа, то BIP148 окажется бессмысленным.
Что теперь будет
Сейчас судьба биткоина в первую очередь зависит от того, насколько расторопными и честными окажутся майнеры. Нью-йоркское соглашение, по сути, дает право вето Bitmain — компании, обеспечивающей около 20% всех вычислений в сети биткоин. Эта компания уже разработала и обнародовала собственный план защиты от BIP148 на случай провала совместных усилий майнеров. Он подразумевает создание собственной ветви биткоина — Bitcoin ABC. Чтобы не запутаться в возможных вариантах исхода, эксперты составили таймлайн ключевых дат. Вот они:
* 21 июля. Старт инициативы майнеров BIP91. С этого дня узлы, работающие на ПО btc1, включают четвертый сигнальный бит. Если к акции сразу подключатся все майнеры, подписавшие Нью-йоркское соглашение, то уже с 25 июля в блокчейне биткоина не будет новых блоков, которые бы не сигнализировали о поддержке технологии SegWit. В таком случае разветвления биткоина не произойдет по крайней мере до середины осени и внедрения технологии SegWit2x.
* 29 июля. Дедлайн для BIP91. Если к этому дню не будут сгенерированы 269 из 336 блоков с включенным четвертым битом, то майнеры до 1 августа не успеют перевести блокчейн биткоина на создание блоков, сигнализирующих о поддержке Segwit, и предотвратить старт BIP148.
1 августа. Запуск кампании пользователей BIP148. Часть майнеров уже подтвердила готовность поддержать эту инициативу и генерировать блоки с поддержкой SegWit. Разветвления блокчейна не произойдет, если к кампании присоединятся майнеры, обеспечивающие хотя бы 51% вычислительной способности сети. В противном случае появится две ветви, функционирующие по старым (Legacy Bitcoin) и по новым (148 Bitcoin) правилам. Если через некоторое время после разветвления на сторону 148 Bitcoin переметнется большинство майнеров, то блокчейн восстановится, а ветвь Legacy Bitcoin со всеми записанными в ней транзакциями будет признана недействительной.
4 августа. Крупнейший майнер Bitmain может представить собственный hard fork биткоина с увеличенным размером блока — Bitcoin ABC. Компания предупредила, что начнет майнить новую ветку через 12 часов после старта BIP148, но первые трое суток будет это делать самостоятельно. Bitmain примет решение о размежевании с основной веткой в зависимости от успехов кампании BIP148 и ситуации на рынке криптовалют.
15 августа. Возможный hard fork биткоина от сторонников BIP148 — NewPoW Bitcoin. В случае если поддержка кампании BIP148 со стороны майнеров окажется ничтожной, то разработчики могут поменять механизм генерации новых блоков. Специализированное оборудование крупнейших майнеров окажется бесполезным, а рынок майнинга новых биткоинов окажется децентрализованным — майнить снова смогут обычные пользователи на своих домашних компьютерах с использованием процессоров и видеокарт.
Середина августа. В худшем случае к этому времени будут сосуществовать все четыре ветви биткоина: Legacy Bitcoin, 148 Bitcoin, Bitcoin ABC и NewPoW Bitcoin.
Конец августа — середина сентября. В случае успеха кампании BIP91 или BIP148 в это время биткоин перейдет на использование блоков, сгенерированных по технологии SegWit.
Конец октября — середина ноября. В случае успеха кампании BIP91 произойдет hard fork сети биткоин, блоки в новой ветви начнут генерироваться по технологии SegWit2x.
Что делать обычным пользователям
В случае запуска кампании BIP148 стоит на некоторое время прекратить все транзакции до тех пор, пока не выяснится, кто одержал верх в противостоянии. В противном случае вы рискуете тем, что ваши сделки через некоторое время могут оказаться недействительными. В случае разделения биткоина на несколько независимых ветвей должны появиться кошельки, которые позволят потратить ваши сбережения в каждой из веток отдельно. Но сначала договоритесь, в каких именно биткоинах вы будете заключать сделку.
Hard fork
Этот термин означает жесткое разделение блокчейна, которое разрешает ранее недопустимые блоки. Мягкое разделение (soft fork) меняет существующие правила, запрещая определенный тип ранее разрешенных блоков. Увеличение размера блока — это hard fork, а переход на SegWit — soft fork.