Guiones, condiciones, firmas... ¿Cómo se protegen los bitcoins?

Disponible como podcast
Comparte el artículo:

Bitcoin es un sistema monetario de igual a igual en el que los usuarios pueden intercambiar valores sin pasar por un intermediario de confianza. Para realizar transacciones, se utiliza una dirección de recepción para recibir bitcoins y, a continuación, la clave privada asociada se utiliza para gastar estos fondos. Pero, ¿cómo interactúan todos estos elementos en términos concretos en una transacción?

En este artículo, analizaremos en profundidad los mecanismos fundamentales de Bitcoin. Aprenderás cómo se representa el BTC en el sistema, cómo se bloquean y desbloquean y cómo funcionan las transacciones en detalle.

¿Cómo se representan los bitcoins?

En Bitcoin, las unidades monetarias no se administran según un modelo de cuenta como en el sistema bancario. En cambio, los bitcoins están representados por UTXOs (Salidas de transacciones no utilizadas), que son esencialmente salidas de transacciones que aún no se han gastado. Cada UTXO representa una cantidad específica de bitcoins de una transacción anterior que está disponible para gastar.

Un UTXO puede considerarse como el soporte monetario de Bitcoin, al igual que los billetes físicos del sistema monetario clásico. Por lo tanto, una sola UTXO puede representar cualquier valor, desde un satoshi (= 0.00000001 BTC) hasta varios bitcoins.

Para entenderlo mejor, comparémoslo con una cuenta bancaria. En tu cuenta, tus transacciones se reflejan directamente en tu saldo. Cada compra o retiro reduce su saldo y cada depósito lo aumenta. En Bitcoin, no hay saldo en la cuenta, sino más bien una serie de UTXOs que representan las distintas cantidades de bitcoins disponibles.

Cuando quieres realizar una transacción con Bitcoin, utilizas como entradas UTXO de tu propiedad (Insumos) para generar nuevas UTXO a cambio de salidas (Salidas). Por lo tanto, una transacción consume UTXO como entradas y crea nuevas UTXO como salidas.

Sin embargo, es importante tener en cuenta que un UTXO no se puede consumir parcialmente: si se usa en una transacción, se debe consumir en su totalidad. Es similar al funcionamiento de los billetes: si quieres gastar 5€ pero solo tienes un billete de 10€, no puedes reducir el billete a la mitad. Estás obligado a dar 10€ al destinatario, quien te entregará 5€ a cambio.

En el caso de una transacción de Bitcoin, funciona de la misma manera. Si el valor del UTXO utilizado supera el importe a pagar, el pagador recibe un nuevo UTXO como producto, lo que representa la diferencia entre el UTXO utilizado como entrada y la suma destinada al beneficiario. Esta UTXO que recae en el pagador recibe el nombre de «intercambio».

Por ejemplo, si Alice tiene un UTXO de 2 BTC y quiere comprar un producto por 0,5 BTC, utilizará este UTXO como entrada para crear 2 nuevos UTXO como salidas: uno de 0,5 BTC para el pago y otro de 1,5 BTC para el cambio que se le adeuda.

Comprensión de los scripts de Bitcoin

Para garantizar la seguridad de las UTXO que pertenecen a cada usuario, necesitamos tener un mecanismo que las bloquee de forma segura y, al mismo tiempo, permitir que el usuario legítimo las desbloquee. Esto se hace mediante scripts.

Un script nos permite poner condiciones a las UTXOs que nos pertenecen para controlar sus gastos. Por lo general, la condición requiere que el usuario proporcione una firma digital hecha con una clave privada que solo el usuario conoce. Aquí es donde entra en juego la cartera de Bitcoin, que se utiliza para proteger todas sus claves privadas. Durante una transacción, el usuario presentará el UTXO que quiere usar y la firma requerida para cumplir con la condición de gasto establecida en el script. Los nodos de la red Bitcoin son entonces responsables de verificar la validez de esta firma para permitir que la transacción se añada a la cadena de bloques.

En cada transacción de Bitcoin, hay dos tipos de scripts: los» Clave ScriptPub », que bloquea el UTXO, y el» Guiones IG », lo que permite desbloquearlo.

¿Cómo puedo bloquear un UTXO?

Cuando recibes bitcoins, el proceso implica que el remitente cree una transacción. En esta, introducirá un UTXO que le pertenezca y que se consumirá, mientras que se crea un nuevo UTXO para ti como salida. En este punto, tu UTXO se bloquea con tu dirección de recepción.

Esta operación se lleva a cabo mediante un Clave ScriptPub. Este script está integrado en la salida de la transacción que crea el UTXO. Especifica las reglas que cualquier usuario futuro debe seguir para desbloquear y gastar UTXO.

El Clave ScriptPub utiliza un conjunto de instrucciones denominado» Códigos de operación » para definir estas condiciones. Por ejemplo, en una transacción P2PKH estándar (Hash de pago a Pubkey-Hash), el Clave ScriptPub puede requerir una firma válida correspondiente a una clave pública codificada, es decir, una dirección de recepción. Este es un ejemplo de Clave ScriptPub P2PKH clásico:

OP_DUP OP_HASH160 OP_PUSHBYTES_20 <adresse de réception> OP_EQUALVERIFY OP_CHECKSIG

En este script:

  • OP_DUP : Duplicar la clave pública de la pila;
  • OP_HASH160 : Devuelve el hash de la clave pública (con SHA256 y luego RIPEMD160);
  • OP_PUSHBYTES_20 <adresse de réception>: Inserte la dirección de Bitcoin esperada en la pila;
  • OP_EQUALVERIFY : Verifique que la clave pública cifrada corresponda a la dirección de recepción proporcionada;
  • OP_CHECKSIG : Verifique la firma con la clave pública.

En este Clave ScriptPub, la UTXO está bloqueada para que solo el usuario con la clave privada correspondiente a la dirección de recepción especificada pueda desbloquear y utilizar esta UTXO proporcionando la firma requerida. Esto significa que cuando proporcionas una dirección de recepción a un pagador para recibir bitcoins, el monedero del pagador creará un UTXO. Este UTXO está protegido por un Clave ScriptPub que incluye la dirección que proporcionaste.

➤ Obtenga más información sobre las direcciones de recepción de Bitcoin.

¿Cómo puedo desbloquear un UTXO?

A su vez, podrás gastar tus bitcoins en una transacción futura consumiendo una (o más) de tus UTXO como entrada. Pero para ello, primero debes desbloquear la UTXO en cuestión.

Desbloquear un UTXO implica cumplir las condiciones definidas por el Clave ScriptPub asociado a él. Esta operación se lleva a cabo mediante el script de desbloqueo, que también se denomina» Guiones IG ». El Guiones IG por lo tanto, se incluye en la entrada de una transacción de Bitcoin. Contiene todos los elementos necesarios para que cuando se ejecute con el Clave ScriptPub En consecuencia, el resultado es» cierto », lo que significa que se han cumplido las condiciones de gasto.

Volvamos a nuestro ejemplo de una transacción P2PKH estándar: para desbloquear el UTXO, el Guiones IG consistiría en la firma y la clave pública correspondientes a la dirección receptora:

<signature><clé publique>

Cuando se crea una transacción, Guiones IG asociada a cada entrada de operación se ejecuta primero, seguida de la ejecución del Clave ScriptPub asociado al UTXO utilizado como entrada. Si el Guiones IG proporciona una firma válida que coincide con la clave pública esperada por el Clave ScriptPub, entonces se cumple la condición de gasto. Esto permite consumir la UTXO en cuestión y gastar los bitcoins que representa.

➤ Descubra cómo administrar correctamente las UTXO adquiridas en DCA.

Conclusión

Bitcoin opera según el modelo UTXOs, que son los portadores que representan las unidades monetarias dentro del sistema. Cada transacción consume UTXO existentes como entradas y crea nuevas UTXO como salidas. Así es como circula el dinero.

Los scripts de Bitcoin determinan las condiciones en las que se pueden gastar estos UTXO. Los Clave ScriptPub se usa para bloquear fondos, mientras que el Guiones IG se utiliza para satisfacer la Clave ScriptPub y así desbloquear el BTC. Este mecanismo garantiza que solo las personas que posean la información necesaria para el desbloqueo (normalmente la clave privada) puedan gastar los bitcoins.

Disponible como podcast

Resumen

Comparte el artículo:

Puede que te gusten estos artículos

Bitstack SAS, una empresa inscrita en el Registro Mercantil y Mercantil de Aix-en-Provence con el número 899 125 090, que opera con el nombre comercial Bitstack, está registrada como agente de Xpollens, una institución de dinero electrónico aprobada por la ACPR (CIB 16528, RCS Nanterre núm. 501586341, 110 Avenue de France 75013 París), ante la Autoridad de Control y Resolución Prudencial («ACPR») en virtud del número 747088 y aprobado como proveedor de servicios de criptoactivos («PSCA») por la Autorité des Marchés Financiers («AMF») como intercambio de criptoactivos por fondos, el intercambio de criptoactivos para otros criptoactivos, la ejecución de órdenes sobre criptoactivos en nombre de los clientes, la custodia y administración de los criptoactivos en nombre de los clientes y la prestación de servicios de transferencia de criptoactivos en nombre de los clientes con el número A2025-003, cuya oficina central se encuentra en 100 Impasse des Houillères 13590 Meyreuil.

Invertir en activos digitales implica el riesgo de pérdida parcial o total del capital invertido.
El rendimiento pasado no garantiza el rendimiento futuro.
DESCARGAR
Bitstack