Bitcoin: Comisiones De Transacci贸n#
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#
Tal vez pienses 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.
Post creado en colaboraci贸n con el Curso de Bitcoin de Platzi.