Что такое СегВит?

Что такое СегВит?

Segregated Witness, обычно называемый SegWit, представляет собой кардинальное обновление протокола Bitcoin Core, представленного в 2017 году. Созданный как средство решения проблем масштабирования Биткойна и устранения конкретных уязвимостей, SegWit принес ряд значительных улучшений. Среди его главных достижений — протокол устранил проблемы с гибкостью транзакций и увеличил ограничение размера блока Биткойна, тем самым облегчив включение большего количества транзакций в каждый блок. Более того, это обновление привело к появлению двух инновационных типов сценариев для транзакций Биткойн и представило новый подход к кодированию, известный как Bech32 .

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

Как работает SegWit?

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

В отличие от хард-форка, который разделяет блокчейн на две отдельные цепочки, SegWit был реализован как софт-форк . Это означает, что остался единый блокчейн Биткойна, принимающий блоки как от пользователей с включенным, так и с неактивным SegWit. Перемещая данные подписи из основного блока транзакции, но сохраняя возможности проверки, сохраняется целостность Биткойна, что позволяет проводить больше транзакций в стандартном блоке размером 1 мегабайт. Результатом является сеть Биткойн, которая одновременно быстрее и безопаснее.

Дополнением к SegWit является стандарт адреса Bech32. Эти «родные» адреса SegWit, идентифицируемые по префиксу « bc1 », контрастируют с традиционными адресами Legacy, которые начинаются с «1». Приняв SegWit и стандарт Bech32, пользователи получают выгоду от снижения комиссий за транзакции. Важно отметить, что хотя Биткойн, хранящийся на устаревших адресах, остается там до тех пор, пока не будет выполнена транзакция, любое изменение этих адресов, являющееся частью транзакции, перейдет на адрес SegWit. Со временем, когда пользователи участвуют в транзакциях и получают средства на адреса SegWit, их балансы в биткойнах органически сместятся в сторону этих более эффективных адресов.

Как SegWit решает проблему гибкости транзакций?

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

Углубление гибкости транзакций

Представьте себе сценарий, когда Джон должен Стивену 10 BTC. Стивен со злым умыслом изменяет данные свидетеля Джона до того, как сеть подтвердит транзакцию. Идентификатор транзакции меняется, хотя содержимое транзакции остается неизменным. После подтверждения манипулируемой транзакции оригинал отменяется. Если Стивен ложно заявит, что он не получил 10 BTC, Джон может отправить BTC повторно, став жертвой мошенничества, даже не осознавая этого. Подобные манипуляции были невидимы для сети, поэтому их было трудно предотвратить.

Решение проблемы от SegWit

Основная функция SegWit — отделить данные-свидетели от данных транзакций, гарантируя, что их нельзя будет изменить для изменения идентификаторов транзакций. Разрабатывая сайдчейн для хранения этих данных-свидетелей отдельно от основного блокчейна, SegWit исключает возможность таких вредоносных изменений.

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

SegWit и масштабируемость : союз будущего

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

Процесс консенсуса является основной причиной проблем масштабируемости во многих криптовалютах. Перед добавлением в блокчейн транзакция должна быть проверена более чем половиной узлов Биткойна. С увеличением числа узлов достижение консенсуса занимает больше времени. Однако SegWit решает эту проблему. Ранее данные-свидетели занимали около 65% пространства блока Биткойн. Подход SegWit, заключающийся в выгрузке данных-свидетелей из первичного блокчейна, предоставляет больше места для транзакций, оптимизируя возможности обработки сети без увеличения блокчейна Биткойна. По сути, SegWit оптимизирует блокчейн, делая его более эффективным.

Есть ли у SegWit недостатки?

SegWit, или Segregated Witness, тесно связан с эволюцией Биткойна и порождает различные точки зрения на его эффективность и предназначение.

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

Этот скептицизм в отношении SegWit привел к тому, что часть сообщества разошлась, инициировав хард-форк, который привел к созданию Bitcoin Cash в 2017 году. По сути, Bitcoin Cash отражает исходную модель Биткойна до реализации SegWit. Его решение проблем масштабируемости сосредоточено на увеличении размера блока, гарантируя, что все транзакционные данные останутся в цепочке. Этот подход резко контрастирует с философией разработчиков Bitcoin Core, которые рассматривают SegWit как основу для многоуровневой системы блокчейнов.

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

SegWit обеспечивает работу сети Lightning

Одним из наиболее революционных достижений, ставших возможными благодаря SegWit, стала интеграция Lightning Network, решения второго уровня, предназначенного для решения проблем масштабируемости Биткойна. Lightning Network обещает более высокую скорость транзакций и снижение комиссий за счет создания каналов оплаты вне цепочки между сторонами. Этот инновационный подход позволяет обрабатывать многочисленные транзакции за пределами основного блокчейна Биткойна, при этом в цепочке записываются только окончательные балансы счетов. Результатом является более эффективная и оптимизированная система, способная обрабатывать больший объем транзакций за меньшее время.

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

Активировав SegWit, биткойн-сообщество решило проблему гибкости транзакций. При этом это не только укрепило защиту сети, но и проложило путь для безопасного развертывания сети Lightning. Без риска гибкости транзакций сеть Lightning Network может работать бесперебойно, гарантируя, что пользователи смогут совершать транзакции с большей скоростью, безопасностью и экономической эффективностью.

Увеличение размера блока SegWit

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

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

Стоит отметить это различие: до появления SegWit размер каждого блока был ограничен 1 МБ, что соответствует 1 миллиону байт данных транзакции.

Напротив, вес блока использует более тонкую систему измерения, основанную на единицах веса. В этой системе байт данных, не являющихся свидетелями транзакции, эквивалентен 4 единицам веса, а байт данных-свидетелей эквивалентен всего 1 единице веса. При установленном ограничении в 4 миллиона единиц веса для блока блок, заполненный исключительно транзакциями, не относящимися к SegWit, по-прежнему будет соблюдать прежнее ограничение в 1 миллион байт.

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

Новые типы сценариев SegWit

В мире Биткойна типы сценариев представляют собой отдельные методы проведения биткойн-транзакций в блокчейне с помощью собственного языка сценариев под названием «Скрипт». С появлением SegWit для использования возможностей поля Witness были введены два новых типа скриптов: а именно Pay-to-Witness-Pubkey-Hash (P2WPKH) и Pay-to-Witness-Script-Hash (P2WSH).

Основная информация: эти типы сценариев, включая P2PKH и P2SH, существовавшие до эпохи SegWit, называются «устаревшими типами сценариев».

Плата свидетелю-PubKey-Hash (P2WPKH)

До появления SegWit наиболее часто используемым сценарием был Pay-to-Pubkey-Hash (P2PKH), механизм, который эффективно привязывал биткойн к хешу открытого ключа. P2WPKH, инновация SegWit, с небольшим отличием отражает функциональные возможности P2PKH. В сценарии использования вывода P2WPKH основные компоненты — подпись и открытый ключ — надежно размещены в Witness. При этом ScriptSig остается нетронутым. Этот стратегический шаг направлен на предотвращение потенциальной гибкости идентификатора транзакции.

Хэш сценария оплаты свидетелю (P2WSH)

Вслед за P2PKH, Pay-to-Script-Hash (P2SH) стал популярным устаревшим типом сценариев. Он позволяет пользователям отправлять биткойны в уникальный произвольный хеш скрипта, получивший название redeemScript. Любой, кто оснащен этим redeemScript и соответствует его установленным критериям, может вернуть этот биткойн.

На заре своего существования P2SH в основном обслуживал транзакции с мультиподписью, предлагая как повышенную эффективность использования пространства, так и конфиденциальность по сравнению с его аналогами, такими как простая мультиподпись.

Введите хэш сценария оплаты для свидетеля SegWit (P2WSH). Его образ действий тесно перекликается с P2SH. Выходы P2WSH разблокируются при использовании скрипта-свидетеля (версия redeemScript от SegWit) вместе с необходимыми подписями и открытыми ключами. Отражая подход в P2WPKH, входные данные P2WSH требуют пустого поля ScriptSig, относя свидетеля сценария, включающего жизненно важные подписи и открытые ключи, на территорию свидетеля.

Обернутый SegWit

Внедрение новых типов сценариев в протокол Биткойна — немалая задача, учитывая множество кошельков, приложений и сервисов, которые с ним взаимодействуют. Чтобы сгладить переход и облегчить постепенное внедрение SegWit, был концептуализирован посредник, получивший название «обернутый SegWit».

По сути, завернутый SegWit функционирует как традиционный вариант сценария P2SH. Он легко интегрирует собственный сценарий SegWit, будь то P2WPKH или P2WSH, и выполняет его роль redeemScript сценария P2SH. Следовательно, полученные в результате обернутые сценарии SegWit классифицируются как P2SH-P2WPKH или P2SH-P2WSH.

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

Обратите внимание, что Plisio также предлагает вам:

Создавайте крипто-счета в 2 клика and Принимать криптовалютные пожертвования

12 интеграции

6 библиотеки для самых популярных языков программирования

19 криптовалют и 12 блокчейн

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.