compatibilidad segwit bc1 y 3 billetera bitcoin?

Me gustaría saber cuál es el mejor enfoque para actualizar de una dirección heredada a una segwit, pero hay dos tipos de segwit como P2SH que comienzan con 3 y Native SegWit (bech32) que comienzan con bc1, pero no sé cuál de los dos segwit uno, es mejor y es compatible para transferir y recibir de uno heredado. ?

Sé que una billetera segwit ayuda a reducir el tamaño del tx y reduce la tarifa, pero no sé si hay un inconveniente para cada tipo de segwit.

Respuestas (2)

hay dos tipos de segwit como P2SH que comienza con 3 y Native SegWit (bech32) que comienza con bc1, pero no sabe cuál de los dos segwit es mejor y es compatible para transferir y recibir de uno heredado.

En términos generales, la dirección SegWit nativa "bc1" es mejor. Está completamente rediseñado en comparación con la codificación Base58 clásica/heredada inventada por Satoshi.

Los alfabetos en una dirección "bc1" pueden estar en mayúsculas o minúsculas, el primero se ajusta mejor al código QR, lo que da como resultado un código QR más compacto. Sin alfabetos de mayúsculas y minúsculas, la dirección "bc1" también es más fácil de leer oralmente.

Las direcciones "bc1" (P2WPKH) toman la menor cantidad de bytes en las transacciones en comparación con las direcciones "3" (P2SH-P2WPKH) o las direcciones "1" (P2PKH), por lo tanto, su tarifa de minero es la más barata entre los tres tipos de direcciones.

Los bitcoins se pueden transferir libremente entre los tres tipos de direcciones.

Sin embargo, cuando recibe bitcoins, hay un problema de compatibilidad con las direcciones "bc1", que algunas billeteras (antiguas) (incluida la interfaz de retiro de algunos intercambios) simplemente no lo reconocen.

Cuando envía bitcoins desde direcciones de SegWit, no hay nada de qué preocuparse, excepto un problema menor de que una transacción de SegWit con 0-conf puede no aparecer en la vista del beneficiario, si el beneficiario está usando una billetera antigua que no es compatible con SegWit. En esa situación, finalmente aparecerá en la vista del beneficiario cuando se incluya en la cadena de bloques.

Por cierto, las direcciones de SegWit, incluidas "3" y "bc1", actualmente no admiten la función "firmar/verificar mensaje" en Bitcoin Core. Algunos desarrolladores también se preocuparon por los abusos de esta función IIRC. Trezor y Electrum habían implementado esta función de formas que no eran compatibles entre sí. En el futuro, tal vez podamos ver esto estandarizado por BIP322.

una billetera segwit ayuda a reducir el tamaño del tx y reduce la tarifa

Actualmente, SegWit realmente no reduce el tamaño de la transacción. La dirección SegWit nativa "bc1" solo reduce el tamaño en varios bytes. La dirección "3" P2SH SegWit, por el contrario, consume más bytes en el bloque, porque el envoltorio P2SH requiere un hash de 20 bytes.

En su mayoría, es solo un descuento (también conocido como "byte virtual", o vB para abreviar), que la parte "testigo" (principalmente firmas digitales y claves públicas) se contaría como 1/4 de su tamaño real. Obviamente, solo las transacciones que gastan monedas de direcciones SegWit disfrutan de ese descuento.

Sin embargo, SegWit tiene otros beneficios, como la firma de valores de entrada , que simplifica el formato de transacción sin firmar, especialmente PSBT, lo que podría beneficiar a las billeteras fuera de línea/en frío/de hardware y las transacciones que involucran a múltiples partes ( relacionado ). Actualización: resulta que esta mejora realmente no funciona para SegWit, luego Taproot corrige este problema: https://blog.trezor.io/details-of-firmware-updates-for-trezor-one-version-1- 9-1-y-trezor-modelo-t-version-2-3-1-1eba8f60f2dd

Según Blockstream Explorer, Segwit nativo (bc1) le ahorra un 40 % en tarifas y Segwit compatible (3) le ahorra un 30 %.
@mengeroshi Depende de la cantidad de entradas y salidas de la transacción.
¿Por qué las longitudes de hash de asm son diferentes para las transacciones bc1? OP_0 4d6a8b2c7dfa984a0de1041f121453c220734e147f379461d2dbe8b9183eba2f frente a OP_0 0174f58fd3a3be597fb9110305f2c2cc2ffeb8dd
@VincentAlex porque P2WPKH usa HASH160, mientras que P2WSH usa SHA256. Ver BIP141 para más detalles.

Aquí hay una breve comparación.

Segwit nativo

  • Compatibilidad: no es compatible con muchas billeteras como blockchain.com, varios intercambios de bitcoins como coinbase
  • Ahorro de tarifas: 38% [1]

Segwit en P2SH

  • Compatible con todas las carteras/intercambios de bitcoin
  • Ahorro de tarifas: 26% [1]

En resumen, si está recibiendo bitcoins en un sitio web/tienda, es bueno usar direcciones P2SH, ya que muchos de sus clientes no podrán pagarle. Si está recibiendo BTC de pares que sabe que tienen mejores billeteras, puede enviarles la dirección bech32 para aprovechar una tarifa más baja.

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