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 'Lock to Mint'
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.
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.
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.
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:
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.
Ciberseguridad: Blockchain es una tecnología de confianza
¿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.