BTC también tendrá su propia funcionalidad de contratos inteligentes
Recientemente, un proyecto llamado Fractal BTC en el ecosistema de Bitcoin, después de pasar por varias rondas de pruebas en la red de pruebas, se lanzó oficialmente en la red principal en septiembre. Una de las grandes características de Fractal es que posee capacidades de contratos inteligentes, y al momento del lanzamiento de la red principal, presentó un nuevo protocolo de token llamado CAT20. ¿Cuáles son las ingeniosas características técnicas de CAT20? ¿Qué podemos aprender de esto?
Introducción a Fractal Bitcoin
Antes de entender CAT20, necesitamos conocer brevemente Fractal Bitcoin. La relación entre ambos es similar a la de ERC20 y ETH, el protocolo CAT20 se despliega sobre Fractal Bitcoin.
Fractal Bitcoin, también conocido como Bitcoin Fractal, es una red "de segunda capa" completamente compatible con BTC. En comparación con BTC, su tiempo de confirmación de bloques es más rápido, solo necesita 1 minuto. Su principio básico, en pocas palabras, es que se han hecho varias copias de la red BTC, cada cadena puede procesar transacciones, y al aumentar el número de nodos que pueden procesar transacciones, la velocidad naturalmente también aumenta. Sin embargo, los detalles específicos, como los métodos de comunicación entre diferentes cadenas, actualmente no están muy claros, y la oficina no ha proporcionado la documentación técnica correspondiente para referencia.
Si solo es una transacción de una cadena de segunda capa más rápida, parece que no es suficiente para emocionar a la gente. Sin embargo, Fractal ha habilitado el código de operación OP_CAT, que fue desechado hace mucho tiempo por razones de seguridad, lo que ha elevado la capacidad de Fractal Bitcoin a un nuevo nivel. Algunos creen que OP_CAT puede dotar a BTC de la capacidad de contratos inteligentes, lo que brinda a las personas más espacio para imaginar.
Actualmente, ya hay alguien que ha implementado un protocolo similar a ERC20 en Fractal Bitcoin.
CAT Protocol
Con el apoyo de la capa subyacente OP_CAT, pronto apareció el protocolo correspondiente, el Protocolo CAT. Actualmente, un protocolo que ya está en funcionamiento es el protocolo CAT20.
En comparación con el maduro protocolo ERC20, desplegar un Token ya es muy conveniente para todos. ¿Cómo logra CAT20 implementar un ciclo de vida similar al de ERC20?
Desplegar
Antes de implementar, los usuarios deben especificar su dirección de billetera y la información básica del token, que es similar a la de ERC20. Algunas diferencias de CAT20 son que se pueden establecer límites en la pre-minería y en la cantidad de Mint por cada vez. Por supuesto, ERC20 también puede implementar estas funciones a través de las capacidades del contrato.
En la fase de despliegue se iniciarán dos transacciones, que se pueden ver como dos etapas: "commit" y "reveal". En la etapa de "commit", se escribirá en el script de salida de la transacción la información básica del token, como el nombre y el símbolo del token. El hashId de la transacción iniciada en la etapa de "commit" servirá como identificador de ese token, para distinguirlo de otros tokens.
En la fase de "reveal", la transacción primero emitirá un OP_RETURN, que guarda el Hash del estado inicial del CAT20. Luego, se emitirá un Minter, que desempeña un papel importante en el proceso de Mint posterior, utilizado para mantener el cambio de estado del proceso de Mint.
Todo el proceso de Deploy, "commit" y "reveal" sigue los dos pasos comunes de presentación y revelación en la blockchain, que es una forma bastante común de desplegar proyectos.
Mint
Al acuñar un token, las transacciones tienen las siguientes características:
la entrada de mint es un minter, que se genera inicialmente al desplegar.
Cada vez que se realiza un mint, hay y solo hay un minter como entrada, y puede haber cualquier número de minters como salida.
Cada vez que se acuñe, hay y solo hay un token.
El orden de salida tiene requisitos, después de minter debe estar token.
El minter como salida de la transacción mint puede ser 1, varios o incluso 0. Si cada vez que se mint establece en 1, entonces la cantidad de minters disponibles en toda la red permanecerá constante (1 ), lo que hará que el Mint se vuelva congestionado. Para evitar esta situación, es necesario establecer la cantidad de minters salientes en más de 1 cada vez, de modo que después de mint, la cantidad de minters disponibles aumente.
Sin embargo, cada minter adicional que se emita significa que se necesita pagar un UTXO adicional. Por razones económicas, más personas tenderán a establecer el minter en 0, lo que inevitablemente hará que el minter se vuelva deflacionario, requiriendo que algunas personas se ofrezcan como voluntarias para pagar el minter adicional.
En la versión V2, se generan dos Minter por defecto, y el estado de los dos Minter será lo más parecido posible.
construcción de transacciones
¿Por qué se pueden utilizar los utxo de minter para construir transacciones? Esto requiere analizar el código fuente del "contrato".
Durante el proceso de revelación, la transacción utilizó el commit de salida de la transacción anterior como entrada. Esto se logró mediante una ingeniosa reescritura de la lógica del script, donde las claves públicas y privadas escritas en el script son de nuestra propia dirección, lo que nos permite controlar los utxo de dos direcciones diferentes.
Para el minter utxo, todos pueden usar estos utxo como entrada, lo que puede ser la capacidad de contratos inteligentes proporcionada por OP_CAT, cada minter es un contrato inteligente.
Estado de la transacción (V2)
El minter mantiene el estado en dos lugares: uno es en el OP_RETURN de la salida de la transacción, y el otro se almacena en contratos inteligentes.
Hash que almacena el estado de la salida de la transacción actual en OP_RETURN, y el número restante de Mint del Token almacenado en el contrato. Después de cada Mint, la cantidad de mint del nuevo Minter será igual a la cantidad restante de mint dividida por dos.
Además de que Minter es un contrato inteligente, el Token generado también es un contrato inteligente, es decir, CAT20. CAT20 tiene dos estados básicos: cantidad y dirección del propietario del Token. Cabe destacar que, a diferencia de BRC20 o inscripciones, CAT20 no se encuentra en el UTXO de tu dirección.
Transfer
Al transferir, la cantidad de tokens de entrada y salida utilizados para construir la transacción debe mantenerse igual. Una misma transacción puede tener múltiples tokens diferentes, solo se necesita que la cantidad de entrada y salida de los diferentes tokens se mantenga igual.
Burn
Para quemar un Token, solo necesitas transferir el Token a una dirección normal.
Resumen
Todas las operaciones son construidas por los propios usuarios, lo que ofrece una gran flexibilidad, por lo tanto, la parte del contrato necesita hacer muchas verificaciones lógicas. Algunos de los fallos que han surgido actualmente también se deben a negligencias en la lógica de verificación.
Este diseño tiene algunas ventajas:
Para encontrar la situación de tenencia de todos los Tokens, solo necesitas revisar el utxo del token, sin necesidad de seguir buscando hacia arriba.
Para ver la situación actual de mint, puedes buscar transacciones en OP_RETURN que contengan datos con cat.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
25 me gusta
Recompensa
25
10
Compartir
Comentar
0/400
MercilessHalal
· 07-09 20:02
¿Otro nuevo protocolo To the moon?
Ver originalesResponder0
CodeAuditQueen
· 07-08 23:05
He revisado el código fuente y la validación de parámetros tiene riesgos.
Ver originalesResponder0
MainnetDelayedAgain
· 07-08 03:40
Según la base de datos, se ha pospuesto 92 días desde septiembre.
Gran avance en el ecosistema BTC: Fractal lanza el protocolo de contratos inteligentes CAT20
BTC también tendrá su propia funcionalidad de contratos inteligentes
Recientemente, un proyecto llamado Fractal BTC en el ecosistema de Bitcoin, después de pasar por varias rondas de pruebas en la red de pruebas, se lanzó oficialmente en la red principal en septiembre. Una de las grandes características de Fractal es que posee capacidades de contratos inteligentes, y al momento del lanzamiento de la red principal, presentó un nuevo protocolo de token llamado CAT20. ¿Cuáles son las ingeniosas características técnicas de CAT20? ¿Qué podemos aprender de esto?
Introducción a Fractal Bitcoin
Antes de entender CAT20, necesitamos conocer brevemente Fractal Bitcoin. La relación entre ambos es similar a la de ERC20 y ETH, el protocolo CAT20 se despliega sobre Fractal Bitcoin.
Fractal Bitcoin, también conocido como Bitcoin Fractal, es una red "de segunda capa" completamente compatible con BTC. En comparación con BTC, su tiempo de confirmación de bloques es más rápido, solo necesita 1 minuto. Su principio básico, en pocas palabras, es que se han hecho varias copias de la red BTC, cada cadena puede procesar transacciones, y al aumentar el número de nodos que pueden procesar transacciones, la velocidad naturalmente también aumenta. Sin embargo, los detalles específicos, como los métodos de comunicación entre diferentes cadenas, actualmente no están muy claros, y la oficina no ha proporcionado la documentación técnica correspondiente para referencia.
Si solo es una transacción de una cadena de segunda capa más rápida, parece que no es suficiente para emocionar a la gente. Sin embargo, Fractal ha habilitado el código de operación OP_CAT, que fue desechado hace mucho tiempo por razones de seguridad, lo que ha elevado la capacidad de Fractal Bitcoin a un nuevo nivel. Algunos creen que OP_CAT puede dotar a BTC de la capacidad de contratos inteligentes, lo que brinda a las personas más espacio para imaginar.
Actualmente, ya hay alguien que ha implementado un protocolo similar a ERC20 en Fractal Bitcoin.
CAT Protocol
Con el apoyo de la capa subyacente OP_CAT, pronto apareció el protocolo correspondiente, el Protocolo CAT. Actualmente, un protocolo que ya está en funcionamiento es el protocolo CAT20.
En comparación con el maduro protocolo ERC20, desplegar un Token ya es muy conveniente para todos. ¿Cómo logra CAT20 implementar un ciclo de vida similar al de ERC20?
Desplegar
Antes de implementar, los usuarios deben especificar su dirección de billetera y la información básica del token, que es similar a la de ERC20. Algunas diferencias de CAT20 son que se pueden establecer límites en la pre-minería y en la cantidad de Mint por cada vez. Por supuesto, ERC20 también puede implementar estas funciones a través de las capacidades del contrato.
En la fase de despliegue se iniciarán dos transacciones, que se pueden ver como dos etapas: "commit" y "reveal". En la etapa de "commit", se escribirá en el script de salida de la transacción la información básica del token, como el nombre y el símbolo del token. El hashId de la transacción iniciada en la etapa de "commit" servirá como identificador de ese token, para distinguirlo de otros tokens.
En la fase de "reveal", la transacción primero emitirá un OP_RETURN, que guarda el Hash del estado inicial del CAT20. Luego, se emitirá un Minter, que desempeña un papel importante en el proceso de Mint posterior, utilizado para mantener el cambio de estado del proceso de Mint.
Todo el proceso de Deploy, "commit" y "reveal" sigue los dos pasos comunes de presentación y revelación en la blockchain, que es una forma bastante común de desplegar proyectos.
Mint
Al acuñar un token, las transacciones tienen las siguientes características:
El minter como salida de la transacción mint puede ser 1, varios o incluso 0. Si cada vez que se mint establece en 1, entonces la cantidad de minters disponibles en toda la red permanecerá constante (1 ), lo que hará que el Mint se vuelva congestionado. Para evitar esta situación, es necesario establecer la cantidad de minters salientes en más de 1 cada vez, de modo que después de mint, la cantidad de minters disponibles aumente.
Sin embargo, cada minter adicional que se emita significa que se necesita pagar un UTXO adicional. Por razones económicas, más personas tenderán a establecer el minter en 0, lo que inevitablemente hará que el minter se vuelva deflacionario, requiriendo que algunas personas se ofrezcan como voluntarias para pagar el minter adicional.
En la versión V2, se generan dos Minter por defecto, y el estado de los dos Minter será lo más parecido posible.
construcción de transacciones
¿Por qué se pueden utilizar los utxo de minter para construir transacciones? Esto requiere analizar el código fuente del "contrato".
Durante el proceso de revelación, la transacción utilizó el commit de salida de la transacción anterior como entrada. Esto se logró mediante una ingeniosa reescritura de la lógica del script, donde las claves públicas y privadas escritas en el script son de nuestra propia dirección, lo que nos permite controlar los utxo de dos direcciones diferentes.
Para el minter utxo, todos pueden usar estos utxo como entrada, lo que puede ser la capacidad de contratos inteligentes proporcionada por OP_CAT, cada minter es un contrato inteligente.
Estado de la transacción (V2)
El minter mantiene el estado en dos lugares: uno es en el OP_RETURN de la salida de la transacción, y el otro se almacena en contratos inteligentes.
Hash que almacena el estado de la salida de la transacción actual en OP_RETURN, y el número restante de Mint del Token almacenado en el contrato. Después de cada Mint, la cantidad de mint del nuevo Minter será igual a la cantidad restante de mint dividida por dos.
Además de que Minter es un contrato inteligente, el Token generado también es un contrato inteligente, es decir, CAT20. CAT20 tiene dos estados básicos: cantidad y dirección del propietario del Token. Cabe destacar que, a diferencia de BRC20 o inscripciones, CAT20 no se encuentra en el UTXO de tu dirección.
Transfer
Al transferir, la cantidad de tokens de entrada y salida utilizados para construir la transacción debe mantenerse igual. Una misma transacción puede tener múltiples tokens diferentes, solo se necesita que la cantidad de entrada y salida de los diferentes tokens se mantenga igual.
Burn
Para quemar un Token, solo necesitas transferir el Token a una dirección normal.
Resumen
Todas las operaciones son construidas por los propios usuarios, lo que ofrece una gran flexibilidad, por lo tanto, la parte del contrato necesita hacer muchas verificaciones lógicas. Algunos de los fallos que han surgido actualmente también se deben a negligencias en la lógica de verificación.
Este diseño tiene algunas ventajas: