-
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.