Entiendo que Bitcoin utiliza la salida de tx no gastada y el saldo de la cuenta de Ethereum. Sin embargo, recientemente hay muchas discusiones sobre que la base de datos UTXO de Bitcoin se ha vuelto demasiado grande. ¿Significa esto que las transacciones basadas en el saldo de la cuenta son mejores para escalar que las basadas en UTXO?
La elección entre el modelo UTXO y el modelo de equilibrio es principalmente entre incentivos de privacidad y aparente intuición.
Si se sigue el consejo estándar de no reutilizar direcciones/salidas/scripts, de no revelar gratuitamente qué monedas pertenecen al remitente y cuáles pertenecen al receptor, los dos modelos son en realidad equivalentes. En este caso, los saldos serían de un solo uso de todos modos, y habría tantos saldos como UTXO, lo que eliminaría tanto la ventaja del tamaño aparente como la conveniencia.
Sin embargo, el modelo de equilibrio incentiva efectivamente la reutilización. Como el costo para el sistema (posiblemente en tarifas, pero ciertamente en costos de operación de nodos) para una actualización de saldo es menor que la creación de un nuevo saldo, dicho sistema incentiva inherentemente la revelación de las fuentes de transacción.
Y aunque los saldos son más intuitivos, complican el razonamiento sobre la seguridad del sistema. Un problema es el problema de los ataques de repetición. Supongamos que X pagó a Y e Y paga a Z. Ahora W paga a Y nuevamente. En una implementación ingenua, Z puede retransmitir su transacción anterior desde Y, y podría tomar el dinero del pago de W a Y. Una solución es poner números de secuencia en los saldos y requerir que las transacciones enumeren el número de secuencia de las transacciones de las que toman dinero. . Desafortunadamente, esto requiere mantener el número de secuencia incluso para saldos que llegaron a cero, lo que significa que la base de datos de saldos necesita mantener algunos datos para cada saldo que alguna vez fue distinto de cero; un resultado que es mucho menos escalable que el modelo UTXO en primer lugar (que puede olvidar las salidas tan pronto como se gastan).
En resumen, mi opinión es que el modelo de equilibrio reduce la fungibilidad de la moneda en su conjunto por una ganancia a corto plazo que desaparece.
En el modelo UTXO, cada transacción gasta el resultado de transacciones anteriores y crea un nuevo resultado que puede ser gastado por transacciones operadas posteriormente por nodos completos. Su billetera mantiene una lista de UTXO asociados con todas las direcciones propiedad del usuario, y el saldo de la billetera se calcula como la suma de estas transacciones no gastadas. Echale un vistazo a éste ejemplo :
A tiene 2,5 btc, es decir, una UTXO de 2,5 btc. Un deseo de enviar B 1.0 btc. A usa 2,5 btc como entrada para el trxn y envía 1,0 bitcoin a B, 1,5 btc se devuelve a A como un nuevo UTXO con una nueva dirección. Entonces, si B tiene 1 btc, entonces el total es 2 btc (enviado por A) y tiene dos UTXO: uno ya de 1 btc y otro es de 1 btc por A.
La cadena de bloques de Bitcoin usa este modelo, hay otro modelo que está siendo utilizado por la cadena de bloques de Ethereum, es decir, el modelo de cuenta, que es bastante más simple que el modelo anterior. Veamos el ejemplo:
A tiene 2 éteres, A desea enviar 1 éter a B, por lo que la red reducirá 1 éter de A, es decir, A tiene 1 éter ahora y la red agrega 1 éter a B. Si B ya tiene 2 éteres, el total es 3 éteres.
Ambos modelos tienen diferentes pros y contras.
Cada transacción en el modelo de cuenta genera una salida que conduce a ahorros de espacio. Cualquier ahorro de espacio es un beneficio. Como los nodos completos de la red están destinados a ser operados por individuos en lugar de centros de datos, cuanto menores sean los requisitos de datos, más participantes potenciales.
Pero UTXO brinda un mayor nivel de privacidad ya que los usuarios usan nuevas direcciones para cada transacción y será difícil vincular cuentas entre sí.
Bjarne Magnussen