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
)vsize
de 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 conmarker
,flag
ywitness
eliminados,vsize
es (99 * 3 + 200) / 4 = 125 con redondeo.vsize
de una transacción no segwit es simplemente su tamaño- La tarifa de transacción debe estimarse comparando
vsize
con 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.
vsize
por 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?
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?