Bitcoin es un sistema abierto para transferir valor monetario sin un administrador central obligatorio. El mismo nombre designa el protocolo, la red de participantes y su unidad monetaria; su símbolo es BTC y un BTC se divide en 100 000 000 satoshis. Para entenderlo conviene seguir un pago: quién puede controlar el valor, cómo transmite esa facultad al destinatario y cómo los demás verifican su incorporación al historial compartido.
El saldo bancario representa una obligación del banco con su cliente. En la autocustodia de bitcoin tenemos los medios para cumplir las condiciones de gasto de registros concretos de la red. El protocolo registra cantidades y condiciones, no nombres legales de propietarios. La cartera reúne esos registros para mostrar el saldo; las monedas no son archivos guardados en el teléfono. Un saldo con un custodio o plataforma de intercambio significa otra cosa: normalmente es un derecho frente al servicio que controla las claves. La capacidad técnica de firmar un pago no determina por sí sola la propiedad legal. [Bitcoin Developer Guide — Transactions] [Bitcoin.org — Securing your wallet]
El destinatario facilita una dirección creada por su cartera. Indica cómo crear una salida con determinadas condiciones de gasto; no es un buzón de monedas ni una contraseña secreta. En el caso habitual, una firma digital creada con una clave privada autoriza el siguiente gasto; verificarla no exige revelar la clave. Las condiciones también pueden requerir varias firmas o una espera. Conocer la dirección no basta para gastar. Quien obtiene los secretos necesarios sí puede crear un gasto válido; la red no distingue el robo de una clave del consentimiento de su titular. [Bitcoin Developer Guide — Transactions]
Una salida no gastada de una transacción anterior se denomina UTXO. Una transacción ordinaria referencia los UTXO elegidos mediante sus entradas, los consume íntegramente y crea nuevas salidas. Con una salida adecuada de 100 000 sat, el remitente puede destinar 60 000 sat al destinatario y devolver 39 000 sat a su propio control. Los 1 000 sat restantes son la comisión, no una tarifa recomendada. La salida original ya no puede volver a gastarse en ese historial. La dirección de cambio no tiene que ser la original. Antes de firmar se comprueban destinatario, importe y comisión. [Bitcoin Developer Guide — Transactions]
La cartera prepara y firma el pago; un Full Node verifica los datos según las reglas de consenso. Comprueba, por ejemplo, que las entradas existan y no estén gastadas, que se cumplan las condiciones y que una transacción ordinaria no cree valor adicional. Puede admitir una transacción válida sin confirmar en su sala de espera local, el Mempool, y retransmitirla. Cada nodo tiene su propia sala de espera y políticas de retransmisión; negarse a retransmitir no siempre implica invalidez dentro de un bloque. La cartera puede usar un nodo propio o un servidor ajeno del que recibe información. Ni siquiera el nodo propio protege una clave de firma robada. [Bitcoin Developer Guide — Transactions] [Bitcoin Developer Guide — Operating Modes]
El titular autorizado de una clave puede firmar dos transacciones distintas que gasten el mismo UTXO. Ambas firmas pueden ser correctas y distintos participantes pueden ver primero pagos diferentes. Además de la autorización, necesitamos un orden compartido. El doble gasto no consiste en copiar un archivo de moneda, sino en intentar imponer dos usos incompatibles de la misma salida. Como máximo uno puede formar parte de un historial válido. La hora de recepción, el número de nodos conectados o lo que afirma una cartera no resuelven por sí solos el conflicto globalmente. [Bitcoin: A Peer-to-Peer Electronic Cash System]
Los mineros preparan bloques candidatos y calculan hashes repetidamente para encontrar un Proof of Work que cumpla el objetivo de dificultad. Cada bloque referencia al anterior; modificar el historial antiguo exige recalcular el trabajo posterior. El nodo verifica primero las reglas y elige entre las ramas válidas la de mayor trabajo acumulado, no necesariamente la de más bloques. La minería ayuda a determinar el orden, pero no autoriza a gastar salidas ajenas. Ni siquiera una mayoría de potencia de cálculo obliga a un nodo sin modificar a aceptar un bloque inválido, aunque puede perturbar el orden y la disponibilidad de confirmaciones. [Bitcoin Developer Guide — Block Chain]
La incorporación a un bloque aceptado da la primera confirmación. Los bloques posteriores suelen elevar el coste de sustituir ese historial. El intervalo entre bloques no es un horario: diez minutos es un objetivo a largo plazo, no un plazo prometido de pago. Una reorganización puede excluir un bloque antes aceptado, devolver una transacción al estado sin confirmar o sustituirla por un gasto incompatible. El número de confirmaciones necesario depende del valor y riesgo del pago; no proporciona certeza absoluta. El protocolo no tiene administrador de anulaciones. Una devolución voluntaria es un nuevo pago cuya comisión debe considerarse de nuevo. [Bitcoin: A Peer-to-Peer Electronic Cash System] [Bitcoin Developer Guide — Block Chain]
La primera transacción del bloque, la Coinbase Transaction, puede asignar al minero el subsidio del bloque y las comisiones de las transacciones incluidas. Solo el subsidio crea unidades nuevas; las comisiones transfieren valor existente. El subsidio máximo comenzó en 50 BTC y se reduce a la mitad cada 210 000 bloques. Este Halving no afecta a las comisiones. El redondeo a satoshis enteros mantiene la suma de subsidios permitidos por debajo de 21 millones de BTC. Los nodos rechazan recompensas superiores a lo permitido. Perder claves no aumenta la emisión futura, y una cantidad limitada de unidades no determina por sí sola su poder adquisitivo. [Bitcoin Developer Guide — Block Chain]
El código fuente puede examinarse y los cambios proponerse públicamente. Un desarrollador publica software, un operador de nodo elige las reglas que verifica y un minero selecciona el contenido del bloque candidato. Ningún papel decide por todos; cambios incompatibles pueden dividir la red. La influencia económica de los participantes sigue siendo desigual. El espacio limitado de los bloques restringe las exigencias de verificación y propagación de datos, pero una demanda elevada genera competencia por la inclusión. La comisión depende del tamaño de la transacción y de esa demanda, no simplemente del importe transferido. [Bitcoin Developer Guide — Block Chain] [Bitcoin Developer Guide — Transactions]
El historial público permite verificar, pero también vincular pagos con identidades, por ejemplo mediante datos de una plataforma de intercambio. Seudonimato no es anonimato. La autocustodia elimina la necesidad de pedir una firma a un custodio, pero traslada al titular la responsabilidad por las copias de seguridad, la seguridad del dispositivo y la comprobación del destinatario. La copia debe restaurar las claves y configuración necesarias; restaurar la cartera no vuelve secreto un secreto revelado. El nodo propio ayuda a verificar el historial, pero no garantiza precio, privacidad ni una firma segura. Verificar de forma independiente exige saber cuál de estas cuestiones se está comprobando. [Bitcoin.org — Protect your privacy] [Bitcoin.org — Securing your wallet]
Para obtener la imagen más completa, lee esta entrada junto con Satoshi Nakamoto, Bitcoin Whitepaper, Genesis Block, Proof of Work, Full Node, 21 millones. También enlazan con esta entrada Satoshi Nakamoto, Bitcoin Whitepaper, Genesis Block, Full Node.