El 10 de junio, el autor del protocolo RGB++ y fundador de CELL Studio, Cipher, el cofundador de DotSwap, Lin, el cofundador de Shell Finance, Timxie, y el CMO NIGO de TBC (Turingbitchain), fueron invitados al espacio de Twitter de UTXO Stack para discutir si se puede utilizar el modelo UTXO. nacimiento de un nuevo modelo de ecología Bitcoin.
UTXO Stack es una plataforma modular de emisión de cadena BTC L2 con un solo clic que puede ayudar a los desarrolladores de proyectos a emitir Bitcoin L2 basado en la arquitectura UTXO con un solo clic e integra de forma nativa el protocolo RGB++. En términos de seguridad, UTXO Stack garantiza la seguridad de L2 prometiendo los activos de Bitcoin, CKB y Bitcoin L1. En pocas palabras, podemos pensar en UTXO Stack como el OP Stack + EigenLayer del ecosistema Bitcoin.
UTXO Stack ha completado una ronda inicial de financiación, codirigida por ABCDE y SNZ Capital, con la participación de instituciones reconocidas como OKX Ventures, Waterdrip Capital, Matrixport, y2z Ventures, DRK Lab y UTXO Management, la rama de capital riesgo de La empresa matriz de la revista Bitcoin, BTC Inc.
El siguiente es el contenido clave organizado según el audio:
1. ¿Cuáles son las diferencias y ventajas esenciales entre el modelo UTXO y el modelo de cuenta en términos de filosofía de diseño, seguridad, eficiencia, etc.?
Cipher: Creo que existen algunas diferencias principalmente en la filosofía del diseño y la eficiencia. La seguridad puede depender más del mecanismo de consenso y tiene poco que ver con el modelo de cuenta.
En términos de filosofía de diseño, UTXO en realidad se centra más en la verificación que en el cálculo. Conocemos el modelo de cuenta de Ethereum. Cuando escribe un programa o envía una transacción, no conoce el resultado de la transacción. Lo que envía es una acción o una llamada de función. La transacción es No sabrás el resultado hasta que esté empaquetado en bloques.
Un ejemplo típico es, suponiendo que solo tiene 0,1 ETH en su cuenta, ¿puede enviar una transacción para transferir 0,2 ETH? Sí, puede enviarlo, pero después de que la transacción ingresa al grupo de transacciones, es posible que se empaquete y se devuelva un error porque no tiene tanto dinero, pero aún así se deducirá la tarifa del gas. Pero si alguien transfiere una suma de dinero a su cuenta al mismo tiempo que usted la envía, lo que hace que el saldo de su cuenta supere los 0,2 ETH, entonces su transacción se ejecutará con éxito y, por supuesto, se deducirá la tarifa del gas.
Pero para el modelo UTXO, su transacción no se puede enviar porque su cuenta no tiene suficiente dinero y no puede generar suficientes entradas. Por lo tanto, no existe un estado de falla de transacción bajo el modelo UTXO. Solo tiene dos estados: transacción exitosa o falla en el envío. Es decir, la llamada falla de transacción significa que la verificación falla y no se deducirá su tarifa de manejo. UTXO cree que blockchain es una máquina de verificación en lugar de una máquina de cálculo. Utiliza el modelo de cuenta Ethereum, que alguna vez tuvo el apodo de computadora mundial, que es una filosofía de diseño completamente diferente.
También hay una diferencia muy grande entre los dos en términos de eficiencia. UTXO indica claramente qué estado se usó antes, luego lo destruye y lo actualiza al nuevo estado. Cuando Ethereum llama a una función, no sabe a qué estados accederá antes de la llamada, por lo que solo puede lidiar con el peor de los casos, es decir, sin preprocesamiento de todos los estados. Por lo tanto, cada transacción en Ethereum sólo puede ejecutarse en serie. Una computadora de escritorio normal tiene una CPU con al menos seis núcleos y 12 subprocesos, pero para una EVM estándar, aún se ejecuta en un solo subproceso. UTXO es diferente. UTXO es naturalmente paralelo. Todas sus transacciones pueden distinguir automáticamente qué transacciones están en conflicto. Incluso las transacciones en conflicto no se enviarán al grupo de transacciones. Por lo tanto, la eficiencia de la cadena de bloques UTXO es significativamente mayor que la del modelo de cuenta. . Por supuesto, ahora existe una narrativa llamada EVM paralela, que quiere resolver este problema de alguna forma, pero a partir de la descripción anterior, todos pueden darse cuenta de que esto no se puede resolver esencialmente.
Tim Xie: Estoy muy de acuerdo con lo que acaba de decir Cipher: "El modelo UTXO de Bitcoin se centra más en la verificación y el modelo de cuenta de Ethereum se centra más en el cálculo". Durante el verano de DeFi, haremos algunos intercambios y la tarifa de gas de Ethereum será muy alta. Aunque Ethereum tiene una velocidad de generación de bloques más rápida, bloques más grandes y mejor rendimiento que Bitcoin, Ethereum tiene La demanda de expansión es en realidad mayor que la de Bitcoin. Bitcoin. ¿por qué? La razón es que Ethereum es un modelo informático. Cuando jugamos DeFi, el 98% de las tarifas de gas que pagamos pueden gastarse en cálculos. El costo de verificar, propagar y almacenar el estado de la cuenta es en realidad muy pequeño. Bitcoin es una red de verificación que no realiza cálculos, por lo que prestamos o intercambiamos en la segunda capa de Bitcoin. En el mismo escenario, la tarifa de manejo es en realidad más barata que la de Ethereum.
El segundo es la concurrencia. ¿Por qué EVM es serial? Cipher acaba de explicarlo muy claramente. ¿Qué diferencia traerá esto en los negocios? Al otorgar préstamos en Ethereum, debe depositar antes de poder pedir prestado, porque la lógica comercial es que necesita tener una garantía y debe esperar hasta que se confirme la transacción hipotecaria y se solucione el estado antes de poder calcular el valor neto. de su garantía y los umbrales de liquidación, que le permiten pedir dinero prestado, todo es en serie. UTXO puede realizar concurrencia y podemos comprimir todas las transacciones juntas tanto como sea posible, lo que significa que las transacciones de depósito y préstamos de los usuarios se pueden fusionar para mejorar la eficiencia.
Según nuestra experiencia, al utilizar el modelo UTXO para DeFi en Bitcoin, la experiencia del usuario final no es tan mala como la gente imagina. Aunque la experiencia no es tan fluida como la de las aplicaciones en Ethereum o Arbitrum, todavía no es tan mala y aún es utilizable.
Lin: Déjame hacer un suplemento. La tecnología existente está en constante evolución. Creo que UTXO no hace cálculos, también puede hacerlo. Por ejemplo, el código de operación de Bitcoin OP_CAT discutido recientemente, si está habilitado, puede retener el estado en el UTXO de Bitcoin. Si eliminamos todas las limitaciones nativas de Bitcoin, podemos simular innumerables Ethereums en el UTXO de Bitcoin. Cada UTXO puede estar en el estado de un Ethereum, y luego almacenar datos y ejecutarse en este estado. deducirse hacia abajo, aunque es posible que esto no necesariamente logre una compatibilidad completa con EVM.
Entonces creo que Bitcoin también puede hacer cálculos, y la lógica de Bitcoin es que puedes abrir un nuevo hilo en cualquier momento y puedes dividir un nuevo UTXO en cualquier momento. El nuevo UTXO está completamente separado del UTXO original. Bitcoin Una característica de UTXO en informática.
Después de agregar OP_CAT, traerá algunos escenarios de aplicación muy inteligentes. Por ejemplo, los tokens Ethereum ERC-20 mantendrán una lista para saber qué cuentas tienen cuánto dinero. Después de agregar OP_CAT, podemos hacer cosas similares en Bitcoin, e incluso pueden hacerlo mejor que Ethereum.
Entre UTXO, el intercambio de datos es en realidad un gran espacio desconocido. Por ejemplo, los convenios (restricciones) todavía necesitan algo de tiempo para construirse. Cuando este asunto avance, cómo compartir datos entre diferentes UTXO, cómo hacer referencia a datos fuera de la transacción en las transacciones, etc., puede haber un gran avance.
NIGO: Siempre he pensado que Ethereum cambió el modelo UTXO de Bitcoin a un modelo de cuenta, lo que en realidad es un paso superfluo típico y convierte un sistema que originalmente era capaz de concurrencia en un sistema en serie. Mucha gente llama a Ethereum la computadora mundial. ¿Por qué los mineros de todo el mundo deberían calcular la tarea de cálculo de una persona común? Este proceso consume mucha energía y es muy costoso, pero no aporta ningún beneficio sustancial, pero lo retrasa. eficiencia general. Después de que Ethereum cambió a PoS, los mineros (nodos) de toda la red perdieron su impulso evolutivo. El modelo UTXO diseñado por Satoshi Nakamoto es naturalmente adecuado para alta concurrencia y alto rendimiento. Creo que más usuarios de Web3 verán el potencial del modelo UTXO.
2. ¿Es el modelo UTXO el que hace que Bitcoin no tenga capacidades de contrato inteligente? Si queremos implementar capacidades de contratos inteligentes basadas en el modelo UTXO, ¿qué mecanismo se utiliza generalmente para lograrlo?
Cifrado: ciertamente hay muchas formas de implementar capacidades de contratos inteligentes basadas en el modelo UTXO. Permítanme presentarles cómo las implementa CKB, con el que estoy más familiarizado.
CKB ha introducido un script de bloqueo, que es coherente con el script de bloqueo de Bitcoin. Cuando se gasta este UTXO, el script de bloqueo se ejecutará automáticamente. Se utilizará como entrada en función de los datos del testigo y también se utilizará la transacción actual. utilizado como entrada para ejecutar. La diferencia entre este y el script de bloqueo de Bitcoin es que admite una máquina virtual completa de Turing en lugar del entorno de script muy limitado de Bitcoin, por lo que es Turing completo en esta etapa de desbloqueo.
Al mismo tiempo, CKB introdujo el campo de tipo script, que se ejecutará independientemente de si es entrada o salida. Se ejecuta más como una categoría de activo, o el mismo tipo representa el mismo tipo de activo. Por ejemplo, la cantidad total de tokens fungibles permanece sin cambios antes y después de la transacción, y la cantidad y el contenido de los tokens no fungibles permanecen sin cambios antes y después de la transacción, o puede usarse para determinar quién tiene derecho a emitir un nuevo token. activo, etc También es una VM completa de Turing.
La máquina virtual de CKB se basa en el conjunto de instrucciones de hardware RISC-V. Cualquier ajuste implica resilicio, por lo que el diseño del conjunto de instrucciones RISC-V es muy simplificado, eficiente y completo.
En resumen, CKB utiliza la máquina virtual RISC-V, que es Turing completa, y también tiene dos lugares: bloquear script y escribir script para almacenar scripts de contratos inteligentes, y también hay un campo llamado datos para almacenar scripts de contratos inteligentes. estado del contrato, por lo que es un entorno completo de ejecución del contrato.
Tim Xie: En todo el proceso de creación de productos de Shell Finance, debido a que tenemos que realizar el protocolo de préstamos y la liquidación, necesitamos algunas funciones de contrato avanzadas. Al final, elegimos DLC (Contratos de registro discretos). Tanto DLC como Lightning Network son tecnologías de expansión del mismo nivel y ambas están fuera de la cadena. La diferencia es que Lightning Network se usa principalmente para pagos, mientras que DLC se usa principalmente para oráculos. De hecho, no hemos completado Turing y todavía hay muchas restricciones, pero incluso con muchas restricciones, ya podemos realizar préstamos a través de DLC.
Bitcoin en realidad tiene muchos códigos OP. Si podemos habilitar o desbloquear el OP_CAT mencionado anteriormente por Lin de DotSwap, o algunos otros códigos de operación, entonces podemos continuar creando más en la línea de Lightning Network y DLC. , los contratos inteligentes definitivamente pueden hacerlo. El punto central es si hay demanda, si hay usuarios, si hay un mercado y si más personas invertirán tiempo y energía para concebirlo, utilizarlo y satisfacer las necesidades de los usuarios. Mientras haya gente que lo utilice y haya mercado, naturalmente surgirán nuevas ideas y conceptos.
De lo que estoy seguro ahora es que la forma del ecosistema Bitcoin será completamente diferente a la de EVM. Quizás a nivel empresarial, los usuarios puedan tener sentimientos similares. Ambos están haciendo intercambios y préstamos, y también tienen oráculos, pero los sistemas detrás de ellos y las herramientas que se pueden usar al final son en realidad muy diferentes. Si está en la red principal de Bitcoin, esta diferencia será aún mayor, por lo que espero con ansias una L2 con una mejor estructura UTXO, porque puede liberar el potencial del ecosistema de Bitcoin en mayor medida.
Lin: Creo que no es difícil diseñar algo que sea Turing completo, pero es muy difícil hacer algo que no sea Turing completo. Diseñar un guión que no sea Turing completo es en realidad una tarea técnica muy avanzada.
El script original de Bitcoin puede estar completo en Turing, pero ahora se han sellado muchas capacidades de Bitcoin. Por ejemplo, el OP_CAT que mencioné antes es una capacidad muy importante, pero esta capacidad está deshabilitada por el operador, en lugar de decir que Bitcoin no la tenía. estos operadores cuando fue diseñado originalmente. Bitcoin involucró a muchos operadores al principio, pero debido a la llamada seguridad, o los llamados peligros ocultos de esta seguridad, o porque no había una comprensión clara de qué era, cómo usarlo, etc., algunos operadores estaban Algunos operadores están deshabilitados. Es más, muchas funciones que podrían haberse utilizado para contratos inteligentes han sido filtradas por las llamadas transacciones estándar. Todos decimos que Bitcoin es un sistema descentralizado, pero en este sistema descentralizado hay algo llamado transacción estándar, que está determinada por ciertas organizaciones. Las transacciones estándar no existen en el campo de los mineros, porque los mineros pueden empaquetar cualquier transacción legal. Es una cuestión de política basada en el lado del usuario.
Entonces, en general, creo que la capacidad del Bitcoin original en sí es muy poderosa, pero ahora Bitcoin ha sido secuestrado. Si está interesado, puede leer el libro de Roger Ver "Hijacking Bitcoin: The Hidden History of BTC". Debido a que las capacidades originales de Bitcoin han sido selladas, nos vemos obligados a encontrar salidas en varios lugares. Esta es la situación actual que enfrentamos, pero el futuro de Bitcoin es definitivamente mejor.
He estado diciendo que muchos de los llamados Bitcoin L2 son en realidad protocolos parásitos. No aportan su propio valor a Bitcoin, y no hay forma de que los mineros tengan mayores ingresos, pero en realidad no hay manera, porque. Bitcoin tiene muchas limitaciones. Permítanme darles una analogía. El protocolo HTTP en realidad está construido sobre el protocolo TCP/IP, y nuestro protocolo HTML está construido sobre el protocolo HTTP. Creo que este es un concepto de capa por capa, en lugar de que los datos de la transacción estén completamente separados de TCP/IP, separados del protocolo de la capa superior, ejecutados a otro lugar y luego darse la vuelta y decirles a los demás que esta es la Capa 2. protocolo. El protocolo real de Capa 2 en realidad se apila capa por capa, por lo que el L2 que construimos también debería aceptarse como transacciones legales en la capa superior. Ésta es una razón muy importante por la que actualmente estamos explorando una capa de intercambio. Creemos que en la mayoría de los casos, en realidad tenemos que conformarnos con una capa, y necesitamos tener mucha verificación y consenso sobre la primera capa, en lugar de decir que construiré un llamado puente de activos y luego trasladaré los intereses de todos. activos a otro Un lugar donde esto podría no ser algo particularmente bueno.
NIGO: ¿Puede el modelo UTXO admitir funciones complejas de contratos inteligentes? Por supuesto que es posible. Almacena la lógica y los datos del contrato en UTXO, luego utiliza la llamada y los parámetros del contrato como entrada para intentar desbloquear el contrato, ejecuta la lógica del contrato a través de BVM (Blockchain Virtual Machine) y finalmente logra el control regresando. verdadero o falso de la función de desbloqueo El propósito del estado del contrato. Este modelo puede resultar desconocido para los desarrolladores de contratos inteligentes de Ethereum, pero de hecho, si combina ideas de programación funcional y convierte algunos conceptos, los contratos inteligentes UTXO pueden implementar una lógica muy compleja.
Dado que el modelo UTXO no tiene un estado global, necesita almacenar el estado y la lógica del contrato en UTXO, y luego transferir y convertir el estado mediante la transmisión de la cadena de llamadas de transacciones UTXO, por lo que cada transacción UTXO consumirá la anterior. UTXO. Y generar nuevos UTXO, de esta manera se puede realizar la transferencia del estado de la cadena del contrato. Por lo tanto, si UTXO se puede desbloquear corresponde al resultado de la ejecución del contrato y si permite la transferencia de estado. Si el contrato determina que no se permite modificar el estado, como no se permiten transferencias, no se permiten modificaciones de datos, etc., devolverá falso, entonces el UTXO no se desbloqueará y la ejecución del contrato fallará.
Consideramos los contratos como máquinas de estado que transfieren estados de datos, por lo que aquí podemos ver la diferencia entre los contratos UTXO y los contratos de tipo cuenta. El EVM del contrato de cuenta es para mantener el estado global. Una transacción puede hacer que el EVM realice múltiples transferencias de estado y modifique con frecuencia los datos del estado hasta que se ejecute el contrato o se consuma el gas. En cuanto a la transacción del contrato UTXO, es un contrato de entrada. La llamada solo activará una transferencia de estado, y no importa cuán compleja sea la lógica dentro del contrato o cuántas veces se transfiera el estado, BVM solo registrará la transferencia de estado final. resultado en la cadena. Por lo tanto, el contrato UTXO no tiene un estado global, solo funciones en espera de ser ejecutadas.
UTXO es entrada múltiple y salida múltiple. Lo que Ethereum quiere hacer, incluido el EVM paralelo que Monad también quiere hacer, en realidad se puede implementar a través de UTXO. Si necesita transferir el estado, primero debe encontrar la función donde está el estado. localizar y modificar el estado mediante llamadas a funciones. Y generar nuevas funciones. Este modelo hace que la transferencia de estado de los contratos UTXO.
Los contratos UTXO no dependen de estados externos. Por lo tanto, no importa cuántas veces se llame a un contrato, su resultado debe ser seguro. Por lo tanto, esto brinda gran comodidad al análisis de contratos, la depuración y las pruebas unitarias. El contrato EVM depende del estado global, por lo que es probable que el resultado de la ejecución del contrato se vea afectado por el entorno externo, lo que hace que el resultado de la ejecución del contrato sea incierto. Por ejemplo, si el saldo es suficiente, será uno. resultado, y si no es suficiente, será otro resultado. Por tanto, esta también es una cuestión importante para la seguridad y previsibilidad de los contratos EVM.
Por supuesto, pasar el estado cada vez no es gratuito. En algunos escenarios donde se requiere trazabilidad, el estado puede aumentar a medida que aumenta la cadena de transferencia UTXO, porque es necesario verificar la trazabilidad y hay cada vez más datos, por lo que el estado. sí mismo se expandirá infinitamente. Nuestro TBC ha resuelto un importante problema de expansión estatal a través de otras tecnologías y medios criptográficos como el hashing y la extracción de datos. Por lo tanto, una característica importante que distingue los contratos inteligentes de TBC de otras cadenas UTXO es que el modelo UTXO es una base para la expansión ilimitada de TBC. Es muy sencillo utilizar el modelo UTXO para realizar transacciones de transferencia estándar.
En resumen, TBC ha considerado plenamente las ventajas y desventajas del modelo UTXO y, basándose en la esencia de Ethereum y otras cadenas públicas UTXO, ha introducido un concepto BVM y otras tecnologías para implementar una capa real de contratos inteligentes UTXO. Y luego, junto con algunas herramientas de desarrollo de contratos inteligentes más amigables, se reduce el umbral para escribir e implementar contratos inteligentes BVM.
(Continuará)