No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Bitcoin para Developers

Curso de Bitcoin para Developers

Juan Sebastián Marulanda

Juan Sebastián Marulanda

Transaction fees en Bitcoin

11/16
Recursos

Toda transacción en una Blockchain tiene una comisión, o fee, de incentivo al minero para que sea priorizada, procesada y confirmada.

Cuál es el costo de las comisiones

Los mineros son recompensados por el minado y por mantener segura la red de una Blockchain.

Reciben las comisiones de cada transacción de un bloque que previamente han sido priorizadas y tomadas desde el mempool de Bitcoin para su posterior validación.

Mempool de Bitcoin
Recordemos que el Mempool es ese espacio en memoria que la Blockchain de Bitcoin utiliza para almacenar las transacciones sin confirmación. Los nodos toman las transacciones con prioridad para validar e insertar en un nuevo bloque.

La priorización de una transacción depende de su comisión. Si la misma es muy baja, tal vez la transacción nunca sea confirmada. Si su costo se encuentra por encima del promedio, será más tentadora para los mineros.

El costo de una comisión es manipulable, o sea, podemos establecer cuántos Satoshis serán para el minero. Es complejo determinar de cuánto dinero debería ser una comisión, ya que depende del uso de la red en determinado momento y de la cantidad de transacciones en espera en el mempool.

Cálculo del costo de una transacción

Podría creerse que transferir 1000 BTC es mucho más costoso que transferir 1 BTC. Esto es falso. Las comisiones en Bitcoin no dependen de la cantidad de BTC que transferimos o de un porcentaje de los mismos.

Las comisiones en la red de Bitcoin dependen de la cantidad de entradas y salidas que se utilizan en la transacción. Por lo que una transacción de 1000 BTC podría ser más barata que transferir 1 BTC.

Al transferir valor en BTC, la comisión depende de la cantidad de outputs con los que se construye el monto a enviar. Si tenemos 100 salidas que forman 1 BTC, la comisión es más costosa que transferir 1000 BTC compuestos por una sola salida.

Esto es debido a la cantidad de procesamiento lógico y la cantidad de memoria que necesitarán los nodos para confirmar una transacción. Si los nodos necesitan procesar 100 salidas, será más costoso que procesar solo una y esto determina el costo de comisión. La complejidad y el tamaño y no en el valor a transferir.

Bitcoin no entiende sobre dólares
Como personas, solemos utilizar el dólar norteamericano o el euro para establecer el valor de un activo digital como lo es el bitcoin. Bitcoin no entiende, y no le interesa, de cuánto es su valor en dólares. Eso es un valor establecido por los exchanges a través de la oferta y demanda. La Blockchain de Bitcoin solo entiende de unidades de BTC o Satoshis.

El fee de una transacción se encuentra implícito en la misma. No existe un campo dentro de la transacción que indique la comisión para el minero. Esto se calcula con la fórmula Fees = Sum(inputs) - Sum(outputs).

Si queremos transferir 2 BTC usando outputs que conformen 5 BTC, nos correspondería 3 BTC de vuelto. Esos 3 BTC deben establecerse como salida de cambio o de vuelto a su dirección de origen de forma explícita. Si no se realiza, los 3 BTC serán la comisión del minero por lo que hay que tener mucho cuidado.

Conclusión

El mecanismo por detrás de Bitcoin para establecer el costo de las comisiones es complejo y con muchas variables a tener en cuenta para no equivocarnos a la hora de transferir dinero.

Muchos de los conceptos vistos aquí como el cálculo de las comisiones dependiendo el estado de la red o el valor de retorno, no deben preocuparnos si utilizamos billeteras como Metamask, ya que realizan todos los cálculos por nosotros y hasta permiten personalizar el costo de las transacciones.

Todos estos son conceptos a tener en cuenta si deseamos trabajar con Bitcoin y desarrollar nuestros propios programas para la transferencia de valor.


Contribución creada por: Kevin Fiorentino (Platzi Contributor).

Aportes 11

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Si no estoy entendiendo mal, yo puedo tener 1 BTC proveniente de una transacción (una salida). O también puedo tener 1 BTC proveniente de 100 transacciones (100 salidas). El valor económico es el mismo, un Bitcoin.
Sin embargo, la cantidad de transacciones que necesité para tener ese bitcoin es lo que determinará la comisión para gastarlo (generar una entrada). Por lo tanto, con 100 salidas será mucho más costosa la comisión que solo una.

💡 Las transacciones no tienen un campo para el fee, el fee esta implícito como la diferencia entre la sumatoria de inputs y la sumatoria de outputs
Fees = Sum(inputs) - Sum(outputs)

Ejemplo:

Si quiero pagar un articulo de amazon que cuesta 0.20 BTC entonces:

  1. Se calcula mi entrada, la suma de todos los BTC que he recibido y tengo disponibles
    2 BTC
  2. Mi salida sera de 0.20 BTC
    1. Si no se especifica el UTXO (la segunda salida que sera hacia mi wallet o el “cambio”) entonces el fee se calcularía:
      fee = 2 - 0.20
      El fee quedaría como 1.80 BTC y el balance de nuestra wallet sería de 0 BTC
    2. Si especificamos cuanto queremos de UTXO, entonces lo demás se convertirá en el fee
      fee = 2 - (0.20 + 1.50)
      El fee quedaría como 0.30 BTC y el balance de nuestra wallet sería de 1.50 BTC

Transaction fees.

  • Es la compensación a los mineros por asegurar la red.
  • Son calculadas basadas en el tamaño de la transacción, no su valor.
  • Priorización.

.
Añadiendo fees a las transacciones.

  • Las transacciones no tienen un campo para fees.
  • Las fees están implícitas como la diferencia entre la sumatoria de inputs y la sumatoria de outputs.
  • Fees = Sum(inputs) - Sum(outputs).

Comparación Fee Bitcoin vs Ethereum

¿Qué es la tarifa de transacción y cómo se calcula?

transacciones no tienen un campo para fees.
fees= sum(inputs) - Sum (outputs)

Las tarifas se basan en la complejidad de la transacción

RESUMEN CLASE 11:
TRANSACTION FEES

I.- FEES

  • Compensación a los mineros por asegurar la red.

  • Calculadas basadas en el tamaño de la transacción, no su valor.

  • Priorización.

II.- AÑADIENDO FEES A LAS TRANSACCIONES

  • Transacciones no tienen un campo para fees

  • Fees están implícitas como la diferencia entre la sumatoria de inputs y la sumatoria de outputs

  • Fees = Sum(inputs) - Sum(outputs)

La cantidad y complejidad de las transacciones es lo que define el costo de tarifa, no importa el valor económico que se mueva

Tarifa Alta = Muchas Entradas/Salidas

mempool chart <https://bitcoinvisuals.com/bitcoind-mempool>

Las tarifas se basan en la complejidad de la transacción.

No soy un desarrollador llegue por el curso de Gestión de Criptoactivos… pero se entiende plenamente. Gracias!