Segregated Witness имплементирован в протокол биткоина


Предложенный бельгийским разработчиком Питером Велле софтфорк Segregated Witness (SegWit) имплементирован в протокол биткоина.
В пятницу, 24 июня, разработчики из команды Bitcoin Core сообщили о своей готовности к скорой интеграции SegWit, и хотя поначалу точные сроки поначалу не назывались, а CEO Ciphrex и разработчик Bitcoin Core Эрик Ломброзо в комментарии Bitcoin Magazine предположил, что это может произойти через несколько дней, уже через несколько часов стало известно, что процесс завершен.
SegWit pull request has been merged https://t.co/kRCJlM3YKC, see the next steps https://t.co/dS9YJMcBBG pic.twitter.com/FiHpC7QLwK
— Bitcoin Core Project (@bitcoincoreorg) June 24, 2016
«SegWit – это самое значительное на сегодняшний день улучшение протокола биткоина, которое решает несколько проблем его первоначальной структуры, а также добавляет слой расширения, который поддерживает более высокую масштабируемость и более сложные приложения смарт-контрактов», — цитирует Ломброзо Bitcoin Magazine.
Это известие уже с энтузиазмом было встречено на Reddit, став предметом активного обсуждения пользователей форума,.
Несмотря на то, что теперь уже можно говорить о внедрении Segregated Witness в протокол биткоина, его активация произойдет несколько позже. Сам код будет включен в предстоящий релиз версии Bitcoin Core 0.13, однако у майнеров возможность поддержать изменения в протоколе появится в следующих версиях, наиболее вероятно, в Bitcoin Core 0.13.1.
Также следует отметить, что активация Segregated Witness состоится только после того, как его поддержат не менее 95% майнеров. Такое условие означает, что процесс активации софтфорка может занять больше времени
Так, майнинг-пул Antpool, на долю которого приходится 18% хэшрейта всей сети биткоина, уже заявил, что поддержит Segregated Witness только после того, как протокол будет включен хардфорк, обеспечивающий увеличение размера блока.
Несколько недель назад главный операционный директор биткоин-биржи BTCC Сэмсон Моу подтвердил, что разработчики Bitcoin Сore, присутствовавшие на последнем круглом столе в Гонконге, намерены придерживаться достигнутых там договоренностей относительно хард-форка. По его словам, предположительно, готовый код может быть представлен в конце июля.
«Если мы все решим, что этот код будет использован, это могут быть комбинации SegWit / хардфорк или хардфорк с встроенным кодом SegWit, а может вначале будет хардфорк, а затем SegWit», — сказал тогда Моу.

Рассылки ForkLog: держите руку на пульсе биткоин-индустрии!
Преимущества SegWit
Предложенное бельгийским разработчиком Питером Велле решение предлагает отделение (сегрегацию) подписей транзакций от остальных данных, что позволит майнерам размещать эти свидетельства за пределами традиционной структуры блоков.
Имплементация SegWit в протокол биткоина несёт два главных преимущества:
- Устранение пластичности транзакций: сегрегация свидетельства позволяет программному обеспечению – как существующему, так и обновленному – определять идентификатор транзакций (txid) без обращения к нему. Это решает все известные случаи нежелательной пластичности транзакций, которая существенным образом усложняет создание смарт-контрактов для биткоина.
- Увеличение емкости: Вынос данных о свидетельстве за пределы традиционной структуры блока (при этом они остаются внутри новой структуры) означает, что блоки смогут вместить больше данных. Это дает возможность увеличения размера данных о транзакциях, которые может вместить блок.
Помимо этого, SegWit упрощает возможность добавления новых функций в протокол биткоина, а также повышает эффективность полных нод, что, в свою очередь, означает долгосрочные преимущества для всей сети.
SegWit изменяет несколько частей системы, и в первую очередь это относится к правилам консенсуса, которые используют полные ноды для достижения согласия с актуальной версией реестра биткоина. Другие важные изменения относятся к коду P2P-сети, использующегося для передачи блоков и транзакций.
В общей сложности все эти изменения состоят из 1386 строк добавленного или модифицированного кода. Патч SegWit также включает дополнительные 3338 строк кода проведенных тестов.
Напомним, что официальная презентация SegWit была сделана в декабре прошлого года в Гонконге, а уже в апреле состоялся официальный релиз патча. В мае команда Bitcoin Core сообщила, что делает все возможное, чтобы как можно быстрее завершить интеграцию Segregated Witness в протокол биткоина, соблюдая при этом разумную осторожность и не желая делать слишком поспешных шагов. К тому моменту было развернуто четыре отдельных тестовых сети для SegWit, объединённые в единый проект под названием Segnet4.
Также в мае в Швейцарии состоялась встреча двадцати разработчиков Bitcoin Core, в ходе которой они уже при личном общении ещё раз проверили код и убедились, что тестирование было проведено надлежащим образом.
Теперь Питер Велле создал второй запрос на включение кода, который содержит все внесенные изменения и основан на последней версии Bitcoin Core. И поскольку целый ряд разработчиков уже на протяжении года использовал оригинальную имплементацию SegWit в сайдчейны, а само тестирование патча к сегодняшнему дню длилось уже почти шесть месяцев, команда Bitcoin Core считает, что всё готово к его интеграции в основную сеть биткоина.