¿Por qué la guía para desarrolladores de Segwit recomienda estimar las tarifas en función del tamaño en lugar del peso?

La Guía de desarrollo de Segwit Wallet tiene una pequeña sección sobre estimación de tarifas :

Estimación de la tarifa de transacción

  • En lugar del tamaño de la transacción, se define una nueva métrica, llamada “tamaño virtual” ( vsize)
  • vsizede una transacción es igual a 3 veces el tamaño con la serialización original, más el tamaño con la nueva serialización, divida el resultado por 4 y redondee al siguiente entero. Por ejemplo, si una transacción es de 200 bytes con nueva serialización y se convierte en 99 bytes con marker, flagy witnesseliminados, vsizees (99 * 3 + 200) / 4 = 125 con redondeo.
  • vsizede una transacción no segwit es simplemente su tamaño
  • La tarifa de transacción debe estimarse comparando vsizecon otras transacciones, no el tamaño.
  • Los desarrolladores deben tener cuidado de no cometer un error de 4 veces en la estimación de la tarifa.

vsizepor lo tanto, es un valor que permite una fácil comparación con el tamaño de transacción utilizado anteriormente. ¿Cuál es la razón por la que se recomienda como base para la estimación de tarifas? ¿No tendría más sentido calcular directamente las estimaciones de tarifas en función del peso?

Respuestas (1)

La ventaja de usar vsize es que se trata de una transición suave desde el tamaño; cada transacción sin testigos tiene vsize igual a size.

Todo el código y la infraestructura que usaban satoshi/byte anteriormente seguirán funcionando al sustituir tamaño por vsize y brindarán resultados consistentes. Cambiar al peso sería confuso, ¿estaríamos hablando de satoshi/weightbyte?