Bitcoin segwit или legacy

Какие форматы бывают у биткоин-адресов?

Что такое биткоин-адрес в формате legacy?

Legacy-адрес — это стандартный для сети биткоина адрес, предложенный Сатоши Накамото. Иначе это формат называют P2PKH (Pay To Public Key Hash), поскольку он требует от получателя подпись, вычисленную из приватного ключа, и публичный ключ. Скрипт транзакции выхода с помощью криптографических функций сверяет их с хешем публичного ключа — и в случае совпадения позволяет расходовать средства. Вероятность того, что система примет некорректно введенный адрес составляет 1232, то есть один случай из 4,29 млрд.

Legacy-адрес можно узнать по префиксу 1 (и m или n в тестовой сети). К основным минусам такого адреса относятся чувствительность к регистру при вводе данных, более высокие комиссии за операции, низкая скорость двойного хеширования контрольной суммы, больший вес в QR-кодах и неудобство записи на мобильном устройстве или на бумаге.

Пример legacy-адреса: 1BUrDeWstWetqBFn5Au8m4JFg2xJaKVN4

Из каких частей состоит биткоин-адрес в формате legacy?

Legacy-адреса уникальны, обычно состоят из 26-35 символов и представляют собой 160-битные хэши открытого ключа ECDSA ключевой пары. С появлением SegWit-адресов их стали называть старыми, однако изначально они были достаточно эффективным средством представления locking scripts в более удобном для пользователей виде и уменьшения рисков отправки средств на некорректный адрес.

Стандартный биткоин-адрес состоит из таких частей:

  • префикс;
  • сгенерированный в результате применения к приватному ключу алгоритмов SHA256 и RIPEMD публичный ключ;
  • контрольная сумма.

Почему в биткоин-адресах бывает разное количество знаков?

Если при преобразовании приватного ключа в начале результата появились нули, в строку биткоин-адреса в формате legacy они не включаются, и тогда он сокращается на соответствующее количество знаков. Поэтому биткоин-адрес может состоять не из 34, но теоретически даже из 20 символов.

Как зашифрованы части legacy-адреса?

Все части биткоин-адреса в формате legacy зашифрованы с защитой от опечаток по системе кодирования Base58Check. В основе кода лежит латинский алфавит. Вы никогда не увидите в таком биткоин-адресе символы, которые легко спутать между собой (знаки плюс и минус, косая черта, ноль, прописные буквы “o” и “i”, строчная “L”). Согласно системе Base58Check в них применяются только следующие 58 символов:

Что такое биткоин-адрес в формате P2SH?

P2SH-адреса (Pay to script hash) появились в предложении по улучшению биткоина BIP-0016 в январе 2012 года благодаря главному научному сотруднику Bitcoin Foundation Гэвину Андресену. Они имеют ту же структуру, что и legacy-адреса, но начинаются с цифры 3.

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

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

Пример P2SH-адреса: 3H28N5WuREZ93CNmhWcRcrnykWrMqkhFyWN

Что такое биткоин-адрес в формате SegWit?

Весной 2016 года разработчики Питер Велле и Грег Максвелл в обновлении BIP-0173 предложили новый формат адреса: Bech32 (часто он же называется SegWit-адрес, P2WPKH — Pay to Witness Public Key Hash). Сам протокол SegWit (Segregated Witness, «отделенный свидетель») предполагал сокращение размера блока в сети биткоина за счет удаления из него подписи и был активирован в конце августа 2017 года.
SegWit-адреса начинаются с bc1 (в тестовой сети — с tb), содержат до 90 знаков (чаще — около 42), при этом пишутся либо только в верхнем (для QR-кодов), либо только в нижнем регистре (предпочтительно).

SegWit-адреса состоят из:

  • легко читаемой человеком части,
  • разделителя (1),
  • данных и контрольной суммы.

Если при введении адреса было допущено до четырех ошибок, контрольная сумма, входящая в Bech32-адрес, не сойдется. Благодаря примененному в решении коду Боуза-Чоудхури -Хоквингема (БЧХ-коду) ошибки будут автоматически исправлены.
При записи Bech32-адрес применяются следующие 32 символа:
аcdefghjklmnpqrstucwxyz234567890

Пример Bech32-адреса: bc1uf5tdn87k2uz7r2kl5zrfww362ch3746lq5vse7

Какие плюсы и минусы использования Bech32-адресов?

C новыми адресами QR-коды стали меньше, а защита от ошибки выше. Кроме того, использование биткоин-адресов в формате Bech32 на сегодня для пользователей более выгодно, ведь комиссия за отправку средств с них ниже, а скорость обработки выше. Главный минус Bech32-адресов — их поддерживают не все криптокошельки и сервисы.

Читайте также:  Перспективные сектора для инвестиций

Среди первых поддержку таких адресов добавили аппаратные криптокошельки Ledger Nano S, TREZOR и Digital Bitbox, десктоп-криптокошельки Electrum и Armory, мобильные криптокошельки Edge, GreenAddress (для iOS- и Android-устройств), а также Samourai Wallet, Wasabi Wallet, GreenBits и Electrum (для Android-устройств).

Можно ли переводить биткоины с legacy-адреса на SegWit-адрес?

Активация SegWit в сети биткоина была софтфорком — это значит, что новая и предыдущая версии сохранили совместимость. То есть вы можете без проблем переводить средства с legacy-адреса на SegWit-адреса. На уровне блокчейна проблем с разницей в форматах адресов не существует.

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

В обратном направлении, с bc1-адреса на legacy-адрес, средства должны поступить без проблем.

Какие обозреватели блоков отслеживают bc1-адреса?

Следить за адаптацией биткоин-адресов формата Bech32 удобно на специальной странице в Bitcoin Wiki. На сегодня bc1-адреса парсят и индексируют обозреватели блоков Blockstream.info, Apirone.com, Bitaps.com, Bitupper Explorer, Blockchair, Blockonomics, Blockpath, BTC.com, chaindex и OXT. В то время, как Blockcypher, Insight и Tradeblock не делают ни то, ни другое, а blockchain.info не поддерживает индексирование.

Пoжaлyйcтa оцените и поделитесь новостью, мы старались для Вас:

Источник

Что такое SegWit

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

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

Что такое форк, и что делает форк SegWit

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

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

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

Что делает Segregated Witness, перевод слова «Segwit»

Перевод термина Segwit, или Segregated Witness — это «распределенный свидетель». Имеется в виду, что подписи не хранятся в самом блоке, а распределяются по компьютерам, что позволяет уменьшить размер блока.

Если коротко, Segwit позволяет увеличить эффективность блокчейна без увеличения размера блока. Положительное качество Segregated Witness заключается в том, что исключение подписей из блока в 1Мб может эффективно увеличить размер блока биткоина. Это значит, что в каждый блок можно будет записать большее количество транзакций или, другими словами, повысить пропускную способность блокчейна. Всё это происходит без нарушения существующих правил консенсуса.

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

Данные блока плюс «четверть» Segregated Witnesses не должны превышать 1 Мб. В таком случае, все блоки покажутся старым нодам меньше 1 Мб, поскольку четверть Segregated Witness (которую они не видят) должна быть установлена в тот же самый 1 Мб. При этом новые ноды увидят блоки, превышающие 1 Мб, так как фактический размер Segregated Witness больше того, что считается одной четвертью.

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

Читайте также:  Когда снова упадет биткоин

Проблемы, которые решает SegWit

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

SegWit совершенствует процесс переводов, создавая условия для увеличения размера блока. Вот основные проблемы, которые позволяет решить обновление:

  • Технология увеличивает размер блока и повышает пропускную способность всей сети.
  • Вынос цифровых подписей за пределы транзакций позволяет уменьшить их размер почти вдвое. Следовательно, в один блок будет помещаться в 2 раза больше платежей.
  • Уменьшение транзакций автоматически уменьшит размер блокчейна. Ноды смогут сэкономить значительную часть дискового пространства.
  • Появится возможность мгновенного обмена виртуальных активов на реальные без помощи посредников (бирж и обменников).
  • Сеть сможет взаимодействовать с протоколами второго уровня, например, Lightning Network. В перспективе возможна реализация кроссчейновых платежей.
  • Упрощаются проверки транзакции, на синхронизацию и запуск ноды будет уходить значительно меньше времени.
  • Увеличится стойкость сети к спам-атакам.

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

Почему SegWit все еще не завершен

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

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

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

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

Выбор между Segwit и Legacy, положительные стороны технологии Segwit

Внедрение SegWit в Биткоин имеет ряд качеств:

  • Третьи стороны не смогут вносить какие-либо изменения в подписи транзакций, что упрощает разработку новых смарт-контрактов, подобных тем, которые используются в Lightning Network.
  • Размер транзакции уменьшается, но количество данных, передаваемых во время ее проведения, не меняется, поскольку применяется перемещение цифровых подписей. Блоки сегвит имеют размер 1.7-2 Мб. Такое решение значительно ускоряет пропускную способность сети.
  • Упрощается имплементация софт-форков, и повышается безопасность системы. Подписи ECDSA будут заменены более надежным форматом Schnorr.
  • Функция sighash переформатируется с экспоненциальной в линейную. Это положительно отразится не только на безопасности транзакций, но и на скорости подтверждения блоков. Упростится взаимодействие с аппаратными кошельками, что откроет новые возможности для разработчиков данного сегмента.
  • Переводы в сети могут осуществлять и участники сегвит и те, кто не использует технологии. Разница будет только в комиссиях. Участники SegWit будут платить меньше.

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

Главные недостатки SegWit

Технология SegWit до сих пор не интегрирована в Биткоин в полной мере. Многие аналитики считают, что на это уйдут годы, поскольку количество нод в сети превышает 10 000.

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

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

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

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

Небольшая часть сообщества заняла еще более жесткую позицию, отделившись от сети и создав новый блокчейн Bitcoin Cash, где размер блока равен 8 мегабайтам. Форк удачно дебютировал на криптовалютном рынке и составляет конкуренцию BTC за лидерство по показателям капитализации.

Таким образом, недостатками SegWit считаются:

  • Протокол может негативно отразиться на безопасности сети. Поскольку проверку валидности транзакций смогут осуществлять только ноды, принявшие SegWit, количество проверяющих резко сократится.
  • Протокол SegWit нельзя отменить. При его откате или отмене segwit-выходы станут общедоступными.
  • SegWit – это софтфорк, поэтому обновятся не все клиенты. Это значит, что в сети одновременно будут находиться 2 группы UTXO. Важные изменения сети не смогут применяться не к сегвитовским выходам. Таким образом, риск атак, основанных на неизменяемых id транзакциях, не только сохраняется, но и увеличивается.
  • Протокол пытается решить все проблемы сразу, в результате меняется огромная часть кода. Это приводит к затруднению работы сети и повышает вероятность багов, которые будет сложно устранить.
Читайте также:  Анализ рынка продукции инвестиции

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

Получаем SegWit-адрес биткоин в Bitcoin Core. Segwit или Native Segwit?

Создать собственный SegWit-адрес биткоин в Bitcoin Core можно через консоль программы. Для этого нужно ввести всего лишь одну команду:

Где XXXX – это адрес вашего старого кошелька. При этом такая возможность доступна только тем пользователям, на чьем счету имеется положительный баланс.

SegWit-адрес биткоин в Bitcoin Core может иметь один из двух форматов на выбор:

  • P2SH-тип. Такие адреса начинаются с цифры 3 и могут взаимодействовать со стандартными адресами биткоин, позволяя отправлять и получать монеты.
  • bech32 P2WPKH. Адреса данного формата начинаются с bc1. Они являются новым типом SegWit-адресов, а их ввод не требует учета регистра (можно писать заглавными или строчными буквами – адрес от этого не меняется), что несколько упрощает работу с ними. Это так называемый Native Segwiit (природный, прирожденный Segwit). Теоретически такие типы адресов могут не взаимодействовать со старыми биткоин-адресами. Основная разница состоит в кодировании блокчейна. Native Segwit ещё легче, быстрее, и требует меньших затрат на транзакции, но в меньшей степени распространен. Все адреса в Native Segwit записываются строчные буквами для повышения удобочитаемости. Эти Segwit и Native Segwit полностью совместимы, но отдельные кошельки и обменники могут не поддерживать отправку средств на адрес другого формата.

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

Кошельки с Segwit: список и настройка Segwit Address

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

Кошельки с Segwit: Ledger Wallet

Данный аппаратный кошелек пополнил ряды поддерживающих адреса Segwit еще в августе 2017 года и стал одним из первых. Чтобы перейти на сегвит, следует выполнить следующие действия:

  • Запускаем программу Ledger Wallet Bitcoin, установленную на вашем ПК.
  • Вставляем кошелек в USB-порт и вводим PIN для разблокировки.
  • В приложении выбираем кнопку BTC.
  • На экране должно появиться окошко, где предлагается выбрать Legacy или SegWit. Собственно, выбираем второй вариант.
  • Откроется кошелек с новым адресом, который должен начинаться с цифры 3. Копируем его.
  • Теперь вернитесь к экрану с выбором адресов, войдите в Legacy и отправьте битки на новый SegWit-адрес.

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

Кошельки с Segwit: Trezor

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

Кошельки с Segwit: Electrum

Electrum – один из самых популярных криптовалютных кошельков с поддержкой Segwit. Но, в отличие от других вариантов, он генерирует Bech32-ключи, поэтому ваш адрес будет начинаться с bc1. Для его получения необходимо:

  • Зайдите в кошелек и сгенерируйте bip39 и seed-фразу, состоящую из 12 слов.
  • Затем в интерфейсе кошелька проследуйте по следующему направлению: Файл -> Создать/Восстановить -> Стандартный кошелек -> У меня уже есть seed -> выберите Параметры -> bip39.
  • Параметр derivation path установите вручную, прописав: m / 49 ‘/ 0’ / 0 ‘/ 0.

Теперь ваш новый Segwit-адрес готов к работе.

Другие кошельки с Segwit

Доступно использовать и другие кошельки с Segwit, например, Samourai Wallet. Он менее популярен, чем остальные предложения, но позволяет создавать новые адреса прямо с мобильного устройства.

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

Источник

Оцените статью