Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
arman1995
7 лет назад

Через тернии: история принятия SegWit

segwit-road.original.jpg

В конце лета в сети Биткойна произошла активация Segregated Witness (SegWit). В настоящий момент все узлы Блокчейна приняли новые правила, однако приход SegWit в протокол Биткойна не был ни простым, ни быстрым. В этой статье мы оглянемся на весь путь, который прошёл SegWit на пути к принятию.

Проблема

Транзакции в сети Биткойна состоят из двух частей. Одна часть — «базовая информация о транзакции». Здесь содержатся данные о том, какие токены отправляются и куда, а также некоторая другая информация. Вторая часть же называется «свидетель» (англ. witness). В ней содержится код с криптографической подписью, который подтверждает, что владелец биткойнов действительно собирался потратить свои токены.

Именно эти данные с подписью и вносят некоторые сложности в рассматриваемую систему. Существует так называемая «ошибка пластичности транзакций», в результате которой подпись может быть изменена даже после её создания и без её аннулирования. Это в свою очередь означает, что целая транзакция, в частности её идентификатор, может быть изменена ретрансляционными транзакциями либо майнерми, включающими транзакции в блок.

transaction-malleability.original.png
Статистика по атаке Биткойна с использованием ошибки транзакционной податливости в конце 2015 года. Красные линии показывают примерное количество изменённых транзакций.

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

Идея

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

В 2012 году такие известные разработчики Bitcoin Core, как Рассел О’Коннор, Мэтт Коралло, Люк Дашир и Грегори Максвелл, а также модератор Bitcointalk «Theymos», впервые обсудили проблему в IRC-сети Биткойн-разработчиков — но в то время они не смогли найти её правильного решения.

Screen_Shot_2017-08-17_at_23.48.11.original.png
Руссел О’Коннор, Грегори Максвелл, Люк Дашир и Theymos обсуждают ошибку пластичности транзакций, 2012 год.

Годом позже, в августе 2013, проблема вновь возникла на горизонте: в этот раз её обсуждали Питер Тодд и Грегори Максвелл всё в той же IRC-сети. «Я считаю, что нам нужно отделять подпись, — написал Максвелл. — Я бы даже предложил использовать в качестве идентификатора транзакции без подписей».

Ещё через месяц Максвелл и, в этот раз, известный криптограф доктор Адам Бэк вновь обсудили эту проблему. Теперь Бэк предложил вычислять идентификатор транзакции, опуская подпись. Максвелл ответил на это так: «Да, это может помочь, но такое изменение приведёт к серьёзному хард-форку… а его достаточно сложно провести сохраняя должный уровень безопасности».

Сайдчейн

blockstream-moves-ahead-sidechain-elements-fir..original.jpg

В августе 2014 была основана блокчейн-компания Blockstream. Её основателями выступили те же Адам Бэк и Грегори Максвелл, а также предприниматель и инвестор Остин Хилл и несколько других разработчиков Bitcoin Core, включая доктора Питера Вуйле. Основной целью компании стала разработка технологий сайдчейнов: альтернативных блокчейнов, которые могли быть связаны с Биткойном.

К началу 2015 года инженеры Blockstream приняли решение добавить новую функцию в прототипе сайдчейна Elements. Официально об этом было объявлено чуть позже, в июне того же года. Эта функция была призвана решить проблему с ошибкой пластичности транзакций на сайдчейне — это достигалось отделением базовой информации транзакции от «данных свидетеля».

Думаю, вы уже догадались, что данная функция получила название «Segregated Witness».

Споры о размере блока

Споры об ограничении размера блока надвигались постепенно, начавшись в октябре 2010 года, конкретизировались в феврале 2013 и наконец, к весне 2015, были вынесены на публику.

Бывший ведущий разработчик Bitcoin Core Гэвин Адресен и главный разработчик Bitcoinj Майк Хирн, в частности, верили, что требуется поднять ограничение по размеру транзакции в сети Биткойна с помощью хард-форка — несовместимого изменения протокола, которые потребует обновления практически всей экосистемы Биткойна. Это стало бы непростой задачей, особенно из-за отсутствия согласия внутри сообщества.

Тем не менее к лету 2015 Андресен и Хирн объявили о продолжении работы над своим планом, используя альтернативный клиент Bitcoin XT. Спорный характер этого плана привёл сообщество разработчиков и Биткойн-индустрию к состоянию, которое лучше всего описывается как «черезвычайное положение«.

В попытках разрешить противоречия и помочь принять окончательное решение в споре о размере блока во второй половине 2015 года были оперативно организованы две конференции: Масштабируя Биткойн Монреаль и Масштабируя Биткойн Гонконг.

Одно из самых многообещающих предложений, представленных в Монреале, была сеть Lightning Network — сложное решение второго уровня, описанное в научной работе, опубликованной Джозефом Пуном и Таддеушем Дрийя всего несколькими месяцами ранее. Единственная проблема: для его работы требовалось решение проблемы пластичности транзакций.

Софт-форк

Screen_Shot_2017-08-22_at_12.57.20.width-800.png
Эрик Ломброзо (CodeShark), Владимир ван дер Лаан (wumpus), Люк Дашир (luke-jr) и доктор Питер Вуйле (sipa) обсуждают SegWit в качестве софт-форка.

К этому моменту разработчики всё ещё не были уверены, когда и как будет исправлена ошибка пластичности транзакций. Большинство из них всё ещё считали, что СегВит было невозможно встроить в главную цепочку Биткойна без хард-форка.

Так не считал только разработчик Bitcoin Core Люк Дашир.

В октябре 2015, прямо между двумя конференциями «Масштабируя Биткойн», разработчики Bitcoin Core Эрик Ломброзо, Питер Вуйле, Владимир ван дер Лаан и Люк Дашир обсудили потенциально новую модель софт-форков в IRC-чате. В этом чате Дашир указал, что предлагаемый механизм не будет работать для всех потенциальных софт-форков, такого как софт-форк SegWit.

Интересно, что то, что Дашир считал очевидным — попытаться развернуть SegWit через софт-форк — другими не рассматривалось в принципе. И изначально даже Дашир, возможно, не осознавал последствий такой возможности.

Для того, чтобы ввести SegWit через софт-форк, данные о свидетеле должны были размещаться в новой части Биткойн-блока. А «якорь» этих данных (корень Меркла, «Merkle Root») нужно было перенести в нетрадиционную часть Биткойн-блока: транзакцию, которая выписывает майнерам новые монеты.

Несмотря на нетрадиционность данного метода, разработчики Bitcoin Core со временем поняли, что он также давал ещё один необычный бонус. Создав новую часть блока для хранения информации о свидетеле, размер блока можно было увеличить таким способом, что не обновлённые узлы не заметили бы этого. Это позволило бы увеличить размер блока Биткойна, не увеличивая существующий лимит на размер блока.

За считанные недели до второй конференции «Масштабируя Биткойн» несколько разработчиков Bitcoin Core посчитали, что они наконец-то нашли по крайней мере временное решение вопроса по лимиту на размер блока. Segregated Witness смог бы эффективно поднять лимит, одновременно исправив старую ошибку пластичности транзакций и, таким образом, расчистил бы путь для более продвинутых решений по масштабированию, таких как Lightning Network.

Решение «вин-вин-вин» — так думали они.

Презентация

Segregated Witness как софт-форк был впервые представлен Питером Вуйле в декабре 2015 на второй конференции «Масштабируя Биткойн», прошедшей в Гонконге. Многие впервые услышали об этом решении именно там, и изначально оно было встречено с большим энтузиазмом.

Вскоре после окончания этой конференции Грегори Максвелл предложил так называемый «план масштабирования«, ключевой частью которого стал SegWit. Этот план был быстро поддержан командой разработчиков Bitcoin Core, а также другими разработчиками и пользователями экосистемы Биткойна.

Критика

Но несмотря на изначальное волнение, у СегВит были так же и критики.

Опасения по поводу предлагаемого апгрейда протокола были разные. Джефф Гарзик, бывший разработчик Bitcoin Core, основавший затем свою собственную компанию Bloq, не считал SegWit подходящим краткосрочным решением. Ведущему разработчику Bitcoin XT Майку Хирну это решение и вовсе не показалось убедительным: он выступил с резкой критикой SegWit и вскоре полностью ушёл из разработки Биткойна.

Джонатан Тумим, разработчик альтернативного клиента Bitcoin Classc, утверждал, что решение является «страшным и странным», и предлагал провести его в виде хардфорка. Даже разработчик Bitcoin Core Питер Тодд выражал опасения, касавшиеся майнинга.

Тем не менее, большинству разработчиков Bitcoin Core эти недостатки казались либо разрешимыми, либо неубедительными, либо стоящими свеч. Работа над апгрейдом сети началась.

Разработка

Хотя версия Segregated Witness уже была реализована в Elements, код для основной сети Биткойна всё ещё предстояло написать: не только из-за того, что его предполагалось провести в виде софт-форка, но и из-за большого количества новых элементов, отсутствующих в Elements: например, так называемый «дискаунт свидетеля», необходимый для увеличения размера блока, новая совместимость с P2P-сетью и многое другое.

Конкретное предложение по улучшению Биткойна, получившее кодовое название BIP141, было разработано Питером Вуйле, исполнительным директором Ciphrex Эриком Ломброзо и независимым Биткойн-разработчиком доктором Джонсоном Лау. К началу января 2016 года, в самый разгар дебатов о масштабировании Биткойна, эти и некоторые другие разработчики запустили первую выделенную тестовую сеть для апгрейда протокола — SegNet. Ещё двумя неделями позже эта тестовая сеть была открыта для широкой публики, чтобы разработчики со всего мира смогли с ней поэкспериментировать. А уже в марте SegNet получил обновление, добавляющее поддержку тестовых версий Lightning Network.

Разработка продолжалась долгие месяцы, в процессе работы учитывались мнения сообщества разработчиков, правились баги, дорабатывался код и создавались новые версии SegNet.

Screen_Shot_2017-08-18_at_00.47.28.original.png
Страница SegWit на GitHub, открывающая любому желающему доступ к разработке и правке багов

Одновременно разработчики Bitcoin Core также активно вышли к представителями широкой Биткойн-отрасли, что со временем привело к появлению постоянно растущего списка компаний и проектов, готовых поддержать СегВит.

В июне код Segregated Witness составлял уже 4743 строк и предполагал удаление или изменение 554 существующих строк в коде Bitcoin Core. После расширенного обзора кода ведущий разработчик Bitcoin Core Владимир ван дер Лаан загрузил его в главный репозиторий Bitcoin Core на GitHub.

Встречи
Во время разработки SegWit споры в Биткойн-сообществе о размере блока накалились ещё сильнее. В этот раз их локомотивом стал Bitcoin Classic, возглавляемый несколькими Биткойн-компаниями и майнерами, настроенными сделать хард-форк для увеличения размера блока до 2 МБ.

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

Результатом этой встречи стало соглашение, известное под названием «Консенсус Круглого Стола Биткойна» (или «Гонконгское соглашение»). Разработчики Bitcoin Core, присутствовавшие на совещании, согласились создать и предложить команде Bitcoin Core (а также широкому Биткойн-сообществу) проект хард-форка по увеличению размера блока. Майнеры, в свою очередь, согласились поддержать релиз SegWit до тех пор, пока такой хард-форк не будет включён в Bitcoin Core. Кризис, казалось, был предотвращён — хотя очень быстро стало ясно, что далеко не всем понравилось такое соглашение.

Несколько месяцев спустя ещё большая группа разработчиков Bitcoin Core и операторов майнинговых пулов собралась в Калифорнии. Присутствовавшие на встрече разработчики покинули её с уверенностью, что Segregated Witness будет активирован майнерами.

Релиз

Segregated Witness был официально представлен в версии 0.13.1 Bitcoin Core в октябре 2016 — на полгода раньше изначально намеченного срока. Апгрейд протокола был также реализован в некоторых других решениях на базе Биткойна — например, Bitcoin Knots и Bcoin.

Используя метод активации под названием «VersionBits» (BIP9), созданный для минимизации негативных эффектов в сети, 95% майнеров (по вычислительной мощности) должны были выразить поддержку SegWit, чтобы активировать его в сети Биткойна. Голосование майнеров должно было начаться 15 ноября. Тем временем пользователям рекомендовали начать обновлять свои клиенты — и, как выяснилось позже, многие это сделали.

Screen_Shot_2017-08-18_at_01.16.12.original.png
Август 2017, большая часть сети Биткойна состоит из поддерживающих SegWit узлов.

Основываясь на результатах встреч разработчиков с операторами майнинговых пулов, а также на общем убеждении, что SegWit станет спасением для Биткойна, многие ожидали, что софт-форк произойдёт достаточно быстро.

Политика

Но этого не произошло. Как выяснилось, несколько участников Гонконгского соглашения нарушили взятые на себя обязательства.

В частности, CEO Bitmain Джихан Ву заявил, что активирует SegWit только после того, как команда разработчиков Bitcoin Core внедрит хард-форк для увеличения размера блока. Другие майнинговые пулы, включая AntPool, F2Pool, HaoBTC и bitcoin.com также не выразили поддержку софт-форка.

Но этого не произошло. Как выяснилось, несколько участников Гонконгского соглашения нарушили взятые на себя обязательства.

В частности, CEO Bitmain Джихан Ву заявил, что активирует SegWit только после того, как команда разработчиков Bitcoin Core внедрит хард-форк для увеличения размера блока. Другие майнинговые пулы, включая AntPool, F2Pool, HaoBTC и bitcoin.com также не выразили поддержку софт-форка.

Screen_Shot_2017-08-18_at_01.19.14.original.png

Более того, появился новый китайский майнинг-пул — ViaBTC. Учитывая его тесные связи с Bitmain, один этот пул собрал достаточно хэш-мощности, чтобы в одиночку заблокировать активацию SegWit. А его оператор Хайпо Янг позиционировал себя как ярый критик предлагаемого апгрейда протокола.

Активация SegWit казалась уже практически невозможной.

UASF

shaolinfry.original.jpg

В феврале 2017, немногим больше трёх месяцев после официального релиза SegWit, появился новый шанс.

Анонимный разработчик, скрывающийся под никнеймом Shaolinfry и разрабатывавший ранее Litecoin, разослал разработчиком Bitcoin Core и пользователям популярного форума bitcointalk.org предложение под названием «активируемый пользователями софт-форк», или сокращённо UASF.

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

«Широко распространено ошибочное мнение, что эта методология означает голосование мощностью по выдвинутому предложению. Исправить это ошибочное толкование среди сообщества очень непросто», — написал он.

Shaolinfry предложил альтернативу: активируемый пользователями софт-форк (UASF). В отличие от активации по вычислительной мощности UASF должен проходит по несколько иной схеме: активация софт-форка будет происходить в указанную дату, выбранную заранее полными узлами сети. Как только такой софт-форк будет поддержан экономическим большинством, майнеры будут вынуждены активировать его.

Идея мгновенна вызвала широкий резонанс на Биткойн-форумах и в социальных сетях. И когда бывший операционный директор BTCC и ярый сторонник SegWit Самсон Моу создал благотворительный фонд для разработки UASF, стало казаться, что это предложение способно стать реальностью.

Запатентованная технология
В самом начале апреля 2017 года Грегори Максвелл разослал разработчикам Биткойна письмо, которое стало своего рода бомбой.

Максвелл утверждал, что он выполнил «разбор» специализированного майнингового ASIC-чипа и обнаружил, что в нём использовалась запатентованная технология AsicBoost. Более того, Максвелл выяснил, что тайное использование этой технологии делало чип несовместимым с софт-форковой версией SegWit.

«Эта несовместимость могла бы с лёгкостью объяснить необъяснимое поведение некоторых участников экосистемы майнинга», — добавил он.

Хотя в письме Максвелла не был указан конкретный производителя чипа ASIC, Bitmain призналась, что использовала запатентованную технологию в своих чипах — хотя одновременно пул отрицал факт их использования в главной сети Биткойна.

Как бы то ни было, это откровение только усилило желание некоторых пользователей активировать софт-форк с Segregated Witness в сети Биткойна. И поскольку активация голосованием вычислительной мощностью казалась теперь ещё менее вероятной, активируемый пользователями софт-форк выглядел как идеальное решение для достижения этой цели.

Предложение BIP148

Вскоре после презентации общей идеи UASF Shaolinfry и десяток других членов Биткойн-сообщества открыли посвящённый UASF канал в группе в Slack по теме Bitcoin Core.

Этот канал стал центральным местом для обсуждения и организации инициативы. Была выбрана дата — сначала 1 октября, однако затем она была перенесена на первое августа из-за потенциально низкой поддержки вычислительными мощностями. Shaolinfry стал автором предложения по улучшению Биткойна BIP148. Основатель Open Dime Родольфо Новак также открыл информационный сайт для продвижения идеи.

Изначальный план заключался в том, чтобы привлечь на сторону UASF обменники и другие Биткойн-бизнесы. Если бы эти компании поддержали предложение, это позволило бы софт-форку получить требуемое экономическое большинство.

Но UASF не получил такой популярности, как надеялись некоторые его сторонники. В то время как некоторые компании и разработчики встали на сторону BIP148, ни одна крупная биржа либо другой бизнес не выразили поддержки, а некоторые даже выступили против инициативы.

А в середине апреля Грегори Максвелл разослал письмо, в котором сообщал, что он также считал BIP148 плохой идеей. После таких слов со стороны наиболее уважаемого и влиятельного разработчика Bitcoin Core инициатива начала пробуксовывать.

Вместо этого некоторые начали разрабатывать альтернативу UASF: BIP149.

Альткойны

Многие альткойны основаны на коде Биткойна. Это означает, что код SegWit, будучи разработан для Биткойна, в целом является совместимым с этими альтернативными криптовалютами. Неудивительно, что несколько альткойнов приняли решение интегрировать SegWit. Первым, активировавшим Segregated Witness ещё в январе 2017, стал Groestlcoin.

Но у других токенов дела шли не так гладко. Litecoin, Vertcoin и Viacoin, похоже, застряли в политических играх Биткойна. Эти монеты в основном зависели от тех же майнеров, что и Биткойн, и большинство из них просто не поддержали апгрейд.

Возможно, они имели на то причины технического толка, но, как заметил ведущий разработчик Viacoin Романо, «Похоже, они хотят воздержаться от активации Segregated Witness в альткойнах, поскольку это лишит их поводов сдерживать его активацию в сети Bitcoin».

К апрелю 2017 года такое отношение привело создателя Litecoin Чарли Ли к мысли поддержать имплементацию активированного пользователями софт-форка в «его» криптовалюте. Его инициатива была встречена держателями Litecoin с энтузиазмом; вскоре майнеры, Ли и другие члены экосистемы Лайткойна провели онлайн-совещание, результатом которого стало Глобальная Резолюция Лайткойна. В обмен на некоторые уступки со стороны Ли майнеры согласились активировать SegWit. Shaolinfry и другие считали, что идея UASF оказалась успешной.

В течение недели после активации SegWit в сети Litecoin оставшийся неизвестным человек сделал рискованный шаг. Он (или она) отправил сумму в криптовалюте, эквивалентную $1 млн., на защищённый с помощью SegWit адрес, предложив любому желающему попробовать их забрать. На момент написания статьи (23 августа 2017) этот клад оставался в неприкосновенности, что подкрепило уверенность в безопасности технологии.

Нью-Йоркское соглашение

Тем временем, дебаты о размере блока не утихали. Очередной софтверный клиент, увеличивший размер блока Биткойна путём хард-форка — Bitcoin Umlimited — набирал популярность в сообществе майнеров. Продвигаемый такими влиятельными личностями, как Ву из Bitmain, этот проект уверенно двигался в сторону потенциального (и спорного) хард-форка.

Эта гнетущая угроза, а также возможность «разделения» блокчейна Биткойна, заставила основателя и исполнительного директора DCG Барри Зилберта организовать встречу накануне конференции Consensus 2017 в Нью-Йорке. Изначально объявленная в частной емэйл-рассылке Биткойн-предпринимателям и другим видным участникам отрасли, эта встреча собрала значительную часть делового сообщества, включая майнеров — но стоит отметить, что туда не попал ни один из разработчиков Bitcoin Core.

Результаты этого совещания обычно упоминаются в масс-медиа как «Нью-Йоркское соглашение». Участники встречи согласились на то, что они посчитали компромиссом между желающими увеличить размер блока с помощью хард-форка и сторонниками SegWit. Основываясь на идее, изначально предложенной основателем RSK Серджио Демианом Лернером, SegWit должен был быть активирован при выполнении определённых условий, при этом также должен был осуществиться хард-форк с целью удвоить базовое ограничение на размер блока.

Screen_Shot_2017-08-18_at_01.33.23.original.png
Два ключевых пункта Нью-Йоркского соглашения.

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

Нетолерантное меньшинство

Screen_Shot_2017-08-18_at_01.36.47.original.png
Коллаж авторства Самсона Моу в поддержку BIP148 UASF.

Хотя активируемый пользователями софт-форк BIP148 уже значительно уступал в популярности BIP149, далеко не все смогли полностью отказаться от изначального предложения UASF.

Shaolinfry представил концепт, предположив, что оно будет поддержано экономическим большинством, и полагал, что в противном случае софт-форк будет отменён ещё до наступления дня принятия решения. Но группа пользователей, общавшихся в посвящённом UASF канале в Slack, имели иное мнение. Некоторые из них — включая разработчика Bitcoin Core и Bintoin Knots Люка Дашира — хотели активировать софт-форк независимо от того, что будет делать остальная часть Биткойн-экосистемы. Даже если бы они были меньшинством, и даже если бы в результате они перешли в новый альткойн, они всё равно собирались сделать апгрейд.

В середине мая Альфонс Пейс связал эту решимость с концептом из теории игр, описанным известным учёным-статистиком Нассимом Наколасом Талебом: «нетолерантное меньшинство». Вкратце, эта идея предполагает, что даже экономическое меньшинство должно суметь убедить майнеров активировать софт-форк Segregated Witness. Иначе майнеры на ровном месте потеряли был часть свой «клиентской базы» (пользователей Биткойна).

Подпитываемая скандалом вокруг AsicBoost, активацией SegWit на Litecoin и недовольствием Нью-Йоркским соглашением — и в этот раз подкреплённая теорией игр — поддержка BIP148 превратилась в своего рода виральный феномен в социальных сетях и новостных лентах, вновь завоевав бешеную популярность.

Вышло ещё несколько статей о растущем потенциале UASF, и вслед за ними развернулись бурные обсуждения в социальных сетях, на Youtube-каналах и форумах. Тем временем Эрик Ломброзо также прилагал все свои усилия для продвижения идеи, а распространяемые Самсоном Моу шапки с нанесённым логотипом UASF только добавили ажиотажа. Вдохновлённое кодовым названием грядущего обновления кошелька Electrum, сообщество объявило первое августа «Днём Независимости Биткойна».

Единственная проблема: метод активации, предусмотренный в BIP148, был так же несовместим с Нью-Йоркским соглашением, как Нью-Йоркское соглашение было несовместимо с методами активации, предложенными разработчиками Bitcoin Core.

Столкновение
И тут на помощь подоспел инженер из Bitmain Джеймс Хиллиард. Он предложил несколько сложное, но очень умное решение, которые сделало совместимым всё: активацию Segregated Witness, как было предложено разработчиками Core, активируемый пользователями софт-форк BIP148 и механизм активации, предусмотренный Нью-Йоркским соглашением. Его предложение по улучшению Биткойна BIP91 могло сохранить целостность Биткойна — по крайней мере, во время активации SegWit.

По плану большинство майнеров должны были активировать BIP91 до 1 августа, в результате чего все полные узлы Биткойна должны были остаться частью одной сети. Временное окно было довольно коротким, поскольку это решение было предложено лишь в конце мая, но главный разработчик Нью-Йоркского соглашения Джефф Гарзик принял его и планировал выпустить софтверный клиент за несколько недель до 1 августа. Это было выполнимо.

Активация

2017-08-18_01.51.51.original.jpg
Информационный сайт XBT.eu в момент внедрения BIP91.

К середине июля майнеры упустили сроки, необходимые для активации SegWit предложенные разработчиками Core в рамках BIP148. В результате на рынках возникла небольшая паника по поводу возможного разделения между блокчейном-BIP148 и блокчейном, не совместимым с BIP148. В течение всего недели курс Биткойна обвалился с $2500 до $1900.

Напуганное этими движениями рынка, сообщество майнеров Биткойна начало подавать активные сигналы поддержки BIP91 — даже раньше срока, запланированного Нью-Йоркским соглашением. В результате, 20 июля, за десять дней до запланированного дня активации BIP148, BIP91 был подтверждён. Ещё два дня спустя он был активирован.

После внедрения BIP91 включение Segregated Witness стало лишь вопросом времени. Окончательно это произошло 9 августа — а точка невозврата была достигнута на день ранее, восьмого августа.

«Официально» Биткойн получил SegWit после двухнедельного «испытательного срока».

Принятие

logo.original.png
Логотип Segregated Witness, разработанный Альбертом Дрос.

Последний шаг для Segregated Witness — это, конечно, принятие его пользователями. Поскольку SegWit был активирован не так давно, пока сложно сказать, сколько времени уйдёт на это и насколько широко данный апгрейд будет использоваться. Некоторые критики, в частности Джефф Гарзик, утверждают, что широкое принятие произойдёт не раньше, чем через год. Тем временем множество компаний, кошельков и библиотек уже интегрировали SegWit. Сегодня активно ведётся разработка и других технологий, ранее зависевших от этого обновления: Lightning Network, Меркеризованные Абстрактные Синтаксические Деревья (MAST), «атомные свопы», более быстрое подписание транзакций в аппаратных кошельках, более эффективный алгоритм подписей Шнорра, TumbleBit и многие другие.

Это был долгий путь, но отныне каждый желающий использовать Segregated Witness может это делать.

0
0.000 GOLOS
На Golos с November 2017
Комментарии (4)
Сортировать по:
Сначала старые