Что такое сегвит биткоина: Полное Руководство По Segregated Witness

Содержание

Полное Руководство По Segregated Witness

Добро пожаловать в руководство для начинающих в мире криптовалют! Сегодня я расскажу вам о том, что такое SegWit (Сегвит).

На рынке существуют сотни криптовалют, и у каждой из них есть набор алгоритмов, которые определяют их работу. Этот набор алгоритмов называется протоколом. Итак, какое отношение это имеет к SegWit? Что такое SegWit?

Как и многие компьютерные программы, криптовалютные протоколы следует постоянно улучшать и обновлять. Особенно, если обнаружены ошибки и глюки, которые необходимо исправить. Это то, что происходит, когда ваш ноутбук просит вас выключить и обновить его.

Чтобы внести изменения в криптовалюту, необходимо внести изменения в ее протокол. SegWit был обновлением, сделанным для протокола Биткоина в прошлом году.

В этом руководстве я расскажу вам все, что вам нужно знать о Сегвит. Я собираюсь рассказать вам, что такое SegWit и как он работает. Я также расскажу вам, какие улучшения он внес в сеть Биткоина и что эти улучшения означают для пользователей.

К концу этого руководства вам больше никогда не придется спрашивать себя: «Что такое SegWit?».

Начнем с того, что узнаем, откуда взялся Сегвит и чего пытается достичь…

История SegWit

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

Уилль предложил SegWit в качестве решения для устранения недочетов в протоколе Биткоина. В разработке программного обеспечения, решения для устранения недостатков называются

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

Предложение Уилла по поводу SegWit вызвало большие споры в сообществе, и прошло почти два года, прежде чем оно было внедрено. Наконец, протокол был активирован 23 августа 2017 года. Тот же патч был применен к протоколу

Litecoin 10 мая 2017 года.

Примечание: Litecoin — это криптовалюта, код которой основан на протоколе Биткоина. Поскольку они очень похожи, у неё тоже была проблема пластичности транзакций.

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

Прежде чем мы перейдем к какому-либо из этих вопросов, давайте более подробно рассмотрим проблему пластичности транзакций. Итак, что такое пластичность транзакции и что делает SegWit, чтобы убрать эту проблему?

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

Основы Блокчейна

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

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

Для обработки одного блока транзакций сети потребуется около 10 минут, но это может занять гораздо больше времени. Сеть Биткоина может обрабатывать от 3 до 7 транзакций в секунду (Tx/s). Однако этот показатель может снизиться, когда сеть перегружена.

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

Самые понравившиеся находки

Ищете более подробную информацию по связанным темам? Мы собрали подобные статьи для вас, чтобы сэкономить ваше время. Взгляните!

Объяснение Работы Транзакций Для Новичков

Люси хочет отправить 10 Биткоинов (BTC) Джуд. Для этого Люси и Джуд нужны два вида информации:

  • Публичный ключ: Он похож на адрес электронной почты Биткоина. Публичный адрес — это цифровое местоположение, куда Люси отправляет Биткоины. У Джуд есть публичный адрес для получения Биткоинов. Публичные адреса открыты и видны каждому пользователю.
  • Приватный ключ: Если публичные адреса похожи на адреса электронной почты, то закрытые ключи похожи на пароли от них. Они доказывают, что публичные ключи — и, следовательно, сами Биткоины, которые он содержит — принадлежат Люси и Джуд.
    Только Люси может видеть личный ключ Люси, и только Джуд может видеть личный ключ Джуд.

Вот, что нужно знать для того, чтобы провести транзакцию…

Обычная Транзакция Биткоина

Как на самом деле выглядит отправка 10 BTC от Люси к Джуд?

  1. Люси отправляет запрос в сеть. Запрос содержит публичный адрес Джуд, количество отправляемых монет (10 BTC) и комиссионные для майнеров. Также транзакция содержит подпись приватным ключом Люси, подтверждающей, что у Люси есть 10 BTC для их отправки, Эта информация о
    подписи
    называется  информация о владельце (witness data)
  2. Майнеры обрабатывают транзакцию. Они помещают информацию Люси вместе с информацией Джуд и шифруют ее. Это означает, что они превращают информацию в строку компьютерного кода. Этот код называется идентификатором транзакции (transaction ID).
  3. Транзакция помещается в очередь обработки. Если Люси установила низкую комиссию за транзакцию, она может стоять в очереди очень долгое время! Это как заказывать еду в ресторане. Если вы не дадите чаевые официанту, то он будет вас долго обслуживать! Люси может ускорить процесс, отправив транзакцию еще раз с более высокой комиссией. Идентификатор транзакции теперь добавляется к идентификаторам транзакций других пользователей и снова шифруется. Этот процесс продолжается до тех пор, пока не будет достигнут предел в 1 МБ информации о транзакции и не будет сформирован блок.
  4. Блок подтвержден. Блок транслируется в сеть, и если более половины всех нодов согласны с тем, что информация о нем действительна, он может быть подтвержден и добавлен в блокчейн. Джуд получает 10BTC от Люси.

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

Что Значит Пластичность Транзакций?

Используя тот же пример, я покажу вам, как Джуд может использовать пластичность транзакции, чтобы обманом заставить Люси отправить ему 20BTC вместо 10. Вот как это работает…

Пластичность транзакции в коде Биткоина позволяет Джуд изменять данные подписи Люси до подтверждения транзакции. Это изменяет идентификатор транзакции без изменения самой транзакции (которая по-прежнему отправляется от Люси к Джуд в размере 10 BTC).

Когда эта измененная транзакция подтверждается сетью, она отменяет исходную транзакцию. Теперь Джуд связывается с Люси, чтобы сказать ей, что он не получил 10 BTC, хотя он на самом деле получил!

Люси проверяет и видит, что оригинальная транзакция не прошла. Теперь она увеличивает комиссию за транзакцию и отправляет ее снова. Эта новая транзакция обрабатывается сетью. Джуд получает еще 10 Биткоинов!

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

Источник: bitcoinmagazine

Транзакции, на которые повлияла пластичность транзакции, показаны красным.

Итак, что такое SegWit и что он делает для решения проблемы пластичности транзакций?

Решение Проблемы Пластичности Транзакций

Как я упоминал ранее, SegWit — это патч, разработанный Питером Уайллем для предотвращения пластичности транзакций. Это работает, на самом деле довольно просто. Чтобы запретить использование данных подписей для изменения идентификаторов транзакций, Уилль предложил удалить их из транзакции! Просто, правда?

Полное название SegWit, если дословно — отделенный свидетель (segregated witness). Разделить означает удалить или отделить, поэтому SegWit буквально означает удалить данные свидетеля, а в нашем случае данные подписи, вынести их за блок.

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

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

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

Теперь вы знаете, как Сегвит предотвращает пластичноть транзакций, но история с SegWit на этом не заканчивается. SegWit повлиял на сеть Биткоина таким образом, о котором Питер Уайль даже не думал, когда создавал его!

Далее я расскажу вам о масштабируемости и lightning network. Я начну с масштабируемости…

Итак, что такое масштабируемость, которую позволил достичь SegWit?

Масштабируемость Биткоина с Помощью Сегвита

Сначала позвольте мне объяснить, что такое масштабируемость. Масштабируемость — это способность сети обрабатывать огромное количество транзакций без снижения скорости транзакций. Если сеть масштабируема, она сможет обрабатывать транзакции так же быстро или даже быстрее, поскольку она становится больше. К сожалению, большинство криптовалют обрабатывают транзакции медленнее, чем больше они становятся.

Криптовалюты имеют проблему масштабируемости, потому что транзакции обрабатываются на основе консенсуса. Как я упоминал ранее, более половины нодов в сети Биткоина должны подтвердить то, что транзакция является действительной, прежде чем она может быть добавлена ​​в блокчейн. Чем больше нодов в сети, тем больше времени требуется для достижения соглашения или консенсуса.

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

Когда Питер Уайлль создал SegWit, он также случайно увеличил масштабируемость сети! Свидетельские данные (а именно подписи) занимали 65% каждого блока Биткоин. Удалив подписи из блока, блоки SegWit могут вместить гораздо больше информации о транзакциях.

Каждый блок теперь имеет определенный размер блока, который ограничен 4 МБ. Размер блока представляет собой комбинацию 1 МБ информации, хранящейся в основном блокчейне, и подписей, хранящихся в боковой цепочке. Сегвит позволяет сети обрабатывать больше транзакций без изменения общего размера цепочки Биткоина.

Итак, если кто-то спросит вас: «Что такое масштабируемость SegWit?», Вы можете сказать им, что это способ обработки большего количества транзакций в сети Биткоин. Это делает сеть легче, удаляя данные подписей из транзакций, не влияя на размер цепочки.

Теперь я хочу рассказать вам об еще одной захватывающей разработке, которую делает SegWit. Что сейчас использует SegWit?

Lightning Network

Сеть Lightning — это еще одно решение проблемы масштабируемости Биткоина, и она не будет работать без отделения подписей от блока.
Сеть Lightning позволяет пользователям настраивать каналы оплаты для микроплатежей. Давайте использовать Люси и Джуд для другого примера:

Джуд работает на Люси. Она платит ей 1BTC в день. Вместо того чтобы обрабатывать транзакцию в основной цепочке блоков, Люси и Джуд создали частный канал платежей, где Люси может отправлять Биткоины напрямую Джуд. Она отправляет ей микроплатеж 1BTC в день. Каждый микроплатеж должен быть подписан как Люси, так и Джудом. По этой причине они называются транзакциями с несколькими подписями (multi-signature transactions).

Джуд работает на Люси десять дней. По истечении десяти дней Люси и Джуд закрывают платежный канал. В этот момент все микроплатежи транслируются в сеть как одна транзакция для 10BTC.

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

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

Теперь вы знаете, что такое Bitcoin SegWit, как он работает и что он значит для сети Биткоин. Прежде чем я закончу, я кратко расскажу о том, что хорошего в SegWit. Я также расскажу вам какой критике подверглось это решение после его внедрения…

Что Такое SegWit: Преимущества

 

 Преимущества

Пластичность транзакций ушла в прошлое. SegWit — это простое и креативное решение основной проблемы в протоколе Биткоина.

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

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

Возможны новые и интересные разработки. Если Биткоин собирается обслуживать сеть миллионов людей, то ему необходимо решить проблему масштабируемости. SegWit помогает воплотить такие масштабируемые проекты, как сеть Lightning, в реальность.

Что Такое SegWit: Недостатки

 

Недостатки

✗ Он не поддерживается достаточным количеством узлов. Многим майнерам не нравится SegWit. Более низкие сборы влияют на их прибыль, и они также не видят необходимость поддерживать Сегвит, который снижает их доход от комиссий. Другие сервисы Биткоина, такие как кошельки, также не спешат поддерживать изменения SegWit. В феврале 2018 года, почти через шесть месяцев после его активации, только 14% транзакций Биткоина было совершено с использованием SegWit. С тех пор цифры улучшились, но сеть все еще далека от полного обновления.

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

SegWit вызвал разногласия в сообществе. Разногласия вокруг SegWit вызвали несколько хардфорков. Наиболее известным из них является Bitcoin Cash (BCH).

Теперь у вас есть вся информация, вы можете ответить «Что такое SegWit?» Прежде чем мы закончим, я хочу поделиться с вами несколькими заключительными мыслями…

Самые трендовые находки

Просмотрите нашу коллекцию самых подробных статей, руководств и учебных пособий по криптообмену. Всегда будьте в курсе дела и принимайте продуманные решения!

Заключение

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

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

Дебаты о SegWit продолжаются и теперь вы знаете достаточно, чтобы высказать свое мнение. Что для вас значит Сегвит? Это захватывающая новая разработка, которая улучшит Биткоин в будущем? Или это временное решение гораздо больших проблем, с которыми сталкивается сеть Биткоина?

Оставьте свой отзыв

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

Segregated Witness для чайников / Хабр

Масштабируемость биткоина является одной из его главных проблем, над решением которой активно работают. Одним из представителей этих решений является, например, технология Lightning network, но ее реализация пока что не представляется возможной ввиду некоторых уязвимостей. Другое решение — Segregated Witness также направлено на повышение масштабируемости, но ко всему прочему решает еще и целый ряд проблем, включая ту самую уязвимость, мешающую реализации лайтнинга. В этой статье мы рассмотрим основные преимущества Segregated Witness, а также опишем механизм его работы.

Segregated witness, или как многие его называют SegWit, это софт-форк, описанный в серии BIP’ов (141, 142, 143, 144 и 145), главной целью которого является оптимизация структуры транзакций и блоков с помощью вынесения подписей (то, что называют ‘scriptSig‘, ‘witness‘ или же ‘unlocking script‘) из транзакции в отдельную струтуру. Это не только позволяет уменьшить размер транзакций, делая блоки более вместительными, но и решает проблему их «изменяемости» (transaction malleability, именно об этой уязвимости мы и говорили выше), что очень важно для технологий наподобие платежных каналов или лайтнинга, пологающихся на строение транзакции биткоина.


How it works


Before we begin

Для начала кратко напомним, что из себя представляет платежная система в биткоине. В ней нет ничего наподобие списка балансов как это может быть реализовано в каком-нибудь банке. Вместо этого, баланс каждого адреса представлен набором транзакций, отправленных на этот адрес, где транзакция — это структура, в которой главными являются входы (inputs) и выходы (outputs). Входы — это транзакции, на которые мы ссылаемся, чтобы потратить (если точнее то это не транзакции полностью, а их конкретные выходы, т.к в одной транзакции мы можем переводить средства на несколько адресов), а выходы — это адреса, на которые мы хотим перевести средства. Вот так выглядит структура транзакции биткоина:

Поле PubKey script (далее scriptPubKey) в выходах это то, что называют locking script. Оно нужно для того, чтобы только владелец адреса, на который перечисляются срества, смог воспользоваться этим выходом. Поле Signature Script (далее scriptSig) еще называют unlocking script — оно «отпирает» locking script, предоставляя доказательство владения адресом.

Подробнее о транзакциях, а также о работе запирающего и отпирающего скрипта можно почитать здесь.


Backward compability

На самом деле, Segregated Witness меняет не только строение транзакции, но и ее выходы. Это, однако, не значит, что в одной и той же транзакции не могут быть потрачены как традиционные UTXO (unspent transaction outputs), так и сегвитовские — просто первые будут ожидать «доказательства» внутри входа (поле scriptSig), а вторые — снаружи.

Так как Segregated Witness все-таки является софт-форком, его обновления могут быть проигнорированы, а значит более старые системы должны как-то обрабатывать сегвитовские выходы. Дело в том, что для старых нод или кошельков эти выходы выглядят как доступные всем, то есть они могут быть потрачены с пустой подписью, что все еще валидно. Принявшие обновление ноды и кошельки конечно же будут искать все подписи снаружи входов в специальном поле ‘witness’.


Examples


Pay-to-Witness-Public-Key-Hash

Теперь давайте взглянем на примеры транзакций и на то, как они изменятся с Segregated Witness. Мы начнем со стандартной Pay-to-Public-Key-Hash (P2PKH) транзакции.

Нас интересуют выходы, а именно их поля «scriptPubKey». Рассмотрим типичный locking script:

OP_DUP OP_HASh260 <PubKeyHash> OP_EQUALVERIFY OP_CHECKSIG

C Segregated Witness он будет выглядеть так:

0 <PubKeyHash>

Как видите, сегвитовский выход намного проще традиционного — он состоит из двух значений, которые будут помещены на стэк исполнения скрипта. Как мы уже упомянули ранее, для старых версий клиента биткоина этот выход будет виден как доступный любому, так как он не требует подписи. А вот для обновленного клиента первое число интерпретируется как номер версии, а второе как аналог запирающего скрипта (witness program). На самом деле, здесь должен быть использован хеш сжатого публичного ключа, об этом мы расскажем немного позже.

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

[...]
"Vin" : [
 {
"txid": "8adbca5e652c68f8f3c30ac658115bc4af395d0cc7e6beaea18168295c29d011",
"vout": 0,
"scriptSig": "<our scriptSig>"
 }
]
[...]

Однако, чтобы потратить сегвитовский выход, транзакция должна иметь пустое поле sriptSig и содержать все подписи в отдельном месте:

[...]
"Vin" : [
 {
"txid": "8adbca5e652c68f8f3c30ac658115bc4af395d0cc7e6beaea18168295c29d011",
"vout": 0,
"scriptSig": ""
 }
]
[...]
"witness": "<Witness data>"
[...]

Warning

Несмотря на то, что традиционные клиенты могут обрабатывать сегвитовские транзакции (напомню, что их выходы выглядят как доступные всем для старых клиентов), они не могут тратить их выходы, так как они просто не знают, как это сделать: кошелек старого типа попытается потратить сегвитовский выход с пустой подписью, однако эта транзакция на самом деле не валидна (ноды, имеющие Segregated Witness, не пропустят такую транзакцию). Это значит, что отправитель должен знать, поддерживает ли кошелек получателя segwit или нет, чтобы создавать выходы нужного типа.


Начиная с BIP 143 выходы должны быть созданы с помощью хеша сжатого публичного ключа. Если вы создадите выход используя обычный адрес или несжатый публичный ключ, этот выход будет неиспользуемым.

Pay-to-Witness-Script-Hash

Следующим очень важным типом транзакции является P2SH — он позволяет отправлять транзакции на хеш скрипта вместо хеша публичного ключа (обычный адрес биткоина). Чтобы потратить выход P2SH транзакции нужно предоставить скрипт (его называют redeem script), хеш которого совпадает с хешем скрипта на который отправлены средства, а также подписи/пароли/что-то еще в зависимости от скрипта. Используя такой подход можно отправлять биткоины на адрес, защищенный способом, о котором нам ничего не известно, а также сильно экономить место — в случае, например, кошелька с мультиподписью (multisignature wallet) locking script был бы действительно большим, если бы мы хранили все «замки» полностью, а не только их хеш.

Итак, рассмотрим в качестве примера кошелек с мультиподписью, требующий наличия 2ух подписей из 5. В традиционном виде locking script выхода P2SH транзакции выглядит так:

HASh260 54c557e07dde5bb6cb791c7a540e0a4796f5e97e EQUAL

Чтобы потратить его, нужно предоставить redeem script, определяющий условие мультиподписи 2 из 5, а также 2 подписи и все это должно находится во входе транзакции:

[...]
"Vin" : [
"txid": "abcdef12345...",
"vout": 0,
         "scriptSig": "<SigA> <SigB> <2 PubA PubB PubC PubD PubE 5 CHECKMULTISIG>",
]

Теперь давайте взглянем, как бы все это выглядело, если бы и отправитель и получатель использовали Segregated Witness.

Locking script выхода:

0 9592d601848d04b172905e0ddb0adde59f1590f1e553ffc81ddc4b0ed927dd73

Опять же, как и в случае с P2PKH транзакцией полученный скрипт намного проще. Здесь 1ое значение это номер версии, а второе — 32 байтный SHA256 хеш redeem script’a (witness program). Эта хеш-функция была выбрана для того, чтобы как-то отличать witness program P2WPKH от оной для P2WSH по длине хеша (32 байта SHA256 и 20 байт RIPEMD160(SHA256(script))).

Транзакция, использующая этот выход:

[...]
"Vin" : [
"txid": "abcdef12345...",
"vout": 0,
         "scriptSig": "",
]
[...]
"witness": "<SigA> <SigB> <2 PubA PubB PubC PubD PubE 5 CHECKMULTISIG>"
[...]

Embedding Segregated Witness inside P2SH

Итак, мы убедились, что использование Segregated Witness имеет свои преимущества, однако для приведенных выше примеров и отправитель и получатель должны быть обновлены, что возможно далеко не всегда. Рассмотрим, например, такую ситуацию:

Алиса хочет отправить биткоинов Бобу, но у нее нет сегвит-кошелька, в то время как у Боба он есть. Конечно же, они могут просто использовать стандартную транзакцию, однако Боб хочет использовать segwit для сокращения комиссии.

В таком случае Боб может создать P2SH адрес, содержащий в себе segwit скрипт. Для Алисы он будет виден как самый обычный P2SH адрес и она сможет без каких либо проблем перевести на него средства, а Боб сможет потратить этот выход используя сегвит-транзакцию и получив скидку на комиссию (о новой метрике установления комиссии для сегвит транзакций мы расскажем ниже).

Таким образом оба типа сегвит-транзакций — P2WSH и P2WPKH могут быть реализованы внутри P2SH.


P2SH(P2WPKH)

Для использования P2WPKH транзакции внутри P2SH Бобу нужно создать witness program из своего публичного ключа. Затем результат нужно хешировать и преобразовать в P2SH адрес:

Создаем witness program:

0 ab68025513c3dbd2f7b92a94e0581f5d50f654e7

Как обычно — 1ое число это версия и 2ое это 20 байтный хеш публичного ключа. Полученный скрипт затем хешируется SHA256 и потом RIPEMD160, выдавая очередной 20 байтный хеш.

HASh260 от witness program P2WPKH:

3e0547268b3b19288b3adef9719ec8659f4b2b0b

И преобразовываем в адрес:

37Lx99uaGn5avKBxiW26HjedQE3LrDCZru

Locking script выхода отправленного на этот адрес будет выглядеть как скрипт для обычного P2SH адреса:

HASh260 3e0547268b3b19288b3adef9719ec8659f4b2b0b EQUAL

Теперь рассмотрим как Боб может потратить этот выход:

[. ..]
"Vin" : [
 {
"txid": "8adbca5e652c68f8f3c30ac658115bc4af395d0cc7e6beaea18168295c29d011",
"vout": 0,
"scriptSig": "0 ab68025513c3dbd2f7b92a94e0581f5d50f654e7"
 }
]
[...]
"witness": "<Witness data>"
[...]

Сначала предоставленный нами redeem script (в нашем случае это witness program) будет хеширован и, если он равен хешу, указанному в locking script’e, то он будет выполнен и будут проверены подписи в поле «witness».


P2SH(P2WSH)

Точно также любой P2WSH скрипт может быть реализован внутри P2SH. Возьмем multisig скрипт 2 из 5, рассмотренный ранее. Все шаги будут практически идентичны случаю P2SH(P2WPKH):

Для начала, опять же, создаем witness program:

0 9592d601848d04b172905e0ddb0adde59f1590f1e553ffc81ddc4b0ed927dd73

1ое число — версия, 2ое — 32 байтный SHA256 хеш нашего скрипта мультиподписи. Далее шаги повторяются — берем HASh260 от witness program и преобразовываем в обычный P2SH адрес. Для использования выхода, отправленного на этот адрес, в scriptSig нужно записать witness program, а все подписи и полный скрипт мультисига в поле witness.


Segregated witness benefits

Теперь, когда мы разобрались с технической частью, рассмотрим основные преимущеста segregated witness.


Transaction malleability

Одной из самых важных проблем, которые решает segwit является «изменяемость» транзакций, а если точнее, то их ID, являющиеся хешами. Разберемся немного подробнее.

В традиционном случае подписи, находящиеся внутри транзакции во входах, могут быть изменены третьей стороной без их инвалидации. Это позволяет изменять ID транзакции, являющийся ее хешем, не меняя никаких «фундаментальных» полей вроде входов/выходов/количества средств. Таким образом транзакция все еще валидна, однако теперь имеет другой ID, что создает возможность для разного рода атак, например denial-of-service.

Segwit решает эту проблему, т.к все подписи находятся снаружи транзакции, а значит не хешируются и их изменение никак не повлияет на ID транзакции. Также вводится отдельный идентификатор wtxid — он хеширует не только транзакцию но и всю witness часть, так что если транзакция передается без witness данных, то txid равен wtxid.

Решение данной проблемы позволяет создавать цепочки неподтвержденных транзакций без какого-либа риска — очень важное свойство для таких протоколов как Lightning Network.


Network and Storage Scaling

Witness данные зачастую составляют самую большую часть транзакции. В скриптах наподобие multisig’a они могут занимать до 75% места используемого транзакцией. Благодаря segwit’y передача подписей становится опциональной — нода запрашивает их только если собирается проводить валидацию транзакции. SPV (simple payment verification) клиенты или ноды, не поддерживающие сегвит, в таком случае могут не загружать лишние данные, экономя место на диске.


Block size increase and lower transaction fees

Segwit транзакции обходятся дешевле, нежели традиционные за счет скидки на хранение witness данных. Если быть точнее, то было изменено само понятие «размера» для segwit транзакций. Вместо обычного размера для них было введено понятие «виртуального размера» (virtual size) — все данные, хранящиеся в «witness», учитываются с коэффицентом в 0. 25, что также позволяет разместить в блоке больше транзакций. Рассмотрим на примере.

Пусть у нас есть традиционная транзакция размером в 200 байт. В блок размера 1 МB поместится 5000 таких. Теперь возьмем ее segwit эквивалент, где примерно 120 байт это witness данные. Тогда ее vsize = 80 + 0.25 * 120 = 110 и теперь уже 9090 таких транзакций влезут в блок. Также при комиссии, допустим, в 40 satoshi/byte для 1ой транзакции мы получим комисси в 8000 сатоши, а для 2ой 4400 сатоши, что практически в два раза меньше.


Script Versioning

Как вы уже могли заметить, каждый locking script имеет байт, отвечающий за версию скрипта. Использование версий позволяет вносить дополнения и изменения (изменения в синтаксисе, новые операторы и тд.) в виде софт-форков.


Signature Verification Optimization

Segregated Witness также оптимизирует работу алгоритмов с подписями (CHECKSIG, CHECKMULTISIG и тд.). До segwit’a количество хеш-вычислений увеличивалось квадратично от количества подписей, в то время как в обновлении сложность алгоритма понижена до O(n).


So what is the problem?

Так если все так хорошо, в чем же проблема? Обновление имеет немало противников в сети, так как несмотря на все очевидные преимущества, оно имеет и свои слабые стороны. Рассмотрим некоторые из аргументов против.


  • Так как segwit является софт-форком, обновлены будут далеко не все клиенты, а значит в сети будут находится одновременно два вида UTXO, и такие важные изменения как устранение уязвимости id транзакций и хеширование за линейное время не будут применены к не сегвитовским выходам, а значит сеть все еще будет уязвима к атакам, основанным на изменяемости id транзакций, а также к проблеме квадратичного времени хеширования.
  • Segwit может уменьшить безопасность сети. Количество нод, проводящих полную валидацию, сильно уменьшится, так как только принявшие segwit смогут проверять witness часть транзакций.
  • Segwit не может быть отменен. Если его отменить и откатить все изменения обратно, все segwit-выходы станут доступными каждому.
  • Segwit пытается решить все проблемы сразу и, как следствие, огромное количество кода изменено. Это усложняет дальнейшую работу и увеличивает вероятность появления багов, которые будет сложнее устранить.

Conclusion

Несмотря на то, что, возможно, для проблем, решаемых SW, могут быть предоставлены более элегантные решения, мы считаем, что на данный момент это отличный способ повысить масштабируемость сети, а также сделать возможным внедрение таких технологий как Lightning Network, подробный разбор которой мы также проведем в следующих статьях.


References

«Mastering bitcoin» — Andreas M. Antonopoulos

Bitcoin Core blog

Many segwit resources

Good article about txn malleability

Что такое SegWit Биткоина

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

Как работает обновление SegWit

Блок блокчейна Bitcoin содержит информацию о некотором количестве транзакций, каждая из которых до внедрения обновления Сегвит выглядела следующим образом:

Структура транзакции сети Биткоин

Выделенное красным — цифровая подпись отправителя и публичный ключ, необходимые для проверки баланса счета отправителя (есть ли нужная сумма) и подтверждения корректности операции. Около 60% веса (кода) транзакции отвечает за эти параметры. Сегвит выносит информацию о цифровой подписи из транзакции и добавляет ее в расширенный блок (Extended block), что на 47% сокращает место в основном блоке и позволяет добавить в него больше транзакций.

Схема транзакции Bitcoin без SegWit (вверху) и с ним (внизу)

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

Проблема transaction malleability

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

Рассмотрим на примере, как это работало. Допустим, Алиса хочет отправить три биткоина Бобу. Она создает транзакцию на адрес Боба и ожидает ее подтверждения.

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

Если транзакция с измененным ID подтвердится и добавится в блок быстрее транзакции Алисы, то транзакция Алисы будет отменена и перезаписана измененной транзакцией. В этом случае Боб получает три биткоина и может сказать Алисе, что он не получил никаких денег. Алиса действительно увидит, что ее транзакция не подтверждена, и отправит ее снова. Таким образом, Боб получает шесть монет вместо трех.

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

Предполагается, что именно таким образом в свое время было нелегально выведено около 65000 BTC из популярной MtGox. Кроме того, такой атаке подвергалась сеть Bitcoin Cash сразу после хард-форка.

Александр, 35 лет. Опыт работы: 8 лет в трейдинге и 5 лет работы с криптовалютами

Set your Author Custom HTML Tab Content on your Profile page

Что такое СегВит и как он работает : Bitcoin Novosti

Что такое СегВит и как он работает : Bitcoin Novosti

Что такое СегВит и как он работает : Bitcoin Novosti
Bitclub Network легальная, майнинговая компания, на рынке работает и платит уже с 2014 года
✍🏻РЕГИСТРАЦИЯ : http://ru. bitclub.network/roland4
инструкция ¦ Регистрация и как оплатить пакет VIDEO
https://goo.gl/zKba4F

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

Биткойн – это также и всемирная платежная система, через которую можно проводить операции с данной валютой. Главное ее отличие от традиционных платежных систем в том, что система Биткойн не имеет никакого управляющего и процессингового центра — все операции происходят исключительно в сети равноправных клиентов.

Все значимые события из мира биткойн и криптовалют, прогнозы, аналитика, факты.
► «6 ЛЕТ ОНЛАЙН-БИЗНЕСА ЗА 30 ДНЕЙ»
БЕСПЛАТНО АВТОРСКИЙ КУРС : http://roland4.bitclub.zone

►биткоин кошелек с бонусом 10 долларов
регистрация : https://goo. gl/n3uVxM
обменник валюты: https://www.bestchange.ru/?p=119165
►НАША ГРУППА В КОНТАКТЕ : https://vk.com/club137244311
►Вконтакте: https://vk.com/id338314695
►Facebook https://www.facebook.com/mihkel.mutikas
►Twitter https://twitter.com/rolandmorozov
►Email : [email protected]
►Blog : https://bitcoinbitclubnetwork.blogspot.com.
►Подпишись на канал: https://www.youtube.com/channel/UCq0S6oRluM7JJhA7CQjepyw

►Если есть желание помочь проекту , тогда вот кошелек payeer: P26929966

►Bitcoin: 15XJFSg7foUbu46XhCc5hc4YJwhqb4yVFq


BitClub Network : членство в клубе пошаговая инстру
Bitclub Network легальная, майнинговая компания, на рынке работает и платит уже с 2014 года
✍🏻РЕГИСТРАЦИЯ : http://ru.bitclub.network/roland4
инструкция ¦ Регистрация и как оплатить пакет VIDEO
https://goo.gl/zKba4F

► «6 ЛЕТ ОНЛАЙН-БИЗНЕСА ЗА 30 ДНЕЙ»
БЕСПЛАТНО АВТОРСКИЙ КУРС : http://roland4.bitclub.zone

Наше решение подходит для тех , кто новичок в мире криптовалюты, а также для экспертов в области криптовалюты и для крупных инвесторов.

Мы предлагаем Вам возможность начать свою ​​собственную карьеру с нами. Это просто — просто сказать миру о нас и зарабатывать дополнительные деньги ле
►Вконтакте: https://vk.com/id338314695
►Facebook https://www.facebook.com/mihkel.mutikas
►Twitter https://twitter.com/rolandmorozov
►Email : [email protected]
►Blog : https://bitcoinbitclubnetwork.blogspot.com.
►Подпишись на канал: https://www.youtube.com/channel/UCq0S6oRluM7JJhA7CQjepyw

►Если есть желание помочь проекту , тогда вот кошелек payeer: P26929966

►Bitcoin: 15XJFSg7foUbu46XhCc5hc4YJwhqb4yVFq

behappy24 bh34 осознанность биткоин bitcoin blockchainтехнологии bitclubnetwork bitclub #BlockChain #Бизнес Инвестиции команда обучение свобода успех деньги криптовалюта пассивныйдоход развитие mlm денисбойко #BitcoinNovosti MLM bitclubzone misterxal

На 28 декабря намечен запуск хардфорка биткоина

Команда говорит, что создала новую криптовалюту без недостатков Читатели URA. RU

28 декабря стартует запуск хардфорка биткоина. Проект Команда Segwit2X*1 планировала начать еще в середине ноября, но 9 ноября он был отменен из-за раскола в биткоин-сообществе.

Торговля фьючерсами проекта идет уже сегодня, например, на бирже HitBTC. На новостях о возобновлении проекта их стоимость уже увеличилась в три раза. Форк уже поддерживает очень крупная биржа с оборотом более миллиарда долларов в сутки, биткоиновый кошелек и майнинговый пул — zumminer.com, кошелек www.webmoney.ru и другие. К 28 декабря планируется добыча блока №501454. Представители команды говорят, что новая криптовалюта будет лишена всех недостатков, присущих BTC [биткойну].

Скорость и безопасность транзакций — ключевые аспекты работы на рынке криптовалют. Но их популярность сыграла злую шутку. Сегодня их комиссии и количество достигли настолько невероятных показателей, что из-за высокой загрузки скорость их подтверждения в отдельных случаях достигает нескольких дней. Учитывая, что пользователи платят комиссию майнерам, средние расходы за перевод выросли. А сетевые узлы, на которых хранится история всех транзакций, создаются в результате увеличения размера блока и запускаются сложнее.

Segwit2X [Сегвит] планирует устранить ограничения по количеству транзакций, которые могут обрабатываться одновременно (до 1Мб каждые 10 мин) и связанные с этим задержки при проведении транзакции во время высоких нагрузок;

В Segwit2X [Сегвит] размера блока увеличен до 4 Мб; обеспечивается высокая скорость добычи блока — 2,5 минуты. Пересчет сложности идет после каждого блока, и стоит дополнительная защита от дублирования транзакций. Эмиссия составляет 21 млн монет. Как говорят создатели, такие функциональные возможности будут доступны уже с 15 января. Но в планах команды еще более грандиозные инновации: например, Roadmap [дорожная карта] oффлайн-коды; поддержка LightningNetwork, моментальные транзакции; технология ZkSnark; поддержка смарт-контрактов; анонимные транзакции.

Segwit2X (ООО «АНЖ») — это проект, возникший в мае 2017 года. Тогда ведущие лидеры сферы Bitcoin, в т. ч. такие компании как Bitmain, GenesisMining, Bitfury, Xapo, F2Pool, ShapeShift, подписали соглашение о запуске SegregatedWitness с увеличением блока до 2 Мб.

«Мы не создаем альтернативу биткоина. Segwit2X разработан не для того, чтобы создавать ему конкуренцию или работать вместо него. Напротив, вместе с BTC мы создадим совершенную криптовалюту! Вместе мы доведем проект, созданный для решения всех актуальных проблем пользователей, до победного конца!» — заявляют участники команды.

Сейчас команда объявляет о настоящем рождественском подарке: все держатели BTC в качестве вознаграждения за их приверженность делу получат не только B2X в соотношении 1 к 1 от Сатоши Накамото, но и пропорциональное количество биткоинов. Важно добавить, что пользователи получат в соотношении 1к1 свои новые монеты Bitcoin Swgwit2x в случае, если будут хранить в момент форка средства на указанных биржах или кошельках. Также будет возможность получения монет через извлечение приватного ключа в собственном кошельке Bitcoin Segwit2x, но эта опция будет доступна через некоторое время, после тестирования.

Если биржа или кошельки не поддерживают данный форк и не начисляют пользователям их монеты, это фактически означает что они их забирают себе, в связи с чем поддержка сообщества крайне важна, если все хотят получить новогодний бонус!

Новый год — идеальный момент для рестарта биткоин-проекта, хорошая возможность инвестировать в стартап.

Больше подробностей о новом проекте в официальном русском чате — в Телеграм.

На правах рекламы

28 декабря стартует запуск хардфорка биткоина. Проект Команда Segwit2X*1 планировала начать еще в середине ноября, но 9 ноября он был отменен из-за раскола в биткоин-сообществе. Торговля фьючерсами проекта идет уже сегодня, например, на бирже HitBTC. На новостях о возобновлении проекта их стоимость уже увеличилась в три раза. Форк уже поддерживает очень крупная биржа с оборотом более миллиарда долларов в сутки, биткоиновый кошелек и майнинговый пул — zumminer.com, кошелек www.webmoney.ru и другие. К 28 декабря планируется добыча блока №501454. Представители команды говорят, что новая криптовалюта будет лишена всех недостатков, присущих BTC [биткойну]. Скорость и безопасность транзакций — ключевые аспекты работы на рынке криптовалют. Но их популярность сыграла злую шутку. Сегодня их комиссии и количество достигли настолько невероятных показателей, что из-за высокой загрузки скорость их подтверждения в отдельных случаях достигает нескольких дней. Учитывая, что пользователи платят комиссию майнерам, средние расходы за перевод выросли. А сетевые узлы, на которых хранится история всех транзакций, создаются в результате увеличения размера блока и запускаются сложнее. Segwit2X [Сегвит] планирует устранить ограничения по количеству транзакций, которые могут обрабатываться одновременно (до 1Мб каждые 10 мин) и связанные с этим задержки при проведении транзакции во время высоких нагрузок; В Segwit2X [Сегвит] размера блока увеличен до 4 Мб; обеспечивается высокая скорость добычи блока — 2,5 минуты. Пересчет сложности идет после каждого блока, и стоит дополнительная защита от дублирования транзакций. Эмиссия составляет 21 млн монет. Как говорят создатели, такие функциональные возможности будут доступны уже с 15 января. Но в планах команды еще более грандиозные инновации: например, Roadmap [дорожная карта] oффлайн-коды; поддержка LightningNetwork, моментальные транзакции; технология ZkSnark; поддержка смарт-контрактов; анонимные транзакции. Segwit2X (ООО «АНЖ») — это проект, возникший в мае 2017 года. Тогда ведущие лидеры сферы Bitcoin, в т. ч. такие компании как Bitmain, GenesisMining, Bitfury, Xapo, F2Pool, ShapeShift, подписали соглашение о запуске SegregatedWitness с увеличением блока до 2 Мб. «Мы не создаем альтернативу биткоина. Segwit2X разработан не для того, чтобы создавать ему конкуренцию или работать вместо него. Напротив, вместе с BTC мы создадим совершенную криптовалюту! Вместе мы доведем проект, созданный для решения всех актуальных проблем пользователей, до победного конца!» — заявляют участники команды. Сейчас команда объявляет о настоящем рождественском подарке: все держатели BTC в качестве вознаграждения за их приверженность делу получат не только B2X в соотношении 1 к 1 от Сатоши Накамото, но и пропорциональное количество биткоинов. Важно добавить, что пользователи получат в соотношении 1к1 свои новые монеты Bitcoin Swgwit2x в случае, если будут хранить в момент форка средства на указанных биржах или кошельках. Также будет возможность получения монет через извлечение приватного ключа в собственном кошельке Bitcoin Segwit2x, но эта опция будет доступна через некоторое время, после тестирования. Если биржа или кошельки не поддерживают данный форк и не начисляют пользователям их монеты, это фактически означает что они их забирают себе, в связи с чем поддержка сообщества крайне важна, если все хотят получить новогодний бонус! Новый год — идеальный момент для рестарта биткоин-проекта, хорошая возможность инвестировать в стартап. Больше подробностей о новом проекте в официальном русском чате — в Телеграм. На правах рекламы

От Legacy к SegWit — Инструкции

 

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

 

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

 

Многие уже заметили, что в различных кошельках адреса отличаются друг от друга: некоторые начинаются с “1”, другие с “3”, а есть и вовсе такие, что начинаются с “bc1”. Конечно же, такие отличия могут ввести в ступор пользователя — во-первых, не совсем понятно, для чего такое разнообразие, во-вторых, появляется страх потери средств при переводах (вдруг биткоины так и не дойдут до адресата).

Что ж, боязнь в целом оправдана, но “не так страшен черт как его малюют”. В этой статье мы разберем все тонкости связанные с bitcoin-адресами и покажем, что на самом деле все просто!

 

Что такое Bitcoin адрес

Адрес bitcoin кошелька (уникальный идентификатор) — это что-то вроде номера вашего криптовалютного счета. Он необходим как для получения биткоинов, так и для их отправки. Чтобы совершить перевод (транзакцию), пользователю необходимо указать адрес кошелька получателя. В свою очередь, получателю необходимо предоставить свой адрес отправителю. До недавнего времени, проблем с пониманием разных типов адресов и транзакций не было, поскольку все участники сети использовали единый формат биткоин адресов, а именно — Legacy. Но с развитием технологий, сменился не только формат записи адресов, но и способ обработки транзакций, совершаемых между адресами. 

Давайте более детально рассмотрим важные моменты этого вопроса…

 

Что такое Legacy

Legacy-адрес (P2PKH — Pay To Public Key Hash) — это стандартный формат Bitcoin адреса, изначально предусмотренный в протоколе и используемый большинством крипто-кошельков и сервисов. Такой адрес, предложенный создателем биткоина Сатоши Накамото, можно определить по цифре «1» (префикс), стоящей в начале каждого адреса (пример: 18sp5z1aYXMXGxef1xiPbCYnspcG8eQznh). Этот формат адресов был и остается самым ходовым с момента запуска сети bitcoin. Несмотря на широкое распространение Legacy-адресов, у них есть ряд прямых и косвенных недостатков:

 — Чувствительность к регистру вводимых данных и неудобство записи на бумаге;

 — Низкий приоритет для майнеров так как таких транзакций в блок помещается намного меньше;

 — Урезанная криптографическая стойкость используемой Биткоином цифровой подписи;

 — Не “гибкие” транзакции.

 

Технические тонкости!
Bitcoin использует алгоритм Base58 для преобразования открытых ключей в читаемый человеком формат. Он достаточно схож с известным Base64, но использует сокращенный алфавит, то есть некоторые символы не используются во избежание гомографических атак. В связи с этим, в Legacy-адресах мы никогда не увидим таких символов, как 0 (ноль), О (заглавная буква «о»), I (заглавная «i»), l (строчная «L») а также знаки «+» и «/».

 

*Гомографическая атака — способ, с помощью которого злоумышленник может ввести в заблуждение пользователей, используя тот факт, что многие различные символы выглядят одинаково (т. е. являются гомографами, отсюда и термин, хотя технически гомоглиф является более точным термином для разных символов, схожих друг с другом). Например, Trustee Wa11et.

 

Казалось бы, что недостатки не такие уж и существенные, однако, с ростом популярности биткоина они стали играть немаловажную роль. Как мы знаем, комиссия за транзакцию оплачивается в сатошах (малая часть биткоина), поэтому с ростом стоимости самого биткоина цена за транзакцию тоже стала расти. Конечно, при переводе 10 000$ в BTC, комиссия в 5$ будет казаться не большой, но для микро переводов, где такая комиссия составит 10%, а то более от суммы перевода — это значительный недостаток. Добавим к этому медленные переводы и все — “приплыли”!

 

Что такое SegWit

До конца лета 2017 года рядовые пользователи BTC успешно пользовались классическими Legacy адресами для осуществления транзакций. Но 24 августа в сети Bitcoin состоялся софт-форк, предложенный в марте 2016 года разработчиками П. Велле и Г. Максвеллом.  Обновление предусматривало активацию протокола Segregated Witness и новый формат биткоин-адреса — Bech42 или SegWit-адрес (P2WPKH — Pay to Witness Public Key Hash).

 

Segregated Witness (“отделенный свидетель”) позволил сократить вес транзакций в блоках сети Bitcoin за счет удаления из них подписей и выносе их в “дополнительные данные”, с последующей индивидуальной обработкой.

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

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

 

Обновление затронуло не только метод формирования блоков с транзакциями, но и сам формат записи публичных ключей bitcoin-кошельков. SegWit-адреса начинаются с «bc1» (пример: bc1qnnc0enjmp4essg8t8rxqnyg9394qgwwjtpngv9), при этом они вводятся независимо от регистра, т.е. bc1qnnc… = bc1Qnnc… =  BC1QNNC… Такой формат записи адресов в достаточной степени упростил их использование и сделал более удобным для записи.

 

К преимуществам SegWit-адресов можно отнести:

 — Высокая степень защиты от ошибок записи;

 — Увеличение пропускной способности транзакций;

 — Снижение комиссий до 50%.

 

Основной минус обновленного протокола в том, что не все криптовалютные сервисы его поддерживают, но в этом случае есть решение в виде промежуточного адреса, именуемого как Compatible. 

Среди известных крипто кошельков, поддержка SegWit внедрена в Trustee Wallet, Trezor, Electrum, Ledger Nano S.

 

Что такое Multisignature и Compatible адреса

Данный тип адресов появился в далеком 2012 году, чтобы хоть как-то решить проблему дорогих транзакций. Главным научным сотрудником Bitcoin Foundation — Г. Андерсоном, было предложено обновление BIP-0016, которое позволило бы улучшить логику исполнения транзакций, разрешив отправку не просто на адреса, но и на программируемые ключи (что-то похожее на смарт контракты в  Ethereum). В результате внедрения обновления появились биткоин-адреса начинающиеся с префикса “3” (пример: 3FVeDqkWXGPmgugHD1FLn9xMfeZcF181RG). При этом структура адреса осталась схожей со структурой Legacy-адресов. Такие Multisignature адреса вы часто могли видеть в “кошельках с мультиподписью”, когда от одного адреса есть 2 или 3 приватных ключа.

 

Не будем углубляться в техническую суть таких адресов, а лишь коснемся их взаимодействия с адресами Legacy и SegWit.

Внедрение SegWit не поддерживалось на старых кошельках, то есть они не видели Bech42-адресов и не могли понять, что делать с таким “получателями”, поэтому промежуточный P2SH-формат, а именно Compatible, стал неким мостом во взаимодействии различных адресов. Специальный скрипт, зашифрованный в ключе к адресу 3ххх позволяет пользователям старых кошельков отправлять средства на новые (3ххх), а владельцам новых — уже тратить их по технологии SegWit (то есть оплачивать транзакции по низким комиссиям).

 

От Legacy к SegWit в Trustee

После введения протокола SegWit в Trustee Wallet, у некоторых пользователей стали появляться вопросы: “Как так, я отправил часть средств в BTC, а с баланса списались все, почему?”. Чтобы ответить на этот вопрос потребуется немного углубиться в работу самого биткоина.

 

Итак..

 

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

 

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

 

Подведем итоги

Мир не стоит на месте, а уж мир криптовалют и подавно, развитие и совершенствование протоколов неизбежно. Выше мы  рассмотрели используемые типы адресов для биткоина и надеемся внесли долю ясности в понимание происходящего. Если у Вас все же остались вопросы, то мы с радостью ответим на них в нашем Telegram чате.

Команда Trustee Wallet всегда идет в ногу со временем, присоединяйтесь к нам!

 

Оригинал статьи: От Legacy к SegWit

размер, история борьбы за лимит. Сегвит

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



Доброго времени суток, дорогие читатели блога об инвестициях и заработке в интернете www.7milliondollars.com. Ввиду большой популярности цифровых валют среди современных инвесторов, хотелось бы рассмотреть один из наиболее важных и значимых терминов, часто употребляемых BTC-держателями. Речь пойдет о «биткоин блоке«.




Что такое биткоин блок?


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

Ввиду ограниченности размера BTC-блока, системой накладывается ограничение на число транзакций, которые потенциально можно произвести с каждым таким кластером. Блоки, которые превышают установленный лимит, попросту отклоняются сетью. 

Количество транзакции биткоина в день


На момент развития Блокчейна блокам было назначено ограничение памяти в 36 Мб. Но с 2010 года этот объем ощутимо сократили (до 1 мегабайта), аргументировав данный ход желанием бороться со спамом в сети интернет и параллельно защитить систему от DDOS-атак. Решить задачу расчета оптимального размера блока в то время так и не удалось. Авторы ядра говорили о том, что в очень скором времени скорость транзакций сети будет настолько высокой, что доступное пространство блоков быстро будет исчерпано. Они настаивали на увеличение лимита, но этого до сих пор так и не произошло.

Как свидетельствуют официальные данные ведущейся сетью статистики, число транзакций, которые обрабатываются системой Биткоина каждую секунду, составляет от 1 до 7.



Почему размеры блока важны для пользователей?


Максимально допустимый объем блока накладывает ограничение на объем транзакций, которые сеть способа пропустить в конкретную единицу времени. По сути, лимит выступает препятствием для масштабирования BTC-сети, загоняет ее в рамки. В то же время, когда все блоки переполняются, сеть испытывает перегрузку, что приводит к увеличению платы за каждую транзакцию.

Размеры биткоин блока



В начале 2013 года объем Bitcoin-блока был равен порядка 125 Kb, но уже через 2 года, за счет роста популярности кибервалюты и увеличения количества транзакций, размер ячейки вырос на целых 240% — до 425 килобайт. К 2015 году численность блоков, которые близились к своему лимиту, была критической, что стало основанием как для торможения процессов обработки транзакций, так и для увеличения сборов. Данные тенденции стали подрывать основы философии Биткоина как таковой, а держатели монет обеспокоились, что такая ситуация способна в скором времени превратить BTC в валюту, которая непригодна в качестве средства обмена.



Нужно ли корректировать габариты BTC-блоков?


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

Уже в мае 2015 года, на волне популяризации криптовалют и в момент, когда средние блоки были заполнены всего на 30-40%, Гэвин Андерсен поделился своей точкой зрения на этот счет, опубликовав материал, призывающий увеличить размеры блоков незамедлительно. Он спрогнозировал вероятную ситуацию, отметив, что при большом количестве транзакций, но малом объеме блоков, получится, что перенасыщенная сеть будет выполнять безрезультатные действия. Как следствие, люди откажутся от использования BTC побоявшись, что условия реализации транзакций станут слишком неприемлемыми.

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

Bitcoin XT Гевина Андерсена


Летом 2015 года была выложена в интернет петиция, поддерживавшая расширение BTC-блоков до 8-ми мегабайт. Ее подписали крупнейшие азиатские майнинг-пулы. Их активное участие в процессе лишь подтвердило международный масштаб проблемы. Немногим позднее Андерсен поделился с миром своим предложением по улучшению биткоина, которое было названо кодовым именем «BIP 101».




Суть проекта BIP101


Программа, инициированная Андерсеном, состояла в том, чтобы выполнить замену фиксированного 1-мегабайтного блока на ячейку с максимальным размером, объем которой будет пропорционально расти. С января 2016 года главный научный сотрудник Bitcoin Foundation предлагал повысить предельно допустимый размер блока минимум до 8-ми мегабайт, а затем в линейном порядке увеличивать это цифру до удвоения с периодичностью раз в 730 суток. С помощью подобного расширения кластеров главной криптовалюты мира удалось бы добиться повышения проходимости блокчейна, система смогла бы принимать на обработку порядка 24-х сделок/сек.

Это предложение было «на ура» принято сообществом. А уже в августе 2015 года BIP101 объединили с кодом Bitcoin XT, но столь эффектный ход не дал ожидаемого результата: альтернативный клиент не был поддержан пользователями.



Какие инициативы были приняты крипто-сообществом?


В разное время существовало минимум 4 проекта, которые ратовали за увеличение размера Bitcoin-блока. Это Bitcoin XT, Bitcoin Classic, Bitcoin Unlimited, Segwit2x. Все они получали видимую поддержку, но в итоге провалились. Уже в 2016 году протокол BIP101 был удален из Bitcoin XT в пользу расширения блока до 2 мегабайт. Это спровоцировало крах проекта.

Примерно в это же время объявился Bitcoin Classic, который был запущен 10 февраля 2016 года и хорошо встречен сообществом. У него был значительный потенциал, но в скором времени эта новация затихла, ей не удалось привлечь поддержку 75% майнеров.



Преимущества SegWit


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


Подробнее о SegWit


Целый год велись обсуждения Segregated Witness и, наконец, 31 марта 2017 года было создано специальное предложение для него, где оговаривалась активация проекта сначала за счет мягкой вилки, а потом с помощью жесткой вилки и расширения объема блока до 2-х мегабайт.

Спустя месяц после этого исторического события в издании Digital Currency Group появился материал о соглашении масштабирования Bitcion на Consensus 2017. Получившее статус «нью-йоркского соглашения», это сообщение предлагало активировать SegWit и обеспечить его поддержку. Сообщество и в этом случае повело себя неадекватно. При всеобщей задекларированной поддержке форку SegWit2x удалось просуществовать всего лишь несколько дней после того, как он был запущен. Провал этого, одного из самых перспективных проектов, расценивают как неизбежность, поскольку мнение 58 крупных биткоин-компаний на счет SegWit2x было иным, чем у поддерживавших его специалистов индустрии.



Как стала расти комиссия за транзакции BTC?


Ввиду того, что сообщество так и не смогло определиться с размерами биткоин-блоков, уже в августе 2017 года заявил о себе интенсивный хард-форк биткоин-цепочки. Если двумя годами ранее средняя плата за транзакцию была равна 0,5 у.е., то в середине 2017 года она составила 5 долларов США.

Учитывая, что порядка половины населения земного шара живет менее, чем на 5,50 долларов в сутки, такая оплата стала неподъемной для жителей развивающихся стран мира.

Изменение комиссии за транзакцию в сети Биткоин


В августе 2018 года Bitcoin Cash (BCH) ушел от BTC, что произвело к раздроблению сети на две части. У BCH приняли ограничение блока в 8 мегабайт совместно с алгоритмом корректировки сложности. В мае проект был повергнут жесткой вилке с целью увеличение размера блока до 32 Мб, а в ноябре он снова прошел хард-форк в сетевом расколе. Так появилась сеть Bitcoin SV с блоками сначала по 128 Мб, а затем и по 2 Гб.
Ознакомительная статья, общался с ребятами на форуме и у нас возник спор по этому поводу, теперь будут понимать о чем речь)

С чего начать прибыльное инвестирование, читайте тут

Рейтинг прибыльных инвестиционных проектов, которые платят, читайте тут


SegWit и собственный SegWit (Bech42) — в чем разница?

Середина 20 марта 2020 г. · 2 мин чтения

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

Если вас засыпают техническими терминами? Не волнуйтесь — мы вам поможем. Прочтите объяснение Segwit и Native SegWit на простом английском языке .


Как могли заметить пользователи Ledger, при добавлении учетной записи Биткойн в Ledger Live вам предлагаются два варианта: собственная учетная запись SegWit и учетная запись SegWit. Хотя можно легко определить разницу между собственным адресом SegWit (начинающимся с «bc1») и адресом SegWit (начинающимся с «3»), мы хотели бы подробнее рассмотреть, что именно это означает.

SegWit (P2SH) и Native SegWit (bech42) — не первые форматы адресов, которые существуют для учетных записей Биткойн. Самым первым был Legacy, где адреса начинались с «1». Когда цена Биткойна начала расти, комиссии, уплачиваемые за каждую транзакцию, также стали выглядеть более дорогими. Фактически, скорость транзакций также была медленнее.

Таким образом, SegWit вошел в поле

Предложение SegWit ( Seg regated Wit ness) в то время сильно оспаривалось — фактически, первоначальное предложение, известное как SegWit2X, было фактически отклонено и заменено тем, что мы теперь знаем как SegWit. В августе 2017 года состоялся софт-форк, реализующий SegWit. С тех пор его внедрение быстро началось, и он стал новым стандартом.

Так что же изменил SegWit?

SegWit — также называемый Wrapped или Nested SegWit — уменьшал размер данных каждой транзакции. Это было сделано путем отделения определенных данных подписи транзакции от транзакции. За счет уменьшения размера транзакций в один блок биткойнов может поместиться больше транзакций.Это, в свою очередь, делает сеть Биткойн более масштабируемой, а ее транзакции — быстрее. Более того, это значительно снижает комиссию за каждую транзакцию биткойнов! SegWit также включил решения для масштабирования второго уровня, что привело к рождению Lightning Network.

SegWit против собственного SegWit

Native SegWit — также известный как bech42 — является последним шагом в области форматов адресов. Он даже более экономичен, чем его предшественник. Это означает более высокую скорость транзакций по сравнению с транзакциями SegWit, лучшую масштабируемость и даже более низкую комиссию за транзакцию. Кроме того, bech42 лучше обнаруживает ошибки и делает адреса строчными буквами только для лучшей читаемости. Вот почему это самый популярный вариант… , если есть .

Единственным недостатком bech42 является то, что не все основные платформы пока поддерживают этот формат адреса. Хотя транзакции между адресами Legacy, SegWit и Native SegWit полностью совместимы, все еще существует довольно много бирж и поставщиков кошельков, которые еще не поддерживают отправку BTC на адрес bc1. Таким образом, когда вы добавляете учетную запись в Ledger Live, вам будет представлена ​​возможность добавления как собственного SegWit, так и / или адреса SegWit.

Значит, вы увлекаетесь криптовалютой и любите болты и гайки? У нас есть то, что вам нужно! Посмотрите наш эпизод о Школе блоков, посвященный примерам использования блокчейна.

Отправка и получение BTC / LTC — разница между SegWit и устаревшим адресом

Crypto.com DeFi Wallet в настоящее время поддерживает отправку BTC / LTC с адресом SegWit. Что касается получения BTC / LTC на ваш кошелек SegWit, вы можете отправлять BTC / LTC со своего адреса Legacy или SegWit, если ваш текущий кошелек поддерживает отправку в SegWit.

Для BTC:
  • Legacy (P2PKH): адреса начинаются с 1

  • Nested SegWit (P2SH): адреса начинаются с 3

  • Native SegWit (bech42): адреса начинаются с bc1

Для LTC:

Обратите внимание, что если вы импортировали внешний кошелек на Crypto.com DeFi Wallet с устаревшими адресами BTC / LTC, к сожалению, устаревшие балансы не будут отображаться в Crypto.com DeFi Wallet.

В чем разница между SegWit и устаревшим адресом?

Устаревший адрес — это исходный адрес BTC, а SegWit — это новый формат адреса с более низкой комиссией.

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

Зачем использовать SegWit?

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

Еще одно преимущество SegWit заключается в том, что они обратно совместимы, что означает, что вы можете отправлять средства с адреса SegWit на старый адрес.

Одним из основных недостатков адреса SegWit является то, что не все кошельки, биржи и сервисы поддерживают отправку на них. Вам нужно будет убедиться, что все, что вы используете для отправки на адрес SegWit вашего кошелька Crypto.com DeFi, понимает адрес Segwit.

Если вы видите ошибку неверного адреса BTC / LTC в том месте, где вы инициируете отправку, весьма вероятно, что кошелек не поддерживает SegWit.

Полное руководство по изолированному свидетелю

Добро пожаловать в еще одно руководство по криптографии для новичков! Сегодня я расскажу вам о том, что такое SegWit.

На рынке представлены сотни криптовалют, и каждая из них имеет набор правил, определяющих их работу. Этот набор правил называется протоколом . Итак, какое отношение все это имеет к SegWit? Что такое SegWit?

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

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

В этом руководстве я расскажу вам все, что вам нужно знать о SegWit. Я расскажу вам, что такое SegWit и как он работает. Я также расскажу вам, какие улучшения были внесены в сеть Биткойн и что эти улучшения значат для ее пользователей.

К концу этого руководства вам никогда не придется спрашивать себя: «Что такое SegWit?» снова.

Давайте начнем с того, что посмотрим, откуда появился SegWit и чего он пытался достичь…

История SegWit

Последний найденный купон Binance:

Выбор проверенных сотрудников

БОНУС $ 100

Праздничная распродажа Binance

Теперь вы можете получить купон Binance на 100 долларов за выполнение простых задач в этой праздничной распродаже Binance.Перейдите по ссылке, пока предложение еще в силе!

Срок действия: 01.09.2022

2,935 Использовано 2935 человек

Осталось всего 67

×

БОНУС $ 100

Праздничная распродажа Binance

Теперь вы можете получить ваучер Binance на $ 100 за выполнение простых задач в этот праздник Binance Распродажа. Перейдите по ссылке, пока предложение еще в силе!

Ваша Скидка активирована! REDEEM DEAL

Срок годности: 01.09.2022

2,935 Использовано

Только 67 Осталось

×

БОНУС $ 100

Праздничная распродажа Binance

Теперь вы можете получить купон Binance на 100 долларов за выполнение простых задач на этой праздничной распродаже Binance.Перейдите по ссылке, пока предложение еще в силе!

Ваша Скидка активирована! ВЫПОЛНИТЬ СДЕЛКУ

Срок годности: 01. 09.2022

2935 Пользователей

Только 67 слева

Идея SegWit была впервые представлена ​​Питером Уилле на биткойн-конференции в 2015 году.Уилле — разработчик биткойнов и соучредитель Blockstream, компании-разработчика программного обеспечения, специализирующейся на цифровой безопасности финансовых услуг.

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

Предложение

Wuille SegWit вызвало большие споры в сообществе Биткойн, и прошло почти два года, прежде чем оно было запущено. Окончательно он был активирован 23 августа 2017 года. Такой же патч был применен к протоколу Litecoin 10 мая 2017 года.

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

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

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

Податливость транзакций довольно сложна. Чтобы понять это, вам сначала нужно понять, как работают биткойн-транзакции …

Основы блокчейна

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

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

Для обработки одного блока транзакций в сети должно потребоваться около 10 минут, но это может занять намного больше времени. Сеть Биткойн может обрабатывать от 3 до 7 транзакций в секунду (Tx / s). Однако это может сильно замедлиться, когда сеть занята.

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

Самые популярные результаты

Ищете более подробную информацию по связанным темам? Мы собрали похожие статьи, чтобы вы сэкономили время. Посмотри!

Сделки для начинающих

Люси хочет отправить Джуду 10 биткойнов (BTC). Для этого Люси и Джуд нужны два типа информации:

  • Общедоступный адрес: Это похоже на адрес электронной почты Биткойн.Публичный адрес — это цифровое место, куда Люси отправляет биткойны. У Джуда есть публичный адрес , чтобы получить биткойн. Публичные адреса видны всей сети.
  • Закрытый ключ: Если открытые адреса подобны адресам электронной почты, то закрытые ключи подобны паролям. Они доказывают, что публичные адреса — и, следовательно, сам биткойн — принадлежат Люси и Джуду. Только Люси может видеть закрытый ключ Люси, и только Джуд может видеть закрытый ключ Джуда.

Давайте посмотрим, как выглядит транзакция в сети Биткойн… <

Стандартная биткойн-транзакция

Как 10BTC попадают от Люси к Джуду?

  1. Люси передает запрос в сеть . Запрос содержит публичный адрес Джуда, отправляемую сумму (10 BTC) и комиссию за транзакцию для майнеров. Он также содержит закрытый ключ , подпись Люси, которую она использует, чтобы доказать, что у нее есть 10 BTC для отправки. Эта информация подписи называется данными свидетеля .
  2. Майнеры обрабатывают транзакцию. Они объединяют информацию Люси с информацией Джуда и хэшируют это. Это означает, что они превращают информацию в строку компьютерного кода. Этот код называется идентификатором транзакции .
  3. Транзакция стоит в очереди , ожидая обработки. Если Люси установила низкую комиссию за транзакцию, она может долго стоять в очереди! Это все равно, что заказывать еду в ресторане. Если вы не дадите чаевые официанту, доставка еды может занять много времени! Люси может ускорить процесс, отправив транзакцию еще раз с более высокой комиссией.Теперь идентификатор транзакции добавляется к идентификаторам транзакции других пользователей и снова зашифровывается. Этот процесс продолжается до тех пор, пока не будет достигнут предел в 1 МБ информации о транзакции и не будет сформирован блок.
  4. Блокировка подтверждена. Блок транслируется в сеть, и если более половины всех узлов согласны с тем, что информация о нем действительна, он может быть подтвержден и добавлен в цепочку блоков. Джуд получает 10BTC от Люси.

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

Как работает гибкость транзакции

Снова используя этот пример, я покажу вам, как гибкость транзакций может быть использована Джудом, чтобы обманом заставить Люси отправить ему 20 BTC вместо 10. Вот как это работает…

Недостаток пластичности транзакции в коде Биткойна позволяет Джуду изменить данные свидетеля Люси до подтверждения транзакции. Это изменяет идентификатор транзакции без изменения самой транзакции (которая по-прежнему составляет 10 BTC, отправленных от Люси к Джуду).

Когда эта измененная транзакция подтверждается сетью, она отменяет исходную транзакцию. Теперь Джуд связывается с Люси, чтобы пожаловаться, что он не получил 10BTC, хотя получил!

Люси проверяет и видит, что исходная транзакция не прошла. Теперь она устанавливает более высокую комиссию за транзакцию и отправляет ее снова. Эта новая транзакция обрабатывается сетью. Джуд получает еще 10 биткойнов!

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

Источник: bitcoinmagazine

Транзакции, вызванные гибкостью транзакций, показаны красным.

Итак, что такое SegWit и что он делает для решения проблемы гибкости транзакций?

Исправление гибкости транзакции

Как я упоминал ранее, SegWit — это патч, разработанный Питером Вуилле для предотвращения гибкости транзакций.Принцип работы довольно прост. Чтобы данные свидетелей не использовались для изменения идентификаторов транзакций, Уилле предложил удалить их из транзакции! Все просто, правда?

Полное имя SegWit — изолированного свидетеля . Segregate означает удаление или разделение, поэтому SegWit означает удаление данных свидетеля.

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

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

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

Теперь вы знаете, как сегрегированный свидетель предотвращает гибкость транзакций, но на этом история SegWit Bitcoin не заканчивается. SegWit повлиял на сеть Биткойн таким образом, о котором Питер Уилле даже не подумал, когда создавал ее!

Далее я расскажу вам о масштабируемости , и сети Lightning . Начну с масштабируемости …

Итак, что такое масштабируемость SegWit?

Масштабируемость Bitcoin SegWit

Во-первых, позвольте мне объяснить, что такое масштабируемость. Масштабируемость — это способность сети обрабатывать огромные объемы транзакций без снижения скорости транзакций. Если сеть масштабируема, она сможет обрабатывать транзакции так же быстро или даже быстрее, как она становится больше. К сожалению, большинство криптовалют обрабатывают транзакции на медленнее, на , чем больше они становятся.

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

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

Когда Питер Уилле создал Bitcoin SegWit, он также случайно улучшил масштабируемость сети! Данные свидетелей раньше занимали 65% каждого блока биткойнов. После удаления данных свидетелей в блоках SegWit Bitcoin теперь есть место для гораздо большей информации о транзакциях.

Каждый блок теперь имеет установленный вес блока , который ограничен 4 МБ. Вес блока — это комбинация 1 МБ информации, хранящейся в основной цепочке блоков, и данных свидетелей, хранящихся в боковой цепочке. Изолированный свидетель позволяет сети обрабатывать больше транзакций без изменения общего размера цепочки биткойнов.

Итак, если вас спросят: «Что такое масштабируемость SegWit?» вы можете сказать им, что это способ обработки большего количества транзакций в сети Биткойн. Это делает сеть легче , удаляя данные свидетелей из транзакций, не влияя на размер цепочки биткойнов.

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

Сеть Lightning

Lightning Network — еще одно решение проблемы масштабируемости биткойнов, и оно не будет работать без изолированного свидетеля.
Lightning Network позволяет пользователям настраивать платежные каналы для микроплатежей . Давайте возьмем Люси и Джуда в качестве другого примера:

Джуд работает на Люси. Она платит ему 1 BTC в день. Вместо того, чтобы обрабатывать транзакцию в основном блокчейне, Люси и Джуд создали частный платежный канал, по которому Люси может отправлять биткойны напрямую Джуду. Она отправляет ему микроплатеж в размере 1 BTC в день. Каждый микроплатеж должен быть подписан Люси и Джудом. По этой причине они называются транзакций с несколькими подписями и .

Джуд работает на Люси десять дней. По истечении десяти дней Люси и Джуд закрывают платежный канал. На этом этапе все микроплатежи транслируются в сеть как одна транзакция на 10 BTC.

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

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

Теперь вы знаете, что такое SegWit, как он работает и что означает для сети Биткойн. Прежде чем я закончу, я кратко расскажу о преимуществах SegWit. Я также расскажу вам о некоторых критических замечаниях и проблемах, которые она вызвала …

Что такое SegWit: преимущества

ПРО

Гибкость транзакций ушла в прошлое. SegWit — это простое и креативное решение основной проблемы протокола Биткойн.

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

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

Возможны новые интересные разработки. Если Биткойн будет обслуживать сеть из миллионов людей, то ему необходимо решить проблему масштабируемости. SegWit помогает воплотить в жизнь проекты масштабируемости, такие как Lightning Network.

Что такое SegWit: недостатки

Минусы

Не используется достаточным количеством узлов. Многие майнеры не любят SegWit. Более низкие комиссии влияют на их прибыль, и они также не ценят необходимость поддерживать боковую цепочку данных свидетелей, которая вообще не приносит никаких комиссионных доходов.Другие биткойн-сервисы, такие как кошельки , также не спешили поддерживать изменения SegWit. В феврале 2018 года, почти через шесть месяцев после его активации, только 14% биткойн-транзакций было совершено с использованием SegWit Bitcoin. С тех пор показатели улучшились, но сеть все еще далека от полного обновления.

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

SegWit вызвал разногласия в сообществе Биткойн. Разногласия вокруг SegWit привели к нескольким хард-форкам. Самый известный из них — Bitcoin Cash (BCH).

Теперь у вас есть все факты, и вы можете ответить: «Что такое SegWit?» для себя. Прежде чем я уйду, я хочу поделиться с вами несколькими заключительными замечаниями…

Самые популярные результаты

Просмотрите нашу коллекцию наиболее подробных статей, руководств и учебных пособий по Crypto Exchange. Всегда будьте в курсе и принимайте взвешенные решения!

Заключение

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

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

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

Оставьте свой честный отзыв

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

Что такое SegWit (Segregated Witness) и как он работает? — Bitpanda Academy

Биткойн и масштабируемость

В уроке 15 промежуточного раздела Академии мы представили концепцию «масштабирования» в контексте Биткойн и других сетей блокчейнов.Хотя сеть Биткойн работает без каких-либо заметных инцидентов уже более 10 лет, было несколько случаев, когда транзакционные издержки достигали высоких сумм, которые больше не представлялись возможными. Следовательно, разработчики биткойнов обсуждали, как лучше всего масштабировать сеть для обработки растущих объемов транзакций в будущем.

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

Что такое SegWit?

Основная цель SegWit — повысить пропускную способность транзакций в сети блокчейн. Стоит отметить, что первой криптовалютой, реализовавшей слой SegWit, был не биткойн, а Litecoin.

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

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

Первая часть транзакции содержит адреса кошелька отправителя и получателя, а вторая часть содержит «данные свидетеля», содержащие подписи транзакции.

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

What Is Segregated Witness (SegWit)

Binance объявила о добавлении поддержки SegWit, с целью повышения эффективности транзакций Биткойн. И это позволит своим пользователям выводить или отправлять свои биткойны на адреса SegWit (bech42) .

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

Важно отметить, что при выборе сети Bitcoin SegWit для вывода BTC убедитесь, что соответствующая платформа или кошелек поддерживает SegWit.Если вы выберете неподдерживаемую сеть или несовместимые активы, ваши средства не будут возвращены.

Чтобы узнать больше о том, как вносить или снимать средства, вы можете обратиться к руководству.

Пожалуйста, обратите внимание на правильность выбора сети при переводе средств. Не все кошельки и биржи поддерживают все 3 адреса.

Устаревший биткойн-адрес (P2pKH): После того, как SegWit был представлен сообществу, исходные биткойн-адреса получили название « Legacy ». Эти адреса начинаются с « 1 ».

SegWit или вложенные адреса SegWit (P2SH) : это многоцелевые адреса, которые поддерживают транзакции, не относящиеся к SegWit и SegWit. Эти адреса начинаются с « 3 ».

Собственный Segwit (bech42): Собственный адрес Segwit начинается с « bc1 ». Эти адреса включают только строчные буквы для лучшей читаемости.

Часто задаваемые вопросы

1. Могу ли я использовать адрес SegWit для отправки BTC с Binance на исходные адреса Bitcoin?
Да.SegWit обратно совместим с предыдущими биткойн-адресами. Вы можете безопасно отправлять транзакции на любой внешний биткойн-адрес или кошелек. Однако убедитесь, что соответствующий обмен или кошелек поддерживает SegWit (bech42). Если вы выберете неподдерживаемую сеть или несовместимые активы, ваши средства будут потеряны.

2. Позволяет ли SegWit отправлять на мой адрес BTC SegWit другие активы помимо биткойнов?

Нет. Цифровые активы, отправленные на неправильный адрес валюты, приведут к безвозвратной потере этих активов.

Руководство для начинающих по Segregated Witness (SegWit)

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

В среднем сеть Биткойн проверяет новый блок каждые 10 минут, каждый из которых содержит несколько транзакций. Таким образом, размер блока влияет на количество транзакций, которые могут быть подтверждены в каждом блоке. В настоящее время блокчейн Биткойн может обрабатывать около 7 транзакций в секунду.Основная идея

SegWit — реорганизовать данные блока, чтобы подписи больше не размещались вместе с данными транзакций. Другими словами, обновление SegWit состоит из отделения свидетелей (подписей) от данных транзакции. Это позволяет хранить больше транзакций в одном блоке, увеличивая транзакционную пропускную способность сети.

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

SegWit был разработан в 2015 году разработчиком биткойнов Питером Вуилле вместе с другими участниками Bitcoin Core. В августе 2017 года обновление SegWit было реализовано в виде софт-форка в сети Биткойн. Сегодня SegWit используют несколько криптовалютных проектов, включая Биткойн и Litecoin. Обновление протокола принесло много преимуществ, таких как улучшенная скорость транзакций и емкость блоков. Кроме того, SegWit решил так называемую ошибку гибкости транзакций (обсуждается ниже).

Увеличение емкости

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

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

Без SegWit данные подписи могут занимать до 65% блока. С помощью SegWit данные подписи удаляются из ввода транзакции.Это приводит к увеличению эффективного размера блока с 1 МБ до примерно 4 МБ.

Обратите внимание, что SegWit не является фактическим увеличением размера блока. Вместо этого это инженерное решение для увеличения эффективного размера блока без увеличения предельного размера блока (что потребует хард-форка). Чтобы быть более конкретным, фактический размер блока по-прежнему составляет 1 МБ, но ограничение на эффективный размер блока составляет 4 МБ.

Кроме того, SegWit представил идею веса блока. Мы можем рассматривать вес блока как концепцию, заменяющую идею размера блока.По сути, вес блока — это мера, которая включает все данные блока, включая данные транзакции (1 МБ) и данные подписи (до 3 МБ), которые больше не являются частью поля ввода.

Увеличение скорости транзакции

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

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

Исправление гибкости транзакций

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

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

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

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

Сеть Lightning изначально была разработана для биткойнов. Однако несколько других проектов, связанных с криптовалютой и блокчейном, работают над внедрением этой технологии в свои сети.Это не только сократит время подтверждения транзакций, но и будет способствовать разработке новых решений проблемы масштабируемости. SegWit — это обновление софт-форка, что означает его обратную совместимость. Другими словами, биткойн-узлы, которые не обновлены для включения SegWit, по-прежнему могут обрабатывать транзакции. Однако была предложена еще одна реализация SegWit под названием SegWit2x (S2X), которая потребовала обновления хард-форка.

Ключевое различие между SegWit и SegWit2x состоит в том, что последний включал не только изменение пакетной обработки транзакций, но и увеличение размера блока (с 1 МБ до 2 МБ).Тем не менее, больший размер блока увеличит нагрузку на операторов узлов и майнеров, поскольку потребуется обрабатывать больше данных.

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

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

Короче говоря, Native SegWit (также известный как bech42) — это обновленная версия вложенного SegWit. Формат bech42 предлагает повышенную скорость транзакций, лучшие механизмы обнаружения ошибок и даже более низкие комиссии за транзакции. Кроме того, адреса bech42 в нижнем регистре, что упрощает их чтение.

Обратите внимание, что транзакции блокчейна между адресами, отличными от SegWit (Legacy), Nested SegWit и Native SegWit (bech42), полностью совместимы. Однако не все биржи и криптокошельки поддерживают SegWit, поэтому вы не сможете вывести средства напрямую на адрес SegWit.

Биржа Binance поддерживает ввод и вывод средств SegWit за биткойны (BTC). Дополнительную информацию можно найти в FAQ по SegWit.

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

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

Несмотря на то, что SegWit является мощным и инновационным решением, он еще не полностью принят. В настоящее время процент биткойн-адресов, использующих SegWit, составляет около 53%.

Что такое SegWit? — Журнал Bitcoin: новости, статьи, графики и руководства Bitcoin

SegWit — это сокращение от Segregated Witness. Возможно, это было самое крупное обновление протокола Биткойн на сегодняшний день, которое объединило несколько улучшений и исправлений в одно.

Дополнительная литература: что такое биткойн?

Каковы преимущества SegWit?

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

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

Дополнительная литература: что такое Lightning Network

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

Дополнительная информация: каков предел размера блока биткойнов?

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

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

Дополнительная литература: что такое биткойн-форки?

Кто разработал SegWit?

Версия SegWit была впервые разработана Blockstream для проекта боковой цепи Blockstream Elements.После того, как участник Bitcoin Core Люк-младший выяснил, как можно развернуть SegWit на основном протоколе Биткойн посредством обновления обратно совместимого софт-форка, он был разработан командой разработчиков Bitcoin Core. В частности, соответствующее предложение по усовершенствованию биткойнов (BIP) было разработано Эриком Ломброзо, Джонсон Лау и Питером Вуилле, которые также выполнили большую часть кодирования. Остальная часть команды помогала на протяжении всего процесса разными способами, включая проверку и тестирование.

Разработчику Litecoin под псевдонимом Шаолинфри и инженеру Bitmain Warranty Джеймсу Хиллиарду приписывают разработку альтернативных решений активации для софт-форка.(Подробнее об этом ниже.)

Был ли SegWit спорным?

В техническом сообществе Биткойн SegWit не вызывал споров.

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

Единственный предмет спора, который (возможно) имел некоторую обоснованность, заключается в том, что с точки зрения кода было бы «чище» развернуть обновление как хард-форк вместо софт-форка, поскольку это оставило бы меньше технических сомневаюсь в протоколе. Однако при развертывании SegWit в качестве хард-форка возникли бы свои проблемы, которые, по мнению большинства разработчиков и сторонников SegWit, были бы намного серьезнее.

Некоторые другие споры вокруг SegWit — некоторые, например, утверждали, что он позволяет майнерам красть средства — просто фигня.(Показательный пример: SegWit существует уже много лет, и ни один майнер не смог украсть монеты. )

Дополнительная литература: что такое биткойн-майнинг?

Как и когда активировался SegWit?

SegWit активирован в августе 2017 года.

Как он активирован — долгая история. Хотя он был впервые публично предложен и включен в дорожную карту Bitcoin Core в декабре 2015 года, а код был готов менее чем через год, обновление протокола было запущено только летом 2017 года.

Это в значительной степени связано с тем, что некоторые крупные биткойн-майнеры отказались активировать обновление протокола. (Согласно первоначальной задумке, SegWit будет запущен в сети, если подавляющее большинство майнеров заявят о поддержке в добытых ими блоках.) О мотивах этих майнеров все еще говорят, но похоже, что они либо использовали SegWit как козырную карту, либо они «Заблокировали» обновление, потому что оно было несовместимо с оптимизацией майнинга (называемой «AsicBoost»), которую они использовали тайно, — или и тем, и другим.

Так или иначе, к 2017 году массовое движение пользователей биткойнов сплотилось вокруг идеи, впервые предложенной псевдонимом разработчика Litecoin Шаолиньфри. Эти пользователи, получившие название Soft Fork, активируемого пользователем (UASF), объявили, что к лету активируют обновление на своих собственных биткойн-узлах, независимо от того, что будут делать майнеры. Если бы эти пользователи выполнили свой первоначальный план, они могли бы разделить сеть Биткойн на версию с SegWit и версию без него.

За несколько дней до «крайнего срока» UASF майнеры все-таки активировали SegWit.Технически говоря, они сделали это с помощью еще одного механизма активации, предложенного инженером Bitmain Warranty Джеймсом Хиллиардом.

Для полного описания этой главы в истории Биткойна см. Также Долгий путь к Сегвиту: как крупнейшее обновление протокола Биткойна стало реальностью .

Как использовать SegWit?

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

Есть два типа адресов SegWit. Один тип («P2SH») начинается с «3» — хотя не все адреса, начинающиеся с 3, являются адресами Segwit. Другой («bech42») начинается с «bc1» и всегда является адресом SegWit. Адреса P2SH SegWit на самом деле являются своего рода обходным путем; в то время как транзакции SegWit с таких адресов дешевле, чем транзакции без SegWit, транзакции с адресов bech42 являются самыми дешевыми.

Адреса, начинающиеся с «1», никогда не являются адресами SegWit.

Некоторые кошельки, в которые интегрирован SegWit, включают Bitcoin Core, Electrum, Green, Trezor, Ledger и ряд других.

Почему не все используют SegWit?

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

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

Обновлено: 06.01.2022 — 06:06

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *