Новая версия Bitcoin Core готова к релизу

Bitcoin Core 0.13.0 готов к релизу. Это значит, что в ближайшие несколько дней ожидается выпуск тринадцатой версии официального клиента биткоина, с целым списком важных обновлений, внедренных в соответствии с двухлетним планом масштабирования сети.

image

Над новой версией в течение пяти месяцев работало около сотни программистов. Разработка Bitcoin Core 0.13.0 заняла пяти месяцев.
Все предложения по улучшению протокола биткоина были сформированы в общий список из 27 пунктов bitcoincore.org/en/2016/08/23/release-0.13.0.
В июне, после долгого ожидания началось полномасштабное тестирование кода SegWit. По утверждению разработчиков, SegWit обладает двумя главными преимуществами: повышает безопасность транзакций и увеличивает емкость блоков. Однако активирован он будет только в следующей версии программы.

Child pays for parent (Алгоритм «ребенок платит за родителя»)


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

Пользователи могут повысить приоритетность своей транзации путем повышения комиссии, тем самым мотивируя майнеров (при помощи функции Replace-by-Fee это можно сделать даже после отправки транзакции, но она доступна не во всех кошельках)
Ранее у получателя не было возможности повлиять на скорость проведения транзакции. Теперь эта проблема может быть решена с помощью алгоритма «Child Pays for Parent». С этой опцией майнеры будут отдавать предпочтение не транзакциям с наиболее высокой комиссией, но скорее более выгодным сетам транзакций.

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

Реле Compact Blocks


image

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

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

Реле Compact Blocks, разработанное программистом Мэттом Коралло (который работает в Blockstream), позволяет снизить избыточную передачу данных. При добыче нового блока узлы передают очень короткие хэши данных о транзакции. После того, как весь объем данных получен узлами, они могут использовать эти хэши, чтобы определить, какие транзакции включены в блок, и даже перестраивать его.

Иерархически детерминированная генерация ключа


Ранее узлы Bitcoin Core генерировали новую пару ключей (открытый и закрытый) для каждого адреса Биткоин. Это целесообразно с точки зрения безопасности, но не всегда удобно: всегда существует риск утраты закрытого ключа. Для решения этой проблемы программисты Грегори Максвелл и Питер Вюлле, совместно с разработчиком Armory Аланом Райнером разработали криптографический метод BIP 32 — иерархическая детерминированная (HD) генерация ключа. Метод HD-генерации позволяет создавать новую пару ключей для каждого нового адреса из одной начальной фразы, состоящей из 12 слов. Зная начальную фразу, можно повторно генерировать ключи, чтобы получить утраченный доступ к своим биткоинам.

Напомним, что HD-генерация ключа — не новое решение в мире биткоина. Многие кошельки поддерживают эту опцию уже несколько лет, но в клиенте биткоина до настоящего момента она отсутствовала.

И, конечно, Bitcoin Core 0.13.0 содержит внушительный список обновлений в сфере эксплуатации и безопасности.

Майнить ещё не поздно:
image

© Geektimes