-
Los miniscripts permiten definir cuándo y cómo gastar una salida (UTXO) de tu wallet.
-
Specter Wallet añade mejoras a la gestión y administración de salidas de bitcoin.
La nueva actualización de Specter Wallet trae consigo varias mejoras que abren posibilidades en cuanto a realizar transacciones en Bitcoin e interactuar con el cliente Bitcoin Core desde un nodo de la red.
Specter Wallet, en su versión 1.5.1 lanzada el pasado 25 de marzo, está diseñada para funcionar sobre un nodo completo de Bitcoin, que podría ejecutarse mediante interfaces como MyNode, Umbrel, Casa, Dojo y otros.
Ahora, Specter Wallet habilita funciones más complejas para las transacciones de Bitcoin, permitiendo la inserción de comandos que agregan términos y condiciones a las transacciones que los usuarios pueden realizar en la red.
La primera de estas capacidades, los miniscripts, son un formato comprimido de los scripts o comandos (instrucciones) que encontramos en Bitcoin. Es decir, una instrucción concreta pero ligera de interpretar y validar para todos los participantes de una transacción.
Los miniscripts fueron desarrollados por Pieter Wuille, Andrew Poelstra y Sanket Kanjalkar bajo la tutela de Blockstream. En una explicación al respecto, esta compañía comenta que, además de agregar e informar las condiciones a seguir en una transacción, los miniscripts también ayudan a predecir más precisamente el costo de gastar una salida u output (UTXO).
En mayo de 2020, el desarrollador Andrew Poelstra ofreció una explicación sobre los miniscripts donde argumentó, entre otras cosas, que estos pueden ser interpretados rápidamente por todos los participantes, habilitan casi infinitas posibilidades de esquemas de transacción y son compatibles con contratos de bloqueo de tiempo (timelocks), así como con esquemas multifirma.
Además, los miniscripts no requieren de mayores actualizaciones del software de Bitcoin, sino que las aplicaciones de monederos se integren a estas funcionalidades.
Con los miniscripts, Specter habilita también descriptores de salidas (outputs descriptors). De esta manera, los outputs mostrarían una descripción de sí mismos, en cuanto a cuáles han sido sus rutas de derivación de claves, sus firmas públicas, su dirección hash y las condiciones de sus miniscripts.
Esta noción fue explicada por Darío Sneidermanis de Muun Wallet en entrevista con CriptoNoticias. La cartera cuyo desarrollo lidera, implementó esta tecnología recientemente con la función de habilitar otras formas de respaldar o restaurar una cartera de Bitcoin.
A todo lo ofrecido en esta versión por Specter, se añade otra capacidad como es el sighash, un método de firma criptográfica que también habilita nuevas funcionalidades a las transacciones de Bitcoin. Este formato permite agregar datos adicionales a las salidas (UTXO), de manera que se puedan ejecutar múltiples modelos de transacciones peer-to-peer (P2P).
Así se podría establecer, por ejemplo, que una entrada en específico -un monto de bitcoins consolidados en un mismo input– solo puedan gastarse (salir) hacia una dirección en específico. O también, de forma contraria, se podrían firmar todas las entradas, mas no las salidas; como asegurando «no me importa a quién le llegan estos bitcoins, pero estoy de acuerdo». Estos y más casos de uso son descritos por el desarrollador Raghav Sood en una publicación sobre los sighash, hecha en 2018.
Casos de uso, funciones y esquemas de transacción ilimitados
Con los miniscripts, los descriptores y los sighash, se pueden crear este tipo de esquemas de transacción, muy útiles para casos donde participan más de 2 personas, en esquemas multifirma. Si bien no son formalmente contratos inteligentes, sí son procedimientos que también pueden cumplir eficientemente distintas funciones dentro de Bitcoin.
Incluso, tienen aplicaciones en la administración y gestión de fondos a través de los outputs o salidas a nivel del usuario individual, en el ámbito de las finanzas personales.
Ya sea para manejar su dinero o el de su negocio, un usuario puede clasificar las salidas de su cartera y asignarle funciones, como pueden ser las de ahorro en BTC, pago automatizado de nóminas y proveedores, vencimiento de contratos y liquidación de fondos, de acuerdo a sus parámetros.
Por ejemplo, una compañía constituida puede bloquear los fondos de la renta de sus operaciones y configurarlos para liquidarlos en una fecha acordada, digamos, cada 3 meses, solo a las direcciones de los socios inversionistas.
Los casos hipotéticos podrían ser muchísimos, ampliando así las capacidades de Bitcoin y reforzando la filosofía de ser tu propio banco, eliminando intermediarios y tomando el control total sobre los fondos a los que se tenga acceso.
Otras capacidades de Specter mejoran la experiencia del usuario de Bitcoin
Son muchas más funciones las que agrega Specter Wallet a su nueva versión, la cual se encuentra disponible en GitHub para su descarga e implementación.
Aunque Specter todavía no es compatible con la conexión USB del monedero frío o hardware wallet de Coldcard, ahora sí aceptan tarjetas SD. Desde estas tarjetas de memoria se puede acceder a las llaves de una cartera de Bitcoin y cargarlas en Specter para ejecutarla desde este software.
Asimismo se habilita una cartera de consulta o visualización (watch-only wallet), un tipo de indicador del estatus de una cartera o wallet cuando no se tienen las llaves privadas. Igualmente, si se desean tener las llaves privadas cargadas en Specter Wallet, también se permitió esta posibilidad en esta versión.
También, desde ahora se admiten transacciones y carteras Legacy, es decir, el formato tradicional de direcciones de Bitcoin: 1Q2TWHE3GMdB6BZKafqwxXtWAWgFt5Jvm3.
(No envíes BTC a esta dirección. Se trata de la primera transacción de Bitcoin entre Satoshi Nakamoto y Hal Finney, la cual comentamos aquí al cumplirse 10 años de haberse confirmado)
Cabe destacar, además, que en la nueva versión de Specter Wallet, todos los procesos son probados como simulación automáticamente en Bitcoin Core, con el comando regtest, de modo que se pueden predecir los resultados de una configuración en específico antes de ejecutarla en la red principal de Bitcoin.