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