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).
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?