Esta publicación fue publicada por primera vez en Medio.

Anteriormente, hemos mostrado cómo acceder a los datos de la cadena de bloques BSV desde contratos inteligentes que se ejecutan en ella mediante SPV (verificación de pago simplificada). Ampliamos la idea para acceder a otras cadenas de bloques compatibles con SPV.

Por ejemplo, cualquiera puede acuñar un token en Bitcoin SV siempre que bloquee BTC durante un cierto período de tiempo. Proporcionamos la primera implementación, que puede ser la base para una gran cantidad de otras aplicaciones.

Cómo funciona &#39Lock to Mint&#39

Recientemente, ha habido un gran interés en el mecanismo «Lock to Mint». Este mecanismo facilita el bloqueo temporal de los activos de Bitcoin para acuñar tokens fungibles BSV-20 en la crimson de Bitcoin.

Cerrar imagen de candado plateado con el logo de Bitcoin

Es una instancia del uso de un contrato inteligente para controlar la acuñación de tokens BSV20 (v2) que presentamos anteriormente. El mecanismo «Lock to Mint» sirve como restricción en el proceso de acuñación de tokens de BSV-20. El contrato garantiza que la transacción de gasto debe incluir un resultado secundario en un período de tiempo determinado.

Transacción Transacción
una transacción «lock to mint» exclusiva de Bitcoin

En esta esencia se pueden encontrar más detalles sobre cómo funciona este proceso en un contexto exclusivo de BSV.

Cadena cruzada

Este contrato inteligente se puede ampliar para requerir el bloqueo temporal de fondos en una cadena diferente que admita bloqueos temporales y SPV, como BTC. Esto se logra validando una prueba SPV dentro del contrato inteligente. Básicamente, el contrato, antes de acuñarse, verifica la inclusión de una transacción bloqueada en el tiempo con los parámetros correctos (tiempo de bloqueo y destino del pago) en un bloque BTC. La eficiencia de SPV permite que esta validación sea computacionalmente feasible. Esto es especialmente adecuado para BTC, porque disfruta de la mayor dificultad de hash en su prueba de trabajo y, por lo tanto, hace que sea extremadamente costoso producir un encabezado de bloque válido pero falso que no esté en la cadena principal.

    Transacción     Transacción
una transacción de «bloquear BTC para acuñar»

Implementación

El siguiente código es una implementación de dicho contrato inteligente. Aprovechamos la biblioteca scrypt-ord para una fácil integración de ordinales.

El contrato expone un método público único denominado «mint». Supongamos que queremos acuñar 10 tokens nuevos.

Antes de llamarlo, tenemos que construir y transmitir una transacción de tiempo bloqueado en BTC con la cantidad y el tiempo de bloqueo apropiados. La transacción será un P2WSH estándar para un script de canje del siguiente formato:

<nLocktime> OP_CLTV OP_DROP <lockPubKey> OP_CHECKSIG» width=»681″ height=»82″ src=»https://coingeek.com/wp-content/uploads/2023/12/nLockTime.png»  data-/><nLocktime> OP_CLTV OP_Fall <lockPubKey> OP_CHECKSIG» width=»681″ peak=»82″  tamaños=»(ancho máximo: 681px) 100vw, 681px»/></p>
<p>Una vez extraída y confirmada esta transacción, construimos una prueba SPV para ella, que consta de una prueba Merkle y su encabezado de bloque.  Ahora podemos llamar al método público pasando la transacción serializada junto con la prueba y el resto de los parámetros, que son la dirección de destino del token, la clave pública de bloqueo y la cantidad del token.  Para hacerlo más fiable, podemos pedir más de una confirmación.</p>
<p>La siguiente es una transacción BTC con bloqueo de tiempo en testnet.</p>
<p>70bd8b876bacd6advertisement9df1100f8e691bada729e28ee3d311e949868c75d0bf690b</p>
<p>Se introduce en una transacción de acuñación en la purple de prueba de Bitcoin SV.</p>
<p>db4d5b33eb2a095ee29ff1443613f5bc6db55c1eef724d1a5d93d0e6a2381fc7</p>
<p>El código completo del contrato inteligente, junto con una prueba, está disponible en GitHub.</p>
<p>Aquí también hay dos scripts de Python que utilizamos para construir transacciones para la implementación y el canje de una transacción con bloqueo de tiempo en BTC.</p>
<p><strong>Extensiones</strong></p>
<p>Hay muchas maneras de ampliar el ejemplo.  Básicamente, permite que un contrato inteligente en Bitcoin SV acceda a otros datos de blockchain compatibles, como bloques y transacciones, sin confiar en un oráculo.  A continuación enumeramos algunos ejemplos más:</p>
<ul>
<li style=Conexión unidireccional sin confianza: como en una cadena lateral, uno puede enviar algunos BTC a una dirección determinada y estar seguro de que puede acuñar un token envuelto en Bitcoin SV. Tenga en cuenta que es una forma debido a la falta de capacidad de BTC para verificar las pruebas de SPV.

  • Aleatoriedad: se puede utilizar un bloque BTC como fuente de entropía, como su hash de bloque, para un juego en Bitcoin SV. Es muchísimo más caro crear encabezados falsos que en Bitcoin SV.
  • Ciberseguridad: Blockchain es una tecnología de confianza

    Video de YoutubeVideo de Youtube

    ¿Nuevo en blockchain? Consulte la sección Blockchain para principiantes de CoinGeek, la guía de recursos definitiva para aprender más sobre la tecnología blockchain.

    Share.
    Leave A Reply