Выпуск Bitcoin Core 0.13.1 состоялся на прошлой неделе, и скоро начнётся голосование майнеров по предлагаемому софтфорку Segregated Witness (SegWit). В случае активации, SegWit принесёт с собой ряд преимуществ, одно из которых – эффективное увеличение вместимости блока, эквивалентное 1.6-2 Мегабайтам, в зависимости от вида включаемых в блок транзакций.
Сразу же после активации Segregated Witness в сети Биткоина, пользователи смогут воспользоваться преимуществами дополнительной пропускной способности, конечно, если к этому будут готовы их кошельки. Таким образом, на первый план выходят операторы кошельков.
25 кошельков на GitHub объявили о своём намерении интегрировать SegWit. Насколько быстро и беспроблемно они смогут это сделать?
Состояние готовности
Согласно наиболее оптимистичным прогнозам, Segregated Witness сможет заработать в сети Биткоина ближе к декабрю. То есть, на обновление программного обеспечения у операторов кошельков будет около шести недель. По мнению большинства операторов, этого времени вполне достаточно. Более того, некоторые провайдеры заявляют, что они уже готовы к интеграции или завершают разработку.
Недавно приобретённый компанией Blockstream кошелёк GreenAddress принадлежит к числу первых кошельков, осуществивших поддержку Segregated Witness ещё в феврале этого года.
Разработчик GreenAddress Лауренс Нэйхэм (Lawrence Nahum) говорит, что пользователи сервиса смогут получать и отправлять транзакции с поддержкой SegWit сразу же после активации софтфорка в сети Биткоина. Впоследствии он планирует оптимизировать кошелёк, используя предлагаемые Segregated Witness возможности, такие как решение MAST, подписи Шнорра и Lightning Network.
«Мне очень хочется воспользоваться всеми преимуществами SegWit», - говорит Нэйхэм, - «я считаю это хорошим толчком по направлению к повышению взаимозаменяемости и конфиденциальности, которые, с моей точки зрения, являются такими же важными – если не важнее – как увеличение пропускной способности».
Что касается готовности самого SegWit, Нэйхэм добавляет: «Интеграция прошла достаточно легко. Все наши главные ветки кошельков на GitHub - для ПК, iOS и Android - уже поддерживают SegWit, а недавно мы закончили тестирование интеграции с аппаратными кошельками, подобными Ledger, чтобы убедиться, что всё работает».
Большинство других операторов кошельков также сообщают, что они будут готовы к интеграции SegWit вскоре после активации софтфорка или спустя какое-то время после неё.
Кошелёк mSigna компании Ciphrex и аппаратный кошелёк Ledger полностью интегрировали Segregated Witness.
Кошелёк BTC.com — ранее известный как Blocktrail — столкнулся с некоторой задержкой, связанной с его недавним приобретением производителем ASIC - компанией Bitmain, однако его представители говорят, что на интеграцию уйдёт не более нескольких недель.
Популярный кошелёк для компьютеров и устройств на базе Android под названием Electrum, будет поддерживать Segregated Witness в следующем крупном релизе, который запланировано провести до конца этого года. Доступный на Android и iOS кошелёк BreadWallet находится в стадии тестирования и предложит SegWit своим пользователям после того, как софтфорк активируется и докажет свою абсолютную безопасность. Кошелёк Mycelium, также доступный на iOS и Android, сообщает о том, что закончена наиболее сложная часть интеграции, и остаётся решить несколько вопросов, связанных с пользовательским интерфейсом.
Платёжный оператор BitPay также подтверждает готовность интегрировать SegWit для своего кошелька Copay и нового кошелька BitPay, однако компания придерживается немного более консервативных взглядов. Руководитель BitPay Стивен Пэйр (Stephen Pair) объясняет, что они приступят к интеграции только после того, как будут полностью уверены, что активация софтфорка действительно состоится.
«Мы на самом деле планируем поддержку SegWit. Срок предоставления этой поддержки будет зависеть от активации софтфорка», - говорит Пэйр, - «когда произойдет активация, нам точно неизвестно, поэтому мы не хотим сейчас тратить время, ведь до момента активации может пройти полгода или год».
Сложность разработки
Для того, чтобы иметь возможность использовать Segregated Witness в качестве софтфорка, разработчики Bitcoin Core приняли решение поместить ссылку на данные подписи в довольно странную часть блокчейна. И, хотя это не делает решение полностью безопасным, в кодовую базу Биткоина добавляется еще один уровень сложности, который не критичен для операторов кошельков.
Большинство сложности «спрятано внутри» библиотек ПО с открытым исходным кодом, на которые полагаются многие кошельки. Некоторые из этих библиотек уже интегрировали поддержку Segregated Witness, а другие должны будут это сделать в течение нескольких недель.
Рубен де Вриз (Ruben de Vries) - разработчик кошелька BTC.com и один из создателей библиотеки Bitcoinjs JavaScript. В BTC.com он также работает с Томасом Керином (ThomasKerin), ведущим специалистом библиотеки Bitcoin-php.
ДеВриз говорит: «Bitcoin-php готова уже несколько месяцев. Bitcoinjs ожидает анализа и обсуждения, поскольку имеются некоторые нарушения в совместимости с предыдущими версиями. Однако, мы сможем подготовить её уже на следующей неделе.
Технически для кошельков перемены очень невелики. Если говорить исключительно о создании и подписании транзакции, SegWit добавляет некоторую сложность, но не очень большую. На самом деле, с настоящими сложностями столкнутся только разработчики полных узлов и проектов».
В целом, разработчики кошельков сходятся на мысли, что, несмотря на некоторые сложности, решение Segregated Witness стоит поддержать.