-
El diseรฑo se centra en las UTXO, que se intercambian usando transacciones multifirma.
-
Su objetivo es mejorar los tiempos de envรญo de bitcoins y ahorrar espacio en la blockchain.
Uno de los principales desafรญos para el crecimiento de Bitcoin como un sistema de valor de intercambio, con alcance y usabilidad global, es la escalabilidad. Esta es la propiedad de mantener la eficiencia de su funcionamiento, a pesar de que el trรกfico de transacciones y usuarios se incremente exponencialmente.
Hasta ahora, los desarrolladores han optado por crear soluciones de segunda capa para este problema, como el caso de Lightning Network (LN), una red de enrutamiento de bitcoins (BTC) que funciona con canales de pago que operan fuera de la cadena principal de Bitcoin.
En este artรญculo le daremos detalles sobre quรฉ son y cรณmo funcionan las statechains, una propuesta de segunda capa para la escalabilidad de Bitcoin, creada por Ruben Somsen, presentada en el Scaling Bitcoin, celebrado en Tokio, Japรณn, en octubre de 2018.
ยฟQuรฉ es una statechain?
El principio bรกsico de las statechains es lograr el intercambio de valor fuera de la cadena principal de Bitcoin. Para ello, el diseรฑo de Somsen se enfoca en la transferencia de la propiedad de las salidas de transacciรณn no usadas (UTXO).
Las UTXO permiten establecer el saldo de bitcoins disponible en las direcciones de la red. Estas salidas se procesan continuamente y son responsables de comenzar y finalizar cada transacciรณn. La confirmaciรณn de las transacciones implica la eliminaciรณn o adiciรณn de monedas gastadas. Su registro tambiรฉn ayuda a garantizar la imposibilidad del doble gasto de estos fondos.
Las statechains pueden calificarse como cadenas de intercambio de UTXO fuera de la blockchain de Bitcoin, estructuradas a partir de una entidad principal que gestiona los fondos y que cuenta con un servidor de firmas ciegas. Este elemento permite el intercambio de valor-UTXO en esta cadena, compuesta por los distintos usuarios que participan de la propiedad del dinero.
En una statechain los participantes bloquean una cierta cantidad de BTC en una transacciรณn multifirma (multisig) de 2-a-2 firmas. Las dos partes serรกn la entidad statechain y el usuario que recibe los fondos. La entidad puede estar formada por varios usuarios, que completan las firmas de la transacciรณn.
Para mover estos fondos, se crea una transacciรณn entre el usuario que envรญa (B) y la statechain, que manejarรก una firma (AX). Quien envรญa debe entregar su llave privada (X) al destinatario (C) y seรฑalarle al servidor de la statechain la direcciรณn de destino (C).
โCuando el usuario desea transferir el dinero (todo el UTXO), simplemente entrega su clave privada, que llamamos la clave transitoria, al destinatario deseadoโ, seรฑala el desarrollador al presentar este software.
Para el intercambio del total de la UTXO y su desbloqueo, la transacciรณn debe firmarse en la cadena principal de Bitcoin, lo que eleva el nivel de seguridad y resistencia a la censura de estas operaciones.
Cabe seรฑalar que cada vez que los fondos cambian de propietario se genera una transacciรณn fuera de la cadena (y su registro), lo que permitirรญa al รบltimo destinatario de la clave transitoria canjear sus monedas en la cadena principal, sin la asistencia de la entidad statechain, suponiendo que esta falle o intente retener los fondos.
Para esto utiliza eltoo, una herramienta desarrollada para LN y que busca facilitar la actualizaciรณn del saldo de sus canales de pago. La actualizaciรณn de los canales se garantiza mediante la creaciรณn de una cadena de transacciones que cuentan con un bloqueo de tiempo.
De esta manera, si uno de los miembros del canal de pago (o, en este caso, la entidad statechain), intenta enviar una transacciรณn que refleja un saldo anterior (o retener lo fondos, en el caso del diseรฑo de Somsen), la contraparte tiene un lapso temporal para transmitir la transacciรณn mรกs actual.
ยฟCรณmo funciona?
Como vemos, el sistema incluye el intercambio de UTXO y llaves privadas, llamadas firmas transitorias, entre los miembros de la cadena. Para la generaciรณn de estas firmas, Somsen ideรณ un servidor de firmas ocultas, que tiene dos funciones principales.
En primer lugar, generar llaves privadas para los usuarios que van a recibir los fondos (estos fondos sรณlo pueden enviarse y si bien pueden ser divididos en UTXO mรกs pequeรฑas, la transferencia debe incluir el total de la UTXO bloqueada para crear la statechain).
Su segunda funciรณn es enviar los fondos a los usuarios seรฑalados en las transacciones, a travรฉs de las direcciones derivadas de estas llaves privadas.
Estos envรญos, certificados por la Statechain, crean una cadena de usuarios que intercambian la llave transitoria y el total de la UTXO bloqueada. Al tratarse de un diseรฑo sustentado en transacciones multisig, no es un sistema de custodia, pues la statechain no puede mover los fondos sin la firma de los usuarios que desean enviar los fondos.
ยซEl servidor es una especie de federaciรณn (…) debe publicar todas las solicitudes de firma ciega (la statechain). De esta manera la gente podrรญa auditar el servidor y ver que nunca firmรณ dos veces; verificar que el servidor firmรณ solo para las solicitudes de los usuarios y asegurarse de que el servidor nunca firma dos veces para un usuarioยป, puntualiza Somsen.
Una caracterรญstica รบnica de las statechains es que operan a nivel de las UTXO. Como dijimos antes, la transferencia de fondos entre los usuarios debe ser completa, es decir, si bloquea 1 BTC en un Statechain, debe transferirse esa cantidad. No obstante, las UTXO pueden intercambiarse por otras de menor tamaรฑo, siempre y cuando el total sea el monto bloqueado.
En este caso, 1 BTC podrรญa enviarse de usuario a usuario con 4 UTXO de 0,25 BTC, aumentando la ofuscaciรณn de los fondos en la cadena de bloques. Aprovechando esto, se puede intercambiar mรบltiples UTXO del mismo valor con otros usuarios.
Interoperable con LN
Al ser una soluciรณn de segunda capa que utiliza las UTXO de Bitcoin para su diseรฑo, las statechains son compatibles con el funcionamiento de LN.
Para abrir un canal de pago en la LN se utiliza una UTXO en un una transacciรณn multifirma 2-a-2 para crear un contrato de hash de bloque temporal (HTLC), que es manejada por ambos miembros del canal. Las statechains proporcionan esta misma funcionalidad, es decir que cualquier UTXO de una de estas cadenas puede utilizarse para abrir un canal de LN, sin que la entidad Statechain tenga informaciรณn sobre esto, ya que ambos protocolos se mantienen completamente separados.
Si el canal que se abre con esta UTXO resulta muy bajo, se puede mover a un UTXO mayor. โPuede experimentar a bajo costo, y una vez que tenga un canal estable, puede elegir mover el canal sin esfuerzo hacia la capa base al salir de statechainโ, explica Somsen.
Las statechains podrรญan ayudar al crecimiento de LN, pues facilita a los usuarios incorporarse aย la red abriendo canales de pago de forma sencilla. โSi tiene dinero en un statechain, puede enviar inmediatamente una parte de รฉl a un amigo al convertir el Statechain UTXO en un canal Lightning compartidoโ, enfatiza el desarrollador.
En concreto, ยฟQuรฉ ofrece?
Las statechains ayudarรญan al usuario promedio a acelerar los tiempos de envรญo y recepciรณn de bitcoins, ademรกs de reducir los costos en comisiones, al realizar menos transacciones sobre la cadena principal. Ademรกs, serรญa una potencial soluciรณn a los problemas de escalabilidad, al aprovechar de mejor manera el espacio de los bloques de la blockchain.
A pesar de que incluye una entidad que gestiona el envรญo de los fondos, el sistema no implica la custodia de los fondos por terceras partes, de manera que las operaciones de envรญo se pueden ejecutar, incluso si esta entidad trata de retener los fondos.
Su compatibilidad con LN puede ayudar a potenciar el crecimiento de esta red. Ambas soluciones de segunda capa buscan el intercambio de valor fuera de la cadena utilizando transacciones multisig y su funcionamiento tรฉcnico es compatible.
Punto de mejora
Cabe seรฑalar que el funcionamiento de la herramienta aรบn posibilitarรญa que la entidades statechain se asocien con alguno de los usuarios que conozcan la llave transitoria, para tratar de apoderarse de los fondos. Sin embargo, los beneficios de un comportamiento semejante son minimos.
La entidad debe revelar todas las firmas que se crean, de manera que cualquier intento de hacer trampa se harรญa evidente de inmediato. A pesar de que la entidad funciona como una federaciรณn y no como una entidad รบnica, la mayorรญa de sus miembros tendrรญa que estar de acuerdo, por ejemplo, 6 de 10 firmas de la transacciรณn multisig bloqueada.
Finalmente, el envรญo de cada UTXO tiene una clave transitoria diferente, asรญ como un conjunto diferente de usuarios anteriores. Para robar todos los bitcoins, la entidad Statechain o un atacante tendrรญa que encontrar usuarios anteriores suficientes y que ademรกs estรฉn dispuestos a conspirar para cada UTXO enviada. En el caso de un robo de este estilo, es probable que solo se robe un subconjunto de la UTXO original.