Una transacción Bitcoin es un mensaje que tu cartera envía a la red para pagar a alguien o mover bitcoin entre tus propias carteras. Indica qué cantidades recibidas anteriormente se usarán y en qué condiciones podrán gastarse las nuevas. La red comprueba que tienes autorización y que no envías más de lo disponible. Pulsar Enviar todavía no significa que el pago esté confirmado.
Tienes una cantidad sin gastar de 100 000 sat y quieres enviar 60 000 sat. El sat es la unidad más pequeña del bitcoin: 1 BTC contiene 100 000 000 sat. La cartera puede preparar una transacción que asigne 60 000 sat al destinatario, te devuelva 39 000 sat y deje 1 000 sat como comisión para el minero. Se parece a pagar con un billete grande y recibir cambio. Se utilizan los 100 000 sat originales enteros y se crean dos cantidades nuevas. El cambio suele ir a una nueva dirección de tu cartera; no es otro pago a un desconocido. La comisión es la diferencia entre las cantidades utilizadas y las creadas, no una salida aparte. Omitir el cambio podría hacer que la comisión fuese demasiado alta sin querer. [2]
Bitcoin registra las salidas todavía no gastadas de transacciones anteriores, llamadas UTXO. Puedes imaginarlas como cantidades individuales que tu cartera puede utilizar. Una entrada de la nueva transacción señala una salida anterior; una salida nueva fija un importe y las condiciones para gastarlo después. La cartera puede combinar varias cantidades o repartir un pago entre varios destinatarios. Por eso una entrada no indica simplemente una dirección remitente: contiene el identificador de la transacción anterior, txid, y el número de su salida. Este par se llama outpoint. La salida señalada debe existir y estar disponible. No puede gastarse dos veces ni contabilizarse mediante dos entradas en una misma transacción. [1] [2]
En un pago normal, la cartera crea una firma digital con una clave privada. La firma demuestra la autorización para transferir y puede verificarse sin revelar la clave. Las condiciones también pueden exigir varias firmas o esperar hasta cierto momento. Técnicamente, la transacción aporta los datos necesarios en scriptSig y, cuando corresponde, en una parte separada llamada witness. Los nodos los usan para verificar las condiciones de la salida gastada. El modo SIGHASH determina qué partes de la transacción protege la firma frente a cambios. Ni siquiera una firma válida permite gastar fondos inexistentes, aumentar el importe total o saltarse un bloqueo temporal todavía vigente. [2]
Tras firmar, la cartera difunde la transacción. Los nodos la revisan y pueden incorporarla a su mempool, una sala de espera para transacciones sin confirmar. Entrar ahí aún no significa aparecer en un bloque. La primera confirmación llega al incluirse en un bloque válido; cada bloque posterior añade otra. Las reglas para retransmitir y guardar transacciones pendientes pueden variar entre nodos y no son las mismas que determinan la validez de un bloque. Otra transacción que gaste los mismos fondos puede sustituir a una pendiente. Incluso una confirmación puede desaparecer en una reorganización, cuando la red acepta otra rama válida del historial. Comprueba la recepción en tu propia cartera, en la red correcta, revisando importe, destino y confirmaciones, en lugar de confiar en una captura ajena. [4]
La cartera suele mostrar el txid, un identificador para localizar la transacción. Técnicamente se obtiene aplicando SHA-256 dos veces a su codificación sin datos witness. Otro identificador, wtxid, sí incluye witness; si la transacción no tiene witness, ambos coinciden. Identifican el registro, pero no demuestran por sí solos que el pago esté confirmado. La comisión depende principalmente del tamaño de los datos y de la tarifa elegida, no del valor en moneda nacional de los bitcoins enviados. La tarifa utiliza el tamaño virtual vsize: el llamado peso de la transacción dividido entre cuatro y redondeado hacia arriba. Por eso juntar muchas entradas pequeñas puede costar más que transferir una sola cantidad mayor. [3]
Entradas menos salidas: la comisión
Si una transacción normal utiliza en total 250 000 sat y asigna 248 200 sat a sus destinatarios, incluido el cambio, los 1 800 sat restantes son la comisión del minero. No se envían por separado a una dirección de comisiones.
Para obtener la imagen más completa, lee esta entrada junto con UTXO, Private Key, Mempool, Transaction Fees, SegWit. También enlazan con esta entrada Bitcoin Whitepaper, Timechain / Blockchain, Full Node, UTXO.
01¿Se puede revertir una transacción Bitcoin confirmada?+
Bitcoin no tiene un botón Anular ni un administrador que revierta a petición una transferencia confirmada. Para recuperar el dinero, normalmente el destinatario debe enviarlo en una nueva transacción. Eso es distinto de una reorganización de la cadena, en la que un pago puede perder temporalmente sus confirmaciones. Cada bloque adicional aumenta el trabajo de los mineros, Proof of Work, necesario para sustituir el historial. Más confirmaciones aportan mayor confianza, pero no una garantía absoluta.