Cardano introduce el protocolo de prueba de quema: explicación detallada de la solución PoB

Prueba de quema ( PoB ) protocolo: nueva solución del ecosistema Cardano

Recientemente, ha surgido una solución para el desafío planteado por Charles Hoskinson. Esta solución introduce el protocolo de prueba de quema (PoB) en el ecosistema de Cardano. Este artículo presentará esta nueva solución desarrollada, que incluye:

  1. Resumen del mecanismo de prueba de quema y sus aplicaciones
  2. La implementación y el mecanismo de operación del contrato inteligente de esta solución PoB en la red Cardano
  3. Despliegue y prueba de contratos inteligentes ( en la red de pruebas )
  4. Ejecutar el protocolo PoB enviando tokens a la dirección "agujero negro"

1. Prueba de quema y su aplicación

La quema de tokens ( y la destrucción ) son prácticas comunes, que en esencia implican enviar tokens a una dirección de "agujero negro" que no se puede acceder. Esta dirección no tiene ninguna clave privada para recuperar los tokens destruidos. El público puede verificar que la destrucción realmente ha ocurrido, pero solo conoce un valor de "promesa" "secreto". El diseño de este mecanismo es para asegurar que los fondos destruidos no sean auditados por intermediarios.

Los mecanismos de quema tienen múltiples usos, pueden aumentar el valor de los tokens restantes o servir como prueba de compromiso del protocolo de blockchain. La quema masiva de tokens puede causar presión deflacionaria, ya que reduce la cantidad total de tokens en circulación. Aunque las transacciones de quema son comunes, aún requieren la aceptación de los mineros. A pesar de que estos mecanismos tienen beneficios, también hay quienes se oponen a la quema de tokens. En vista de esto, algunos equipos están trabajando para introducir un protocolo de quema de tokens que no pueda ser censurado. Esta operación especial ha llamado la atención de Charles Hoskinson.

La seguridad de la prueba de quema y la seguridad de las transacciones de transferencia de tokens se basa en el mismo mecanismo: funciones hash criptográficas. Estas funciones son fáciles de calcular, pero difíciles de invertir. En esencia, es difícil de invertir porque un solo cambio en los bits de entrada provocará que cada bit de salida cambie aleatoriamente. Esto significa que invertir a partir de la salida de una función hash criptográfica llevará mucho tiempo. En resumen, invertir el bit menos significativo de una función hash criptográfica puede crear una dirección de agujero negro. Cualquier cosa enviada a esa dirección se volverá difícil o imposible de recuperar.

La seguridad de las transacciones criptográficas se basa completamente en la criptografía de clave pública y las funciones hash criptográficas: "Cada vez que se envían fondos, se crea una nueva salida de transacción no gastada (UTxO)." Este UTxO registra la cantidad de fondos y el hash criptográfico de la clave pública del receptor. Si el receptor desea utilizar estos fondos, debe firmar una nueva transacción de gasto con la misma clave pública.

¿Por qué se debe invertir el bit menos significativo de la salida de la función hash, en lugar de usar directamente el hash de 0x0? La razón es que el uso de un valor conocido haría que la quema fuera inmediatamente visible. Sin embargo, el protocolo plantea que primero se quemen los fondos, y luego ( se pruebe en un paso separado que ha sido quemado. Para lograr esto, se necesita comenzar primero con el hash que crea el valor de compromiso. Luego, el valor de compromiso indica que se ha creado una dirección de agujero negro.

![])https://img-cdn.gateio.im/webp-social/moments-e942fc679d8ef7e55f3db32648b24d99.webp(

2. Prueba de quema en la red Cardano ) PoB ( contrato inteligente

Esta sección explicará el mecanismo de prueba de quema en los contratos inteligentes de Cardano. Los contratos inteligentes de Cardano son programas que se ejecutan en la red Cardano, permitiendo a los desarrolladores de contratos ejecutar transacciones financieras ) de acuerdo con reglas específicas. Los contratos inteligentes están diseñados para establecer transacciones transparentes y verificables entre diferentes partes. Recientemente, el auge de los servicios financieros descentralizados y las organizaciones descentralizadas ha impulsado un crecimiento exponencial en la aplicación de contratos inteligentes.

Los contratos inteligentes tradicionales al estilo de Ethereum están compuestos por un estado registrado en el libro mayor y programas que llaman a ese estado de manera asíncrona. Dado que el estado en el libro mayor pertenece al contrato inteligente, solo puede ser modificado por programas, y todas las operaciones de estado permitidas se pueden deducir del código del programa y registrar en la blockchain.

El ecosistema de Cardano adopta una estructura diferente, permitiendo a los usuarios simular cada transacción en sus propias billeteras, lo que hace que el ataque a la red ( sea más difícil. Los cambios resultantes son validados por nodos de blockchain y luego se registran. Para ello, los contratos inteligentes de Cardano tienen tres componentes:

  • Script de redención: permite o prohíbe el gasto de eUTxOs
  • Script de billetera: representa al usuario que opera para recuperar fondos y crear nuevos eUTxOs
  • eUTxOs: cada eUTxO contiene fondos y un punto de datos ) datum (, que el redentor utiliza para determinar bajo qué condiciones esos fondos pueden ser utilizados nuevamente.

Esto significa que los contratos inteligentes de Cardano no tienen un estado centralizado en el libro mayor. Cada eUTxO tiene un estado independiente )datum(, que es inseparable de sus fondos. Esto da lugar a las siguientes cuatro posibles operaciones:

  • Quema: enviar fondos a una dirección de agujero negro con un valor de compromiso hash secreto
  • Destruido: la quema para verificar que el valor del compromiso específico realmente ocurrió
  • Bloqueo: enviar fondos a una dirección con clave
  • Redención: fondos bloqueados antes de la redención

Es importante tener en cuenta que el punto final se ejecuta en la billetera del usuario. Una vez que el script del punto final se completa en la billetera, la transacción generada se trasladará a la cadena de bloques. En nuestro caso, esta transacción moverá los fondos al script de redención. Este script verifica que los fondos solo puedan ser accedidos por la dirección objetivo que posee el valor hash.

En la operación de bloqueo, el valor hash puede ser nuestra propia dirección. En la quema, el valor hash apunta a una dirección de agujero negro. Logramos esto al dar al hash un valor de compromiso secreto y luego invertirlo. Debido a que usamos funciones hash criptográficas, es casi imposible encontrar un valor hash coincidente correspondiente a su resultado.

Nota: flipCommitment solo invierte el bit menos significativo del valor hash )LSB(.

El intermediario que acepta la transacción no puede saber si se trata de una transacción de quema o de bloqueo. Al usar este script, el intermediario no puede revisar selectivamente ninguna transacción de quema. La quema y el bloqueo utilizan el mismo formato de redentor, solo el iniciador de la transacción sabe si se trata de una quema o de un bloqueo. El valor de quema se puede verificar utilizando el punto final destruido con el valor de compromiso dado. Antes de que se publique el valor de compromiso, nadie sabe la cantidad de fondos destruidos. Si está interesado en el código, el repositorio de código se detallará en la siguiente sección.

![])https://img-cdn.gateio.im/webp-social/moments-f7f162dc2a412b8d5ff903636b2e631b.webp(

3. Despliegue de contratos inteligentes ) en la red de prueba (

Para iniciar un nodo de red de prueba con billetera, se necesita una frase de recuperación y una contraseña aleatoria. Se puede desplegar un contrato inteligente ejecutando los siguientes pasos:

) 1. Instalar la cadena de herramientas Haskell

( 2. Construir scripts de Plutus

) 3. Iniciar contenedor de conexión al nodo de Cardano y la billetera de Cardano

4. Recuperar la billetera y generar el ID de la billetera ### Los pasos siguientes requieren ###, ejecutar el siguiente código ### para generar una frase mnemotécnica aleatoria para pruebas (

) 5. Ejecutar tokens de quema

( 6. Ejecutar, verificar la quema

Al seguir los pasos anteriores, los externos no pueden saber si se trata de una transacción de quema o de bloqueo. Sin embargo, después de publicar este script, las personas pueden intentar compilar un rechazo de los redentores, correspondiente al hash del script de redención que proponen. Esto requiere un esfuerzo enorme, pero puede dar lugar a que algunas quemas sean censuradas. Para prevenir esto y hacer que la violación sea más difícil de ocurrir, la siguiente sección discutirá cómo hacer que esta solución sea más segura.

![])https://img-cdn.gateio.im/webp-social/moments-7777b1db89195a287d84464f2b80b5e9.webp###

4. De contratos inteligentes a scripts de billetera

Aprovechando el hecho de que la mayoría de las operaciones de contratos inteligentes ocurren en las billeteras de los usuarios, crear un esquema que solo utilice la billetera podría hacer que los contratos inteligentes se vuelvan innecesarios. Sin embargo, este enfoque puede tener una ventaja práctica, ya que no es posible bloquear selectivamente las transacciones de contratos inteligentes correspondientes a la quema. Sin embargo, aquellos que quieran bloquear todas las quemas pueden lograr su objetivo bloqueando todos los scripts. Usando solo la billetera, la única forma de auditar la quema es auditar todas las transacciones de Cardano. Esto representa una resistencia definitiva a la censura.

Para lograr esto, necesitamos reemplazar el hash de la clave pública con el hash del valor del compromiso y revertir el bit menos significativo del valor del compromiso. Pero esto no es suficiente. Cardano previene errores de entrada en las direcciones al verificar la estructura y el código CRC. Por lo tanto, la forma más sencilla de generar una dirección a partir del compromiso es utilizando el siguiente script y la biblioteca API de Cardano.

Para ver cómo funciona, puede usar el siguiente código para generar la dirección de quema:

Luego, puede utilizar el siguiente código para enviar la transacción a la blockchain de Cardano:

Para verificar la quema, necesita usar el siguiente código para ver las transacciones enviadas a la dirección de quema:

![]###https://img-cdn.gateio.im/webp-social/moments-fed84a6717b012408df1b428b2d80586.webp(

Conclusión

Este artículo divide la implementación del protocolo de prueba de quema en dos formas: contratos inteligentes o transacciones de billetera. Sin embargo, los contratos inteligentes de Alonzo actualmente carecen de la infraestructura necesaria, como la biblioteca PAB. Por lo tanto, recomendamos el uso de scripts de billetera. De todos modos, la biblioteca PAB se implementará en un futuro cercano para el desarrollo de aplicaciones basado en Cardano, combinando scripts de billetera, una solución de contrato inteligente compleja puede ser más viable para crear un entorno que resista la posible censura. Si desea profundizar en esta solución, puede consultar toda la información relevante en GitHub.

![])https://img-cdn.gateio.im/webp-social/moments-3d2bf883bd43da42085612065d17c6ef.webp(

Ver originales
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.
  • Recompensa
  • 4
  • Compartir
Comentar
0/400
MetaMiseryvip
· hace5h
ada puede subir, ¿verdad?
Ver originalesResponder0
MetamaskMechanicvip
· hace5h
¡Vaya! Esto está ardiendo demasiado.
Ver originalesResponder0
OldLeekMastervip
· hace5h
Entonces quémalo, ¿puede caer a unos centavos?
Ver originalesResponder0
FalseProfitProphetvip
· hace6h
¿Qué efecto puede tener esta intensidad de combustión?
Ver originalesResponder0
  • Anclado
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)