совместимость segwit с биткойн-кошельком bc1 и 3?

Я хотел бы знать, какой лучший подход для обновления с устаревшего адреса на segwit, но есть два типа segwit: P2SH, начинающийся с 3, и Native SegWit (bech32), начинающийся с bc1, но не знаю, какой из них два segwit, один лучше и совместим для передачи и получения от устаревшего. ?

Я знаю, что segwit-кошелек помогает уменьшить размер транзакции и снизить комиссию, но не знаю, есть ли недостатки у каждого типа segwit?

Ответы (2)

есть два типа segwit: P2SH, начиная с 3, и Native SegWit (bech32), начиная с bc1, но не знаете, какой из двух segwit лучше и совместим для передачи и получения от устаревшего?

Вообще говоря, собственный адрес SegWit «bc1» лучше. Он полностью переработан по сравнению с классической/устаревшей кодировкой Base58, изобретенной Сатоши.

Алфавиты в адресе «bc1» могут быть либо прописными, либо строчными, первый лучше подходит для QR-кода, что приводит к более компактному QR-коду. Без алфавитов смешанного регистра адрес «bc1» также легче читать устно.

Адреса «bc1» (P2WPKH) занимают наименьшее количество байтов в транзакциях по сравнению с адресами «3» (P2SH-P2WPKH) или адресами «1» (P2PKH), поэтому его комиссия майнера является самой низкой среди трех типов адресов.

Биткойны можно свободно переводить между всеми тремя типами адресов.

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

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

Кстати, адреса SegWit, включая «3» и «bc1», в настоящее время не поддерживают функцию «подписать/проверить сообщение» в Bitcoin Core. Некоторые разработчики также беспокоятся о злоупотреблениях этой функцией IIRC. Trezor и Electrum реализовали эту функцию несовместимыми друг с другом способами. В будущем, возможно, мы сможем увидеть стандарт BIP322.

SegWit-кошелек помогает уменьшить размер транзакции и снизить комиссию.

Текущий SegWit на самом деле не уменьшает размер транзакции. Собственный адрес SegWit "bc1" уменьшает размер только на несколько байтов. Адрес «3» P2SH SegWit, напротив, занимает больше байтов в блоке, потому что сама упаковка P2SH требует 20-байтового хэша.

В основном это просто скидка (также известная как «виртуальный байт» или сокращенно vB), что «свидетельская» часть (в основном цифровые подписи и открытые ключи) будет считаться 1/4 ее фактического размера. Очевидно, что только транзакции, использующие монеты с адресов SegWit, пользуются этой скидкой.

Однако у SegWit есть и другие преимущества, такие как подпись входных значений , которая упрощает формат неподписанных транзакций, особенно PSBT, который может быть полезен для автономных/холодных/аппаратных кошельков и транзакций с участием нескольких сторон ( связанных ). Обновление: оказалось, что это улучшение на самом деле не работает для SegWit, затем Taproot исправляет эту проблему: https://blog.trezor.io/details-of-firmware-updates-for-trezor-one-version-1- 9-1-и-трезор-модель-т-версия-2-3-1-1eba8f60f2dd

Согласно Blockstream Explorer, нативный Segwit (bc1) экономит вам 40% комиссий, а совместимый с Segwit (3) экономит вам 30%.
@mengeroshi Зависит от количества входов и выходов транзакции.
Почему длина хэша asm отличается для транзакций bc1? OP_0 4d6a8b2c7dfa984a0de1041f121453c220734e147f379461d2dbe8b9183eba2f против OP_0 0174f58fd3a3be597fb9110305f2c2cc2ffeb8dd
@VincentAlex, потому что P2WPKH использует HASH160, а P2WSH использует SHA256. Подробности см. в BIP141.

Вот краткое сравнение

Родной сегвит

  • Совместимость: не поддерживается многими кошельками, такими как blockchain.com, различными биржами биткойнов, такими как coinbase.
  • Экономия на комиссии: 38% [1]

Сегвит в P2SH

  • Поддерживается всеми биткойн-кошельками/биржами
  • Экономия на комиссии: 26% [1]

Таким образом, если вы получаете биткойны на веб-сайте/в магазине, хорошо использовать адреса P2SH, так как многие из ваших клиентов не смогут заплатить вам. Если вы получаете BTC от партнеров, у которых, как вы знаете, кошельки лучше, вы можете отправить им адрес bech32, чтобы воспользоваться более низкой комиссией.

[1] https://blog.blockonomics.co/saving-transaction-fee-using-segwit-how-to-be-a-bitcoin-ninja-78d8416375db