Объяснение SegWit: от проблемы подписи в Bitcoin до современной реализации

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

Основная проблема: Модифицируемость транзакций и препятствия Layer 2

До SegWit Bitcoin сталкивался с необычной криптографической проблемой, известной как модифицируемость транзакций. Цифровые подписи, подтверждающие транзакции Bitcoin, могли быть изменены таким образом, что транзакция выглядела по-другому, даже если её изменял человек, не создавший её изначально. Это не делало транзакцию недействительной или не меняло её основной эффект — монеты всё равно перемещались от отправителя к получателю — но создавалась критическая уязвимость, которая делала практически невозможным использование решений второго уровня.

Lightning Network и другие протоколы второго уровня требуют абсолютной уверенности в целостности транзакций. Без решения проблемы модифицируемости транзакций эти масштабируемые решения не могли надежно работать поверх Bitcoin. Проблема была не только неудобной; она представляла собой архитектурный тупик для развития Bitcoin как системы с высокой пропускной способностью.

Техническое решение SegWit: разделение данных свидетеля

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

Прежде всего, она разблокировала развитие второго уровня. Lightning Network и подобные протоколы теперь могли работать с уверенностью, открывая пути для обработки Bitcoin экспоненциально большего количества транзакций в секунду, чем позволяет базовый слой. Помимо этого основного преимущества, SegWit ввёл расширение емкости блока с помощью технического механизма, называемого «единицы веса». Вместо простого увеличения размера блока (что потребовало бы спорного хардфорка), SegWit умно переопределил, как считается объем данных блока, фактически позволяя блокам достигать примерно 4 мегабайт данных в теории, хотя более реалистично — около 2 мегабайт в зависимости от состава транзакций.

Это повышение эффективности означало меньшие комиссии за транзакции для пользователей с совместимыми с SegWit кошельками. Кроме того, техническая архитектура SegWit создала так называемые «версии скриптов» — основу, которая упростила внедрение будущих улучшений Bitcoin. Появлялись инновации, такие как Schnorr-подписи, которые должны были повысить программируемость и гибкость Bitcoin.

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

Инновации разработчиков: как Bitcoin Core реализовал обновление

Путь к внедрению SegWit включал работу нескольких команд. Изначально Blockstream разработал раннюю версию концепции для своего сайдчейна Elements. Однако прорыв произошёл, когда участник Bitcoin Core Luke-jr понял, что можно внедрить совместимую с предыдущими версиями версию непосредственно в основную сеть Bitcoin.

Команда разработчиков Bitcoin Core взяла на себя работу по реализации, при этом основными авторами и ведущими разработчиками выступили Eric Lombrozo, Johnson Lau и Pieter Wuille, создавшие предложения по улучшению Bitcoin (BIP). Их работа заложила техническую основу, хотя множество других разработчиков участвовали в обзоре, тестировании и доработке. Механизм активации также развивался с учетом мнений сообщества — разработчик Litecoin Shaolinfry и инженер Bitmain James Hilliard создали альтернативные подходы к активации на основе сигналов, которые позже оказались важными.

Битва за активацию: майнеры, пользователи и UASF

Путь от предложения до реализации SegWit показывает политическую сложность, лежащую в основе технических обновлений. Хотя публично предложение было сделано в декабре 2015 года и код был готов в течение года, активировать SegWit удалось только в 2017 году — задержка в два года вызвана отказом значительной части майнеров сигнализировать о поддержке обновления.

В техническом сообществе Bitcoin Skeptics по поводу SegWit было немного. Внешние дебаты касались того, должны ли приоритет иметь альтернативные подходы к масштабированию или достаточно ли одного SegWit. Однако эти разногласия переплелись с вопросами активации. Некоторые наблюдатели предполагали, что майнеры используют SegWit как рычаг в более широких переговорах по масштабированию. Более того, появлялись свидетельства, что некоторые майнинговые операции используют проприетарную оптимизацию AsicBoost, несовместимую с SegWit, что давало им финансовые преимущества для блокировки обновления.

Этот тупик вызвал массовое движение. В 2017 году пользователи Bitcoin объединились вокруг идеи, предложенной Shaolinfry: User Activated Soft Fork (UASF). Эти пользователи объявили о планах активировать SegWit на своих узлах независимо от поддержки майнеров. Если бы это произошло, возникли бы два отдельных сети Bitcoin — одна с SegWit, другая без — что стало бы катастрофой для экосистемы.

Столкнувшись с этим «ядерным вариантом», майнеры сдались за несколько дней до крайнего срока UASF, использовав новый механизм активации, разработанный James Hilliard, для сигнализации поддержки SegWit. К августу 2017 года SegWit был запущен в сети Bitcoin.

Практическое использование: адреса SegWit и комиссии

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

Существует два формата адресов SegWit. Адреса P2SH начинаются с «3» — хотя не все адреса, начинающиеся с 3, являются SegWit, что усложняет визуальную идентификацию. Адреса Bech32, начинающиеся с «bc1», однозначно являются SegWit и обеспечивают самые низкие комиссии среди всех типов адресов Bitcoin. Эти транзакции Bech32 дешевле, чем транзакции P2SH SegWit, поскольку более эффективно используют систему веса.

Традиционные адреса, начинающиеся с «1», никогда не являются SegWit. Популярные кошельки, поддерживающие SegWit, включают Bitcoin Core, Electrum, Green, Trezor, Ledger и многие другие, хотя внедрение происходит постепенно.

Текущая ситуация: почему SegWit не является универсальным

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

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

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

Важно отметить, что неполное внедрение SegWit не мешает получать преимущества ранним пользователям. Те, кто обновился, получают меньшие комиссии независимо от участия всей сети. Преимущество в снижении комиссий растет по мере распространения внедрения, но выгоды накапливаются постепенно. Интересно, что более низкий уровень внедрения SegWit также уменьшает средний размер блока, что дает свои технические преимущества в плане эффективности узлов и устойчивости сети.

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Репост
  • Поделиться
комментарий
0/400
Нет комментариев
  • Закрепить