Una guía de lectura obligada sobre Bitcoin (Parte II): pasado y presente del modelo UTXO

Principiante1/22/2024, 9:00:43 AM
Este artículo presenta el modelo UTXO en detalle. UTXO no solo puede ayudar al mecanismo de consenso y resolver el problema del doble gasto en la cadena de bloques, sino que también le da a la cadena de bloques las características de trazabilidad.

Introducción

“La cadena de bloques UTXO sentó las bases y los cimientos indiscutibles de la industria blockchain actual. La tecnología UTXO refleja la visión central de Satoshi Nakamoto de lograr la máxima libertad financiera”. El modelo UTXO garantiza la seguridad, la privacidad de los datos y la seguridad en el centro de las actividades financieras. Escalable y una alternativa más segura al modelo de cuenta Ethereum.

Principios de Blockchain: la base del modelo UTXO

Blockchain es un libro de contabilidad distribuido, descentralizado y digital. Blockchain utiliza una red P2P (Peer to Peer), donde los participantes presentes en la red se denominan nodos. El libro mayor almacena datos sobre transacciones. Es una cadena de bloques, donde su característica más significativa es que los bloques están unidos criptográficamente entre sí.

Blockchain: unidos criptográficamente

• Cada bloque de la cadena de bloques, excepto el primer bloque (conocido como bloque génesis), contiene un campo llamado hash anterior. Es el hash del bloque anterior de la cadena. Esto hace que blockchain sea muy segura.

• Factores que determinan el valor hash del bloque. Si alguno de estos cuatro factores cambia, aunque sea 1 bit, debido al efecto avalancha, el hash cambiará por completo. Las transacciones se almacenan dentro de bloques y son uno de los cuatro factores que cambian el hash del bloque. Esto significa que si un minero elige una transacción diferente y mantiene los otros 4 factores iguales, el valor hash será diferente.

  1. Marca de tiempo

  2. Número de bloque: el número de secuencia del bloque actual en la cadena.

  3. Datos: Transacciones almacenadas en bloques.

  4. Número aleatorio

• Si un atacante intenta cambiar los datos de un bloque, el hash del bloque cambiará; como se indicó anteriormente, el siguiente bloque contendrá el hash del bloque actual; si el hash cambia, la cadena se destruirá. O el atacante tiene que minar todos los bloques nuevamente desde ese punto. Esta es una posibilidad en un ataque del 51%.

¿Qué es un “bloque”?

Un bloque en blockchain almacena transacciones. En el caso de bitcoin, los bloques se agregan a la cadena de bloques cada 10 minutos, esto puede variar como tiempo para extraer un nuevo bloque dependiendo de la complejidad del hash objetivo, y puede llevar más tiempo extraer un bloque, en comparación con el otro.

• Cuando el minero extrae el bloque con éxito, se agrega a la cadena de bloques. Cuando el bloque se agrega a la cadena, el estado de todas las transacciones dentro del bloque cambia de no confirmado a confirmado.

• En el caso de bitcoin, el número de transacciones que se pueden almacenar dentro de un bloque no es fijo, pero el tamaño máximo del bloque se establece en aproximadamente 1 MB, el tamaño del bloque puede variar ligeramente de 1 MB.

• Los bloques vacíos son válidos, lo que significa que se puede extraer un bloque vacío y agregarlo a la cadena.

Estructura de transacción de blockchain

Al analizar una sola transacción se revelan varias estructuras diferentes con diferente semántica dentro de la transacción. Las siguientes son las diferentes estructuras presentes en las transacciones:

  1. Número de versión de transacción: Es un número de versión que especifica el tipo de transacción a la red. A través del número de transacción, un nodo puede determinar el conjunto de reglas que se utilizarán para verificar esta transacción en particular.
  2. Salida: La salida de la transacción consta de un bloqueo criptográfico y una hora.
  3. Entrada: la entrada de la transacción consta de un puntero y una clave de desbloqueo. El puntero apunta al resultado de la transacción anterior. La clave de desbloqueo se utiliza para desbloquear la salida anterior a la que apunta la entrada. Cada vez que una entrada desbloquea la salida, se marca en la base de datos de blockchain como gastada.
  4. Tiempo de bloqueo: especifica si una transacción se puede incluir en la cadena de bloques de inmediato o después de un tiempo específico.

UTXO son todas aquellas salidas que aún no han sido desbloqueadas por una entrada.

Una vez que se desbloquea una salida, se elimina del suministro circulante. Las nuevas salidas toman su lugar. Por lo tanto, la suma de las salidas desbloqueadas siempre será igual a la suma de los valores de las salidas recién creadas.

¿Qué es el modelo UTXO?

UTXO no es una denominación de criptomoneda, como satoshi para Bitcoin (BTC) o gwei para Ethereum (ETH); sin embargo, UTXO se puede medir utilizando estas denominaciones. UTXO significa Salida de transacciones no gastadas. En Bitcoin, una transacción permanece vigente hasta que se ejecuta, hasta que se completa otra transacción usando ese UTXO. Cuando se completa una transacción, las salidas no utilizadas se almacenan nuevamente en la base de datos como entradas y pueden usarse para otra transacción más adelante.

Cuando un usuario inicia una transacción a través de su billetera, el UTXO que contiene la información de la transacción se localiza, se desbloquea y la información del nuevo propietario se asocia con el UTXO que se le transfiere. Y ese usuario podrá utilizarlos en transacciones mediante el mismo proceso. A medida que continúen las transacciones, la base de datos se completará con registros de cambios de propiedad. El resultado es una parte de la criptomoneda que el usuario envió a alguien pero no gastó. Se registran en la base de datos como entrada para la puntuación de la criptomoneda.

¿Cómo se crea una UTXO?

Los UTXO se crean mediante el consumo de UTXO existentes. Cada transacción de Bitcoin se compone de entradas y salidas. Las entradas consumen un UTXO existente, mientras que las salidas crean un nuevo UTXO. Al decidir gastar Bitcoins, solo podemos ver el monto deducido y el monto restante en la billetera. Para el usuario, esto es similar a comprar un artículo de $0,50 con un billete de $1: es como recibir cambio y guardarlo en su bolsillo.

Ventajas del modelo UTXO

El modelo UTXO no incorpora billeteras a nivel de protocolo. Se basa en transacciones individuales que se agrupan en bloques. El modelo UTXO es un diseño común a muchas criptomonedas, especialmente Bitcoin.

• Las criptomonedas que utilizan el modelo UTXO no utilizan cuentas ni saldos. En cambio, los UTXO se transfieren entre usuarios, al igual que el dinero físico.

• Cada transacción en el modelo UTXO puede hacer que el sistema pase a un nuevo estado, pero la transición a un nuevo estado con cada transacción no es factible.

• Los participantes de la red deben permanecer sincronizados con el estado actual.

El total de UTXO presentes en una cadena de bloques representa un conjunto y cada nodo de bitcoin los mantiene constantemente.

• Cada transacción consume elementos de este conjunto y crea otros nuevos que se agregan al conjunto. El conjunto de UTXO se actualiza cada vez que se acepta un nuevo bloque en la cadena de bloques, y cada nodo de Bitcoin en la red tendrá la copia exacta del conjunto de UTXO en su almacenamiento local.

• El conjunto completo de UTXO se puede sumar para calcular el suministro total de la criptomoneda en un momento dado y, en el caso de transacciones válidas de blockchain, solo los resultados no gastados se pueden usar para financiar transacciones adicionales. Para evitar el doble gasto y el fraude, es necesaria la condición de que sólo los productos no gastados puedan utilizarse en futuras transacciones.

La diferencia entre el modelo UTXO y el modelo contable Ethereum

Los resultados de las transacciones no gastadas son parte de la tecnología de base de datos distribuida detrás de Bitcoin y otras criptomonedas. Bitcoin usa UTXO, pero no es un UTXO. Además, Ethereum utiliza un enfoque basado en contabilidad y saldos de cuentas, por lo que no hay UTXO en la máquina virtual Ethereum.

Importancia técnica de UTXO

• Contratos inteligentes independientes del idioma: los contratos inteligentes basados en UTXO son independientes del idioma, lo que permite a UTXO desarrollar mecanismos de consenso únicos.

• Admite intercambios descentralizados e intercambios atómicos: el modelo UTXO puede admitir intercambios atómicos, lo que permite transacciones cifradas de igual a igual sin la participación de terceros. La función de intercambio atómico de los UTXO ofrece una mejor facilidad para el comercio directo de criptomonedas entre billeteras de usuarios.

• Beneficio de escalabilidad: la instalación o el procesamiento de transacciones en paralelo reduce la carga de cálculo en las redes blockchain.

• Privacidad y seguridad: con nuevas direcciones utilizadas para cada transacción UTXO, es imposible rastrear las transacciones.

• Evitar el doble gasto: Un UTXO solo se puede usar una vez, lo cual es la base para el funcionamiento de la tecnología blockchain y asegura que la moneda no se usará varias veces.

• Más flexible: Ofrece mayor flexibilidad que las monedas fiduciarias.

• Paralelización simple: Permite una paralelización más sencilla de transacciones en contratos inteligentes.

El modelo UTXO se utiliza en muchas criptomonedas porque permite a los usuarios rastrear la propiedad de todas las partes de la criptomoneda. Debido a que las criptomonedas se crean teniendo en cuenta el anonimato, los UTXO están asociados con direcciones públicas visibles para toda la red.

Los usuarios no pueden ser identificados por su propiedad a menos que publiquen su dirección, pero el modelo permite transparencia a través de las direcciones.

Aplicación de caso de uso UTXO: solución de transferencia RGB fuera de cadena

El concepto central del protocolo RGB es llamar a la cadena de bloques de Bitcoin solo cuando sea necesario, utilizando prueba de trabajo y la red descentralizada para lograr protección contra el doble gasto y resistencia a la censura. La validación de todas las transferencias de tokens se traslada de la capa de consenso global a fuera de la cadena y solo la verifica el cliente que recibe el pago.

Principio de funcionamiento:

En un determinado contrato de RGB, los tokens de génesis pertenecen a un UTXO de Bitcoin (ya sea que ya exista o se haya creado temporalmente), y para transferir tokens, es necesario gastar este UTXO. Al gastar este UTXO, la transacción de Bitcoin debe agregar una salida adicional, que contiene un compromiso con un mensaje. El contenido de este mensaje es la información de pago RGB, que define la entrada y a qué UTXO se enviarán estos tokens, el ID del activo, la cantidad, la transacción de gasto y los datos que debe adjuntar.

Conclusión

La esencia de UTXO es en realidad una forma de contabilidad basada en flujos: verifica la existencia de fondos de transacciones a través del modelo UTXO y luego rastrea el origen de la transacción. Una vez confirmado que es correcto, se transmitirá a toda la red a través del mecanismo de consenso y se registrará en la cadena. A lo largo de este proceso, UTXO registra toda la información relacionada con los fondos de la cuenta involucrada, las direcciones de las transacciones, los fondos transferidos y las fuentes de los fondos, lo que permite rastrear la fuente original de cada transacción. Precisamente en base a esta característica, UTXO puede trabajar junto con el mecanismo de consenso para resolver el problema del doble gasto. La seguridad y la integridad de la información de las transacciones en el protocolo RGB están garantizadas a través de UTXO.

En resumen, UTXO no solo puede ayudar al mecanismo de consenso y resolver el problema del doble gasto de la cadena de bloques, sino que también puede brindarle características de trazabilidad a la cadena de bloques. En base a esto, blockchain puede garantizar la autenticidad y confiabilidad de cada transacción.

Descargo de responsabilidad:

  1. Este artículo está reimpreso de aicoin]. Todos los derechos de autor pertenecen al autor original [Echo,BiHelix;Satoshi Labs]. Si hay objeciones a esta reimpresión, comuníquese con el equipo de Gate Learn y ellos lo manejarán de inmediato.
  2. Descargo de responsabilidad: los puntos de vista y opiniones expresados en este artículo son únicamente los del autor y no constituyen ningún consejo de inversión.
  3. Las traducciones del artículo a otros idiomas están a cargo del equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.

Una guía de lectura obligada sobre Bitcoin (Parte II): pasado y presente del modelo UTXO

Principiante1/22/2024, 9:00:43 AM
Este artículo presenta el modelo UTXO en detalle. UTXO no solo puede ayudar al mecanismo de consenso y resolver el problema del doble gasto en la cadena de bloques, sino que también le da a la cadena de bloques las características de trazabilidad.

Introducción

“La cadena de bloques UTXO sentó las bases y los cimientos indiscutibles de la industria blockchain actual. La tecnología UTXO refleja la visión central de Satoshi Nakamoto de lograr la máxima libertad financiera”. El modelo UTXO garantiza la seguridad, la privacidad de los datos y la seguridad en el centro de las actividades financieras. Escalable y una alternativa más segura al modelo de cuenta Ethereum.

Principios de Blockchain: la base del modelo UTXO

Blockchain es un libro de contabilidad distribuido, descentralizado y digital. Blockchain utiliza una red P2P (Peer to Peer), donde los participantes presentes en la red se denominan nodos. El libro mayor almacena datos sobre transacciones. Es una cadena de bloques, donde su característica más significativa es que los bloques están unidos criptográficamente entre sí.

Blockchain: unidos criptográficamente

• Cada bloque de la cadena de bloques, excepto el primer bloque (conocido como bloque génesis), contiene un campo llamado hash anterior. Es el hash del bloque anterior de la cadena. Esto hace que blockchain sea muy segura.

• Factores que determinan el valor hash del bloque. Si alguno de estos cuatro factores cambia, aunque sea 1 bit, debido al efecto avalancha, el hash cambiará por completo. Las transacciones se almacenan dentro de bloques y son uno de los cuatro factores que cambian el hash del bloque. Esto significa que si un minero elige una transacción diferente y mantiene los otros 4 factores iguales, el valor hash será diferente.

  1. Marca de tiempo

  2. Número de bloque: el número de secuencia del bloque actual en la cadena.

  3. Datos: Transacciones almacenadas en bloques.

  4. Número aleatorio

• Si un atacante intenta cambiar los datos de un bloque, el hash del bloque cambiará; como se indicó anteriormente, el siguiente bloque contendrá el hash del bloque actual; si el hash cambia, la cadena se destruirá. O el atacante tiene que minar todos los bloques nuevamente desde ese punto. Esta es una posibilidad en un ataque del 51%.

¿Qué es un “bloque”?

Un bloque en blockchain almacena transacciones. En el caso de bitcoin, los bloques se agregan a la cadena de bloques cada 10 minutos, esto puede variar como tiempo para extraer un nuevo bloque dependiendo de la complejidad del hash objetivo, y puede llevar más tiempo extraer un bloque, en comparación con el otro.

• Cuando el minero extrae el bloque con éxito, se agrega a la cadena de bloques. Cuando el bloque se agrega a la cadena, el estado de todas las transacciones dentro del bloque cambia de no confirmado a confirmado.

• En el caso de bitcoin, el número de transacciones que se pueden almacenar dentro de un bloque no es fijo, pero el tamaño máximo del bloque se establece en aproximadamente 1 MB, el tamaño del bloque puede variar ligeramente de 1 MB.

• Los bloques vacíos son válidos, lo que significa que se puede extraer un bloque vacío y agregarlo a la cadena.

Estructura de transacción de blockchain

Al analizar una sola transacción se revelan varias estructuras diferentes con diferente semántica dentro de la transacción. Las siguientes son las diferentes estructuras presentes en las transacciones:

  1. Número de versión de transacción: Es un número de versión que especifica el tipo de transacción a la red. A través del número de transacción, un nodo puede determinar el conjunto de reglas que se utilizarán para verificar esta transacción en particular.
  2. Salida: La salida de la transacción consta de un bloqueo criptográfico y una hora.
  3. Entrada: la entrada de la transacción consta de un puntero y una clave de desbloqueo. El puntero apunta al resultado de la transacción anterior. La clave de desbloqueo se utiliza para desbloquear la salida anterior a la que apunta la entrada. Cada vez que una entrada desbloquea la salida, se marca en la base de datos de blockchain como gastada.
  4. Tiempo de bloqueo: especifica si una transacción se puede incluir en la cadena de bloques de inmediato o después de un tiempo específico.

UTXO son todas aquellas salidas que aún no han sido desbloqueadas por una entrada.

Una vez que se desbloquea una salida, se elimina del suministro circulante. Las nuevas salidas toman su lugar. Por lo tanto, la suma de las salidas desbloqueadas siempre será igual a la suma de los valores de las salidas recién creadas.

¿Qué es el modelo UTXO?

UTXO no es una denominación de criptomoneda, como satoshi para Bitcoin (BTC) o gwei para Ethereum (ETH); sin embargo, UTXO se puede medir utilizando estas denominaciones. UTXO significa Salida de transacciones no gastadas. En Bitcoin, una transacción permanece vigente hasta que se ejecuta, hasta que se completa otra transacción usando ese UTXO. Cuando se completa una transacción, las salidas no utilizadas se almacenan nuevamente en la base de datos como entradas y pueden usarse para otra transacción más adelante.

Cuando un usuario inicia una transacción a través de su billetera, el UTXO que contiene la información de la transacción se localiza, se desbloquea y la información del nuevo propietario se asocia con el UTXO que se le transfiere. Y ese usuario podrá utilizarlos en transacciones mediante el mismo proceso. A medida que continúen las transacciones, la base de datos se completará con registros de cambios de propiedad. El resultado es una parte de la criptomoneda que el usuario envió a alguien pero no gastó. Se registran en la base de datos como entrada para la puntuación de la criptomoneda.

¿Cómo se crea una UTXO?

Los UTXO se crean mediante el consumo de UTXO existentes. Cada transacción de Bitcoin se compone de entradas y salidas. Las entradas consumen un UTXO existente, mientras que las salidas crean un nuevo UTXO. Al decidir gastar Bitcoins, solo podemos ver el monto deducido y el monto restante en la billetera. Para el usuario, esto es similar a comprar un artículo de $0,50 con un billete de $1: es como recibir cambio y guardarlo en su bolsillo.

Ventajas del modelo UTXO

El modelo UTXO no incorpora billeteras a nivel de protocolo. Se basa en transacciones individuales que se agrupan en bloques. El modelo UTXO es un diseño común a muchas criptomonedas, especialmente Bitcoin.

• Las criptomonedas que utilizan el modelo UTXO no utilizan cuentas ni saldos. En cambio, los UTXO se transfieren entre usuarios, al igual que el dinero físico.

• Cada transacción en el modelo UTXO puede hacer que el sistema pase a un nuevo estado, pero la transición a un nuevo estado con cada transacción no es factible.

• Los participantes de la red deben permanecer sincronizados con el estado actual.

El total de UTXO presentes en una cadena de bloques representa un conjunto y cada nodo de bitcoin los mantiene constantemente.

• Cada transacción consume elementos de este conjunto y crea otros nuevos que se agregan al conjunto. El conjunto de UTXO se actualiza cada vez que se acepta un nuevo bloque en la cadena de bloques, y cada nodo de Bitcoin en la red tendrá la copia exacta del conjunto de UTXO en su almacenamiento local.

• El conjunto completo de UTXO se puede sumar para calcular el suministro total de la criptomoneda en un momento dado y, en el caso de transacciones válidas de blockchain, solo los resultados no gastados se pueden usar para financiar transacciones adicionales. Para evitar el doble gasto y el fraude, es necesaria la condición de que sólo los productos no gastados puedan utilizarse en futuras transacciones.

La diferencia entre el modelo UTXO y el modelo contable Ethereum

Los resultados de las transacciones no gastadas son parte de la tecnología de base de datos distribuida detrás de Bitcoin y otras criptomonedas. Bitcoin usa UTXO, pero no es un UTXO. Además, Ethereum utiliza un enfoque basado en contabilidad y saldos de cuentas, por lo que no hay UTXO en la máquina virtual Ethereum.

Importancia técnica de UTXO

• Contratos inteligentes independientes del idioma: los contratos inteligentes basados en UTXO son independientes del idioma, lo que permite a UTXO desarrollar mecanismos de consenso únicos.

• Admite intercambios descentralizados e intercambios atómicos: el modelo UTXO puede admitir intercambios atómicos, lo que permite transacciones cifradas de igual a igual sin la participación de terceros. La función de intercambio atómico de los UTXO ofrece una mejor facilidad para el comercio directo de criptomonedas entre billeteras de usuarios.

• Beneficio de escalabilidad: la instalación o el procesamiento de transacciones en paralelo reduce la carga de cálculo en las redes blockchain.

• Privacidad y seguridad: con nuevas direcciones utilizadas para cada transacción UTXO, es imposible rastrear las transacciones.

• Evitar el doble gasto: Un UTXO solo se puede usar una vez, lo cual es la base para el funcionamiento de la tecnología blockchain y asegura que la moneda no se usará varias veces.

• Más flexible: Ofrece mayor flexibilidad que las monedas fiduciarias.

• Paralelización simple: Permite una paralelización más sencilla de transacciones en contratos inteligentes.

El modelo UTXO se utiliza en muchas criptomonedas porque permite a los usuarios rastrear la propiedad de todas las partes de la criptomoneda. Debido a que las criptomonedas se crean teniendo en cuenta el anonimato, los UTXO están asociados con direcciones públicas visibles para toda la red.

Los usuarios no pueden ser identificados por su propiedad a menos que publiquen su dirección, pero el modelo permite transparencia a través de las direcciones.

Aplicación de caso de uso UTXO: solución de transferencia RGB fuera de cadena

El concepto central del protocolo RGB es llamar a la cadena de bloques de Bitcoin solo cuando sea necesario, utilizando prueba de trabajo y la red descentralizada para lograr protección contra el doble gasto y resistencia a la censura. La validación de todas las transferencias de tokens se traslada de la capa de consenso global a fuera de la cadena y solo la verifica el cliente que recibe el pago.

Principio de funcionamiento:

En un determinado contrato de RGB, los tokens de génesis pertenecen a un UTXO de Bitcoin (ya sea que ya exista o se haya creado temporalmente), y para transferir tokens, es necesario gastar este UTXO. Al gastar este UTXO, la transacción de Bitcoin debe agregar una salida adicional, que contiene un compromiso con un mensaje. El contenido de este mensaje es la información de pago RGB, que define la entrada y a qué UTXO se enviarán estos tokens, el ID del activo, la cantidad, la transacción de gasto y los datos que debe adjuntar.

Conclusión

La esencia de UTXO es en realidad una forma de contabilidad basada en flujos: verifica la existencia de fondos de transacciones a través del modelo UTXO y luego rastrea el origen de la transacción. Una vez confirmado que es correcto, se transmitirá a toda la red a través del mecanismo de consenso y se registrará en la cadena. A lo largo de este proceso, UTXO registra toda la información relacionada con los fondos de la cuenta involucrada, las direcciones de las transacciones, los fondos transferidos y las fuentes de los fondos, lo que permite rastrear la fuente original de cada transacción. Precisamente en base a esta característica, UTXO puede trabajar junto con el mecanismo de consenso para resolver el problema del doble gasto. La seguridad y la integridad de la información de las transacciones en el protocolo RGB están garantizadas a través de UTXO.

En resumen, UTXO no solo puede ayudar al mecanismo de consenso y resolver el problema del doble gasto de la cadena de bloques, sino que también puede brindarle características de trazabilidad a la cadena de bloques. En base a esto, blockchain puede garantizar la autenticidad y confiabilidad de cada transacción.

Descargo de responsabilidad:

  1. Este artículo está reimpreso de aicoin]. Todos los derechos de autor pertenecen al autor original [Echo,BiHelix;Satoshi Labs]. Si hay objeciones a esta reimpresión, comuníquese con el equipo de Gate Learn y ellos lo manejarán de inmediato.
  2. Descargo de responsabilidad: los puntos de vista y opiniones expresados en este artículo son únicamente los del autor y no constituyen ningún consejo de inversión.
  3. Las traducciones del artículo a otros idiomas están a cargo del equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.
Empieza ahora
¡Registrarse y recibe un bono de
$100
!