¿Por qué las transacciones de segwit son más baratas que las transacciones heredadas?

¿Cuál es la razón para hacer que las tarifas para las direcciones segwit sean más bajas, mientras se mantienen las direcciones heredadas con tarifas más altas? -- Estoy interesado en ambos, por qué las transacciones de segwit son más baratas que las direcciones heredadas y por qué las direcciones heredadas todavía existen cuando son más caras.

Respuestas (2)

¿Por qué las transacciones con segwit son más baratas?

Las transacciones de testigos segregados son más baratas porque están diseñadas para serlo.

En las transacciones heredadas, cada byte tiene el mismo "costo"; todos cuentan por igual para el límite de bloque de 1000000 bytes. Las transacciones de Segwit, por el contrario, mantienen ciertos datos (firmas, etc.) en una sección de "testigo" separada, y esa sección de testigo se descuenta: cada byte de testigo solo cuenta como 0,25 bytes hacia el límite de bloque. Las tarifas están determinadas por el mercado y no por una regla del sistema, pero el hecho de que las transacciones de segwit tengan parte de su contenido con descuento hace que el mercado les fije un precio menor.

Hay una razón por la que se justifica este descuento: en transacciones heredadas, crear una salida de transacción es significativamente más barato que gastar uno. Esto fomenta el polvo no gastable: los productos que se crearon en un momento en que las tarifas eran bajas pueden volverse antieconómicos para gastar (= cuestan más gastar de lo que valen) cuando las tarifas son altas. Esta es una carga para todo el ecosistema, ya que los nodos completos (al menos por ahora) necesitan mantener un acceso rápido al conjunto de todas las salidas no gastadas.

¿Por qué se siguen utilizando las transacciones heredadas?

Compatibilidad. Hay poco más que decir al respecto: todavía están permitidos porque sería imposible obtener un cambio que rompa el software existente de las personas sin una muy buena razón. Y la gente todavía los usa, porque no han actualizado su infraestructura para usar transacciones segwit: los costos de ingeniería para realizar esta actualización pueden considerarse (con razón o no) más altos de lo que se ganaría con la actualización.

Nit: El límite de tamaño de bloque está muerto, larga vida al límite de peso de bloque.
@Murch Sí, aunque quería evitar entrar en esos detalles. Creo que describir al testigo con un descuento de 0,25 hacia el límite de 1000000 es equivalente a la especificación real.
Entonces, ¿por qué se descuenta la sección de testigos? ¿Es de alguna manera más barato almacenar y transferir?
Es más barato porque las reglas lo dicen. La justificación de esa regla es que, de hecho, no sobrecargan tanto la red: las salidas se suman al conjunto de UTXO, pero las entradas se eliminan. Solo las entradas tienen una sección de testigo, por lo que una transacción con más entradas (es decir, una que se descontará mucho) es una carga menor para la red.

Debe haber incentivos para el uso de un tipo de transacción más eficiente que tenga menos preocupación por la escalabilidad de la red.