Más pruebas de que UTXO es superior a los sistemas basados en cuentas


EDITORIAL 22 AGOSTO 2022

[Colaborador invitado

Esta publicación apareció originalmente en el sitio web de ZeMing M. Gao y la volvimos a publicar con el permiso del autor. Lea la pieza completa aquí .

La mayor diferencia estructural y elemental entre Bitcoin y Ethereum es que el primero usa Salida de transacciones no gastadas (UTXO), mientras que el segundo usa un modelo basado en cuentas.

UTXO es como el efectivo, en el sentido de que cada billete o moneda es independiente entre sí. Siempre que el billete de un dólar sea auténtico, la validez de una transferencia es absoluta y no depende de una contabilidad separada 1 .

(Nota [1]: Bitcoin es mejor que el efectivo. A diferencia del efectivo físico, bitcoin tiene rastreabilidad y al mismo tiempo protege la privacidad. Consulte Anonimato y privacidad . Si bitcoin se trata como fungible, el rastreo de acuerdo con la ley es posible incluso cuando se mezclan y se generan múltiples salidas en cada transacción. Esto es una ventaja cuando se trata de la gestión de activos y el cumplimiento legal. Consulte Taproot: Creación de un mezclador ).

Por el contrario, el sistema basado en cuentas es como el dinero de un crédito bancario. Las partes reconocen la validez nominal del crédito, pero una transacción no se liquida hasta que se han conciliado todas las cuentas en el sistema.

UTXO ha demostrado ser superior al sistema basado en cuentas en casi todos los aspectos. Es un misterio por qué el inventor de Ethereumeligió un sistema basado en cuentas cuando el UTXO en Bitcoin ya se había probado durante un tiempo. Vitalik Buterin quería una computadora mundial que tuviera máquinas virtuales que ejecutaran contratos inteligentes. Pero le dijeron, erróneamente, que Bitcoin no podía hacer contratos inteligentes ni máquinas virtuales en parte debido a su mecanismo UTXO. Esa era su presunción inicial. Además, dada su falta de comprensión de la economía y el sistema monetario en ese momento, y los codificadores tienden a pensar en términos de cuentas, el sistema basado en cuentas probablemente parecía natural, si no inevitable.

De hecho, hasta el día de hoy, la mayoría de las personas, incluso los desarrolladores, todavía no se dan cuenta de lo desafortunada que fue esa elección. Ha hecho que Ethereum sea fundamentalmente inescalable (si espera que la capa 2 resuelva la escalabilidad, vea más discusiones a continuación y también lea: Soluciones de capa 2 y Más sobre soluciones L2).

Pero hasta ahora, muchos habían creído que el sistema basado en cuentas de Ethereum tenía una ventaja sobre el UTXO de Bitcoin en las implementaciones de tokens, gracias a su capacidad de autenticación y rastreo de tokens incorporada. La solución de verificación del origen del token de Bitcoin es menos sencilla. Aunque los tokens nativos, es decir, los satoshis, se remontan inherentemente a su transacción de premio de base de moneda original, otros tokens en la cadena de bloques de Bitcoin requieren un esfuerzo adicional para rastrearlos.

Resolviendo el problema de Regreso a Génesis (B2G)

En la cadena de bloques de Bitcoin que usa UTXO, si el destinatario de un token requiere no solo la validez de la transferencia actual sino también la validez de todo el historial rastreado hasta la primera transacción en la que se emitió el token, es posible que el destinatario deba confiar en en algún servicio de terceros para probarlo.

Esto se llama Back-to-Génesis (B2G). El token nativo bitcoin en sí mismo no tiene este problema, porque la validación en cadena por parte de los nodos mineros proporciona inherentemente la verificación B2G. Además, si el token es de tipo L2 como Tokenized, que por diseño ya utiliza un servicio fuera de la cadena para la emisión y administración de tokens, la verificación B2G también puede ser proporcionada por dicho servicio como un oráculo que ya está en el sistema. Pero si un token es de tipo L1 o L0, B2G no es un problema trivial porque puede requerir un oráculo, y muchos consideran que la introducción de un oráculo no es ideal (pero esto no significa que los tokens L1 y L0 sean inferiores a los tokens L2; ​​simplemente hace que su la afirmación “sin oráculo” algo menos sólida).

Independientemente, B2G es donde Ethereum ha tenido hasta ahora una solución más limpia que Bitcoin.

Recientemente, nChain y sCrypt resolvieron el problema de Back-to-Genesis (B2G) de manera hermosa y eficiente. Consulte Resolver Back-to-Génesis utilizando una prueba de cadena de transacciones y tokens punto a punto escalables en Bitcoin .

La solución es tan hermosa como importante. Esta es una prueba más de que el UTXO de Bitcoin es superior a Ethereum, o cualquier sistema basado en cuentas, debido a su diseño fundamentalmente más eficaz.

La prueba B2G es lo único en lo que la cuenta basada parecía tener una ventaja sobre UTXO. Ahora incluso eso se ha ido.

Debido a que la información necesaria para derivar el conocimiento requerido por B2G está ahí con UTXO, solo se trata de encontrar una forma eficiente de calcular el conocimiento necesario. Un método propuesto anteriormente por sCrypt ya funcionaba, pero llevaba un equipaje de tamaño de datos acumulativo. Ahora, usando zk-SNARK recursivos , nChain y sCrypt le dieron al mundo una solución perfecta.

La esencia del nuevo método es que, en lugar de transportar todos los datos acumulativos necesarios para calcular B2G en cada transacción de una cadena, solo calcula y transmite unos “datos de prueba” muy pequeños de una transacción a otra en la cadena. Los “datos de prueba” no solo son pequeños en tamaño, sino que, lo que es más importante, no aumentan a medida que aumenta el número de transacciones.

Además, tanto el cómputo como la transmisión de la “prueba” están estrictamente dentro de la naturaleza de UTXO (que significa paralelizable), pueden ser verdaderamente Peer-to-Peer, incluso fuera de línea, y son compatibles con la Verificación de Pago Simplificada (SPV) .

La única carga económica añadida por el método es calcular las pruebas que están basadas en algoritmos y son de naturaleza matemática. Los usuarios, monederos o un proveedor de servicios externo pueden realizar el cálculo de las pruebas fuera de la cadena, todo fuera de la cadena, mientras que los nodos de minería realizan las verificaciones periódicas en la cadena, que son mucho más baratas.

Es importante destacar que, debido a que la prueba es puramente matemática y verificable sin confianza, el uso de un tercero para calcular las pruebas no introduce un intermediario que requiera confianza. Por ejemplo, cuando el método se aplica a un token L1, no cambia la naturaleza en cadena del token porque el cálculo de las pruebas no introduce un intermediario que requiera confianza, ni forma una nueva red que tenga su propia vulnerabilidades de seguridad de la red como lo hacen muchas soluciones L2.

Desde un punto de vista abstracto, no es de extrañar que el problema B2G tenga una hermosa solución como esta, porque la información necesaria para B2G ciertamente está ahí en la cadena de una UTXO. Un sistema basado en cuentas no tiene más información que UTXO. Simplemente tiene B2G incorporado, ya sea que los usuarios lo necesiten o no. Pero esto es una desventaja, no una ventaja.

Los partidarios de Ethereum preguntarán: “¿Por qué Ethereum está haciendo B2G incorporado en una desventaja cuando la solución B2G más nueva para Bitcoin requiere un cálculo adicional?” Puede sonar como una pregunta lógica, pero se basa en una premisa equivocada. Específicamente, esta pregunta asume que Ethereum no realiza cálculos para su B2G incorporado. La verdad es lo opuesto. Ethereum no solo debe hacer cálculos para su B2G incorporado, de hecho lo hace de la manera menos ineficiente, requiriendo la conciliación de todas las cuentas al mismo tiempo por parte de todo el sistema, independientemente de si los usuarios lo necesitan o no, o quién puede necesitarlo. y quién no. En conjunto, se realiza en el sistema como una operación base y los usuarios del sistema pagan un precio. ¿Alguna vez se preguntó por qué el gas Ethereum es tan caro?

UTXO es superior a la basada en cuentas

Con la única supuesta ventaja desaparecida, la deficiencia del modelo basado en el conteo se ha vuelto aún más clara y expuesta. B2G es sólo una prueba más. La diferencia entre los dos sistemas es amplia y fundamental.

Es como dos lenguajes diferentes para expresar la misma cantidad de información, excepto que uno (basado en cuentas) hace una expresión superficialmente fácil de entender al precio de perder alfabetos, los bloques de construcción más elementales del lenguaje, mientras que el otro (UTXO) comienza con hablar primitivas solo con los bloques de construcción, pero deja abiertas expresiones más avanzadas y específicas para que los usuarios creen libremente, de forma independiente, cuando lo necesiten y en la medida en que lo necesiten.

Fundamentalmente, si uno considera a los UTXO como los primitivos, todo el conocimiento relacionado con una cuenta se puede derivar de los primitivos, y se puede hacer un número ilimitado de construcciones usando los primitivos. La independencia de los UTXO entre sí hace posible que el sistema tenga paralelización del cálculo y flexibilidad en la distribución de la carga de trabajo. Esta es una superioridad “genética” sobre un sistema basado en cuentas que siempre es una “expresión” de alto nivel sin primitivas independientes. Eso es Bitcoin (no BTC, sino el que está diseñado por Satoshi).

Una manifestación importante del precio que paga Ethereum por su diseño basado en cuentas es la pérdida de paralelización computacional, mientras que Bitcoin tiene una paralelización inherente, que es la clave de su escalabilidad ilimitada 2 .

(Nota [2], a este respecto, BTC, una implementación artificialmente distorsionada de Bitcoin, no se escala, pero eso es por una razón diferente. Vea, BTC y BSV, ¿cuál es la diferencia real? )

Libertad versus control, y economía de mercado versus economía planificada

En un sentido más amplio, la diferencia entre UTXO y basada en cuentas es la que existe entre la economía de libre mercado y la economía socialista planificada. El primero tiene que ver con la eficiencia, la libertad y la creatividad individual sin restricciones, pero el segundo tiene que ver con el control.

Esto tampoco es sorprendente, considerando que el inventor de Bitcoin y el inventor de Ethereum tienen diferentes creencias ideológicas y diferentes interpretaciones de la economía.

Esto abre una cuestión aún más amplia de la economía:

¿Debe regirse el sistema por el mercado o el mercado por el sistema?

Si su sistema es la organización económica de toda la sociedad, hemos tenido en los últimos 150 años una historia de dos ideologías que luchan entre sí. La batalla continúa hoy, pero no porque este último haya demostrado alguna prueba de eficacia 3 , sino porque muchas personas están muy ligadas a esa ideología y no dejan de intentarlo. Es la naturaleza humana.

(Nota [3] Dado que todos los sistemas de socialismo han fracasado estrepitosamente, y el último gran sistema de socialismo, China, logró el éxito económico manteniendo el socialismo de nombre pero en realidad promoviendo una economía de mercado incluso menos regulada que la de EE. UU., esto parece difícil. a disputar.)

Pero si su sistema es una estructura tecnológica como blockchain, la batalla comenzó hace 14 años y solo se está profundizando.

Por lo tanto, antes de dedicar una buena parte de su vida a un sistema, probablemente sea recomendable pensar en las filosofías e ideologías subyacentes y elegir un bando en función de sus creencias.

Otras consideraciones

(1) No coloca toda la carga en un contenedor enorme y hace que todo el sistema lleve la carga todo el tiempo y en todas partes. Pero eso es exactamente lo que hace Ethereum basado en cuentas con sus validadores y nodos de minería, lo que resulta en un sistema mucho menos eficiente que Bitcoin.

(2) Además, debe colocar la carga de trabajo y la necesidad de flexibilidad en las entidades que realmente se benefician de la implementación (como billeteras o proveedores de servicios, no nodos de minería), para que todo el ecosistema no tenga que soportar la carga cuando solo algunos usuarios necesitan el resultado. Esta es la flexibilidad de sentido común en la distribución, pero el modelo basado en cat como Ethereum priva la capacidad del sistema para hacer eso, por diseño.

(3) Pero para empeorar las cosas, en última instancia, la experiencia humana nos dice que las partes que están en el poder pero que tienen una carga indebida en un sistema siempre encuentran una salida haciendo trampa mientras mantienen una apariencia de justicia. He aquí, Ethereum se está volviendo PoS, debe saber la verdadera razón y el resultado inevitable.

Ver Prueba de trabajo (PoW) es la única forma de prevenir la corrupción

(4) Solo calcula para un conocimiento cuando necesita el conocimiento específico, en lugar de calcularlo siempre en todo el sistema, ya sea que lo necesite o no. Nuevamente, esto es de sentido común, pero Ethereum lo hace imposible debido a su diseño basado en cuentas, porque estar basado en cuentas significa que todo está conectado y no puede calcular solo una parte y determinar el estado de todas las cuentas.

(5) Lo que es más importante, debe tener paralelización para poder escalar. Cuando se trata de escalabilidad, es algo más que una ventaja. Es fundamental e imperativo.

(6) Entonces espera que la fragmentación resuelva el problema. no lo hará Es fácil crear 1 millón de ethereums pequeños utilizando fragmentación que funcionen cada uno por separado, pero es un asunto completamente diferente crear un Ethereum escalable que consta de solo 1000 fragmentos que deben sincronizarse perfectamente para que funcione un sistema gigante basado en cuentas. Y el nivel de dificultad, complejidad y vulnerabilidad aumenta exponencialmente con la cantidad de fragmentos. En última instancia, no funcionará, porque el mundo necesita una escalabilidad ilimitada (consulte La escalabilidad de la capa 1 ) y Ethereum no puede tener una cantidad ilimitada de fragmentos.

(7) Y si está poniendo su esperanza en las soluciones de capa 2 en Ethereum, lea: Soluciones de capa 2 y Más sobre soluciones L2.

Una llamada para los desarrolladores de Ethereum:

Es hora de volver a UTXO e ir hasta Bitcoin (BSV, no BTC). La cadena de bloques original de Bitcoin (no BTC) diseñada por su inventor Satoshi Nakamoto tiene una escalabilidad ilimitada y un costo de transacción extremadamente bajo (ya por debajo de $ 0.0001 e incluso más bajo), tiene capacidades completas de contrato inteligente y tokenización, puede alojar cualquier aplicación Ethereum a un costo de transacción de decenas de mil veces menor, y listo para ser integrado con IPv6 para formar parte de la Nueva Internet con IoV.

La migración se ha facilitado utilizando un Transpiler que convierte los scripts de Solidity a Bitcoin automáticamente . El innovador Transpiler hace que la refactorización sea mucho más fácil que la recodificación.

Científicamente , no hay espacio para que exista un sistema basado en cuentas como Ethereum cuando Bitcoin basado en UTXO ha demostrado ser escalable (no BTC). El último trabajo de nChain y sCrypt es una prueba más.

La cuota de mercado actual no es una prueba científica.

Es hora de reconocer que Ethereum fue un error fundamental.

More proof that UTXO is superior to account-based systems