El nombre en inglés de #UTXO es Salida de transacción no gastada, que se traduce como "Salida de transacción no gastada". Cabe decir que el concepto central de las transacciones de Bitcoin y el punto de conocimiento central de las transacciones es UTXO, por lo que en este artículo hablaremos sobre este UTXO.

Componentes de una transacción

No existe el concepto de cuenta en Bitcoin. El llamado saldo de una dirección en realidad se calcula contando todas las transacciones relacionadas con esta dirección. Así que enfoquemos el microscopio y veamos primero qué elementos se incluyen en una transacción.


El primer elemento es entrada, que es Entrada. En primer lugar, no todas las ofertas incluyen esto. Por ejemplo, cada bloque contiene una transacción especial autónoma por parte de los mineros, que es la llamada transacción coinbase. Es una transacción sin entrada. En esta transacción, una cierta cantidad de Bitcoin se transfiere directamente al minero que produjo este bloque. Excepto este caso especial, todas las demás transacciones tienen entradas. Por ejemplo, si Xiao Ming quiere transferir 1 Bitcoin a Xiao Gang, ¿cuál debería ser la entrada de esta transacción? Son algunas transacciones relacionadas con la dirección de Xiao Ming. Para ser más precisos, son los resultados de transacciones no consumidos que pertenecen a la dirección de Xiao Ming contenida en estas transacciones, que es UTXO.

Entonces, naturalmente ingresamos el segundo elemento, que es que la transacción debe incluir resultados. "Output" es un término que en inglés se llama Output. En la transacción en la que Xiao Ming transfiere un Bitcoin a Xiao Gang, el resultado de la transacción es el Bitcoin que apunta a la dirección de Xiao Zhang. De esta forma entendemos las últimas tres letras en UTXO TXO, donde TX significa transacción y O significa Salida.

La última U se refiere a Unspent, que significa no consumido. Si Xiao Zhang nunca ha usado esta Salida para ingresar otras transacciones, entonces esta Salida nunca se ha consumido y es una UTXO.

El último elemento es la tarifa de manejo. En una transacción que no sea de Coinbase, la entrada debe ser igual a la salida más la tarifa de manejo. La tarifa de manejo debe transferirse al minero. Para simplificar la discusión, ignoraremos la tarifa de manejo.

Comprender los componentes básicos de las transacciones de Bitcoin en realidad significa comprender UTXO. Vaya a cualquier navegador de Bitcoin y haga clic en una transacción específica. Puede ver los factores que acabamos de mencionar en los detalles.

Hacer aportaciones y hacer cambios

Una característica de UTXO es que, al igual que las monedas, no se puede dividir ni usar. Entonces, ¿cómo se junta el monto ingresado durante la transacción y cómo se obtiene el cambio?

Xiao Ming transfiere 1 Bitcoin a Xiao Gang. Todo el proceso es así: Xiao Ming necesita recopilar suficientes entradas. Por ejemplo, en la transacción anterior correspondiente a la dirección de Xiao Ming, encontró un UTXO con un valor nominal de 0,9, que no es suficiente para 1 Bitcoin. Se permiten entradas en la transacción, por lo que Xiao Ming encontró otro UTXO con un valor nominal de 0,2, por lo que habrá dos entradas en esta transacción de transferencia. También habrá dos salidas al mismo tiempo, una apuntando a la dirección de Xiaogang, con un valor nominal de 1 Bitcoin. El otro apunta a la dirección de Xiao Ming, con un valor nominal de 0,1 Bitcoin. Este resultado es el cambio.

Para resolverlo, todo el proceso es el siguiente: Xiao Ming primero necesita recopilar suficientes entradas de denominación suficiente. Aquí encontró dos entradas, y estas dos entradas en sí mismas son las salidas de transacciones anteriores. Estas dos salidas son UTXO antes de consumirse, pero una vez que la transacción actual entre en vigor, ambas se consumirán y se generarán dos nuevos UTXO en esta transacción, uno apuntando a Xiao Ming y el otro apuntando a Xiao Gang. Es equivalente a que Xiao Ming y Xiao Gang reciban una moneda, que puede gastarse en otras transacciones en el futuro. El saldo de las respectivas direcciones de Xiao Ming y Xiao Gang es en realidad la suma de todos los UTXO correspondientes.

De esta manera, entenderemos cómo recolectar suficientes insumos, cómo generar resultados y realizar cambios en las transacciones.

¿Por qué utilizar el modelo UTXO?

En este punto tenemos una pregunta: ¿Bitcoin no es sólo un gran libro de contabilidad? ¿Por qué no utilizar el modelo de cuenta, sino utilizar el modelo UTXO?

El modelo de cuenta es el modelo básico de un banco tradicional o de un servicio como Alipay. Bajo este modelo, tengo una cuenta propia correspondiente, que registra que tengo 13 yuanes, por lo que el número 13 está claramente registrado en el sistema. El modelo de cuenta es realmente muy simple y muy flexible. Es el modelo de cuenta utilizado en Ethereum y algunos otros proyectos de blockchain.

Mirando Bitcoin nuevamente, Xiao Ming tiene 13 monedas. De hecho, no hay ningún número 13 en la cadena de bloques, porque solo hay transacciones en la cadena de bloques. Pero cuando abrimos el navegador de la cadena de bloques de Bitcoin, podemos ver el saldo correspondiente a una dirección. Esto lo calcula el propio navegador de la cadena de bloques y no es algo que esté originalmente en la cadena de bloques.

Pero muchos expertos dirán que UTXO es un muy buen modelo, principalmente porque UTXO es muy adecuado para la computación paralela. Esta característica es muy inteligente en redes informáticas distribuidas. Los detalles específicos no son lo que preocupa a este artículo. Se recomienda leer "Comparación de UTXO y modelos de cuentas", que tiene una discusión más detallada.

Resumir

UTXO Dejemos de hablar aquí y resumamos algunas palabras.

UTXO es un concepto fundamental para comprender las transacciones de Bitcoin. Para los estudiantes que quieran comprender los principios subyacentes de Bitcoin, este es un obstáculo que no se puede evitar. Cada transacción puede contener múltiples entradas y generalmente contiene dos salidas. La producción total más la tarifa de manejo es exactamente igual a la entrada total. Cada salida es como una moneda, tiene su propia denominación y pertenece a una dirección específica. La salida que no se ha utilizado como entrada de otras transacciones es la "salida de transacción no gastada", que es UTXO.

No existe el concepto de cuenta en el modelo UTXO, por lo que parece un poco complicado en comparación con el modelo de cuenta. Sin embargo, en realidad tiene enormes ventajas, como ser muy propicio para la computación paralela en sistemas distribuidos. $CKB >$BTC