Прошедшие выходные ознаменовались очередным промежуточным релизом клиента Bitcoin Core - 0.14.1. Ниже представлен краткий обзор изменений, появившихся в новой версии.
Поддержка SegWit
Пожалуй, самое заслуживающее внимания изменение касается масштабирования - в частности, Segregated Witness (SegWit) – изменения протокола в рамках дорожной карты Bitcoin Core.
Напомним, активация Segregated Witness подразумевает софтфорк, то есть необновлённые узлы сети останутся частью той же самой сети, что и обновлённые. Технически это же можно сказать и о майнерах – при желании они смогут добывать блоки, не включая транзакции SegWit. (Хотя, если они совсем не обновятся, они могут захотеть предпринять определённые меры предосторожности, чтобы избежать майнинга на непригодных блоках).
Bitcoin Core 0.14.1 также предлагает майнерам возможность исключать транзакции Segregated Witness даже в случае активации софтфорка. При желании они смогут продолжать добывать блоки, включающие только «старые» транзакции.
Майнеры, установившие Bitcoin Core 0.14.1 и пожелавшие исключить транзакции SegWit, по умолчанию всё равно будут сообщать о поддержке обновления. В конечном итоге, активация SegWit не будет представлять для майнеров проблемы: в BitcoinCore 0.14.1 у них появляется техническая возможность избежать несовместимых блоков, и они смогут всё так же создавать блоки самостоятельно без транзакций SegWit.
Управление памятью
Для обычных пользователей (не майнеров) самое серьёзное изменение в Bitcoin Core 0.14.1 заключается в оптимизации использования памяти.
Узлы Биткоина хранят в памяти все последние изменения состояния блокчейна (UTXO-set). Эти последние изменения более чем вероятно изменятся снова, и хранение их в памяти позволяет узлам получить к ним наиболее быстрый доступ. Таким образом, узлы смогут быстро принимать и проверять транзакции и блоки, и так же быстро перемещать их, что выгодно для всей сети. Время от времени текущее состояние UTXO-set «сбрасывается»: это происходит, когда информация хранится на диске постоянно.
Bitcoin Core 0.14.0 демонстрирует некоторые проблемы, оценивающие, сколько свободного пространства необходимо для того, чтобы память осуществила этот сброс. В частности, это может оказывать негативное влияние на бюджетные системы наподобие RaspberryPi, а также другие компьютеры с ограниченной памятью. В Bitcoin Core 0.14.1 использование памяти для UTXO-set вычисляется более точно, что должно способствовать стабильной работе правильно настроенных компьютеров.
Кроме того, в BitcoinCore 0.14.1 устранено несколько мелких ошибок и введены некоторые оптимизации.
Выход следующего релиза, Bitcoin Core 0.15.0, ожидается осенью этого года.
Более подробную информацию о новой версии можно найти в примечаниях к релизу BitcoinCore 0.14.1. Загрузить версию BitcoinCore 0.14.1 можно на сайтах bitcoin.org и bitcoincore.org.