State Channels, otro camino a la escalabilidad
Los state channels funcionan “bloqueando” una parte del estado de la blockchain en un contrato de firma múltiple, controlado por un conjunto definido de participantes. El estado que está “encerrado” se llama depósito estatal. Por ejemplo, esto podría ser una cantidad de Ether o un token ERC-20, pero también podría ser un CryptoKittie o un nombre de dominio ENS.
Una vez que el depósito estatal está bloqueado, los participantes del canal utilizan la mensajería fuera de la cadena para intercambiar y firmar transacciones Ethereum válidas sin implementarlas en la cadena. Estas son como transacciones que se pueden poner en cadena en cualquier momento, pero no lo son.
Un desglose básico
Un desglose básico del funcionamiento de esta tecnología sería el siguiente:
- Parte del estado de la blockchain está bloqueado mediante firma múltiple o algún tipo de contrato inteligente. Así, un conjunto específico de participantes debe estar completamente de acuerdo entre sí para actualizarlo.
- Los participantes actualizan el estado entre ellos mediante la construcción y firma de transacciones que podrían enviarse a la blockchain. Pero estos cambios no pasan a la blockchain directamente, sino que los cambios se superponen hasta que termina la interacción.
- Finalmente, los participantes envían el estado de nuevo a la blockchain, que cierra el canal de estado y desbloquea el estado nuevamente (generalmente en una configuración diferente a la que comenzó).
Dado que todas las transacciones intercambiadas son igualmente válidas en lo que respecta a la blockchain, los state channels necesitan un mecanismo para garantizar que el último estado fuera de la cadena (es decir, el último movimiento en nuestro juego de ajedrez) sea el que finalmente se resuelva en la cadena.
Emisión final del estado
Por lo tanto, si una parte intenta cerrar unilateralmente un canal, otras partes del canal tienen un cierto período (una “ventana de disputa”) en el cual tienen la oportunidad de presentar un estado más reciente, probando así que se intentó el fraude. Una vez que se prueba una infracción, el contrato maneja el proceso de resolución, que generalmente implica castigar a la parte culpable recortando sus fondos depositados (aunque también se podría simplemente actualizar al estado válido y proceder en consecuencia).
Si el “estado” que se actualiza entre los participantes fuera un saldo de moneda digital, entonces tendríamos un canal de pago. Los pasos 1 y 3, que abren y cierran el canal, involucran operaciones de blockchain. Pero en el paso 2 se puede realizar rápidamente un número ilimitado de actualizaciones sin la necesidad de involucrar a la blockchain en absoluto, y aquí es donde entra en juego el poder de los state channels, porque solo los pasos 1 y 3 deben publicarse en la red. Pague tarifas o espere confirmaciones.
De hecho, con una planificación y un diseño cuidadosos, los state channels pueden permanecer abiertos casi indefinidamente y usarse como un sistema de intercambio más grande para impulsar una economía o ecosistema completo.