Introducción
La tecnología blockchain sin lugar a dudas ha evolucionado mucho desde la llegada del Bitcoin en 2009, y buena parte de esa evolución ha sido impulsada por los conocidos protocolos de segunda capa.
Un protocolo de segunda capa, es un software que se diseñan para trabajar sobre la tecnología subyacente a un protocolo blockchain específico. Su finalidad es la de ampliar las capacidades del protocolo original. Para ello pueden requerir pocas o ninguna modificación del protocolo original. De esta forma, el posible añadir nuevas características al ecosistema de una blockchain manteniendo una separación clara entre el protocolo de la blockchain y el resto de funcionalidades del ecosistema.
Esto por supuesto ofrece enormes ventajas y flexibilidad para el desarrollo. Pero más allá, de esto los protocolos de segunda capa pueden ser el futuro de muchas blockchain en la actualidad. Es por ello, que te explicaremos ¿Cómo funcionan? ¿Qué potencial tienen los protocolos de segunda capa? ¿Qué problemas ayudan a resolver? Todo eso y más lo hablaremos a continuación.
Relacionado: Blockchain: Qué es y cómo funciona. Guía para principiantes
¿Cómo funcionan los protocolos de segunda capa en blockchain?
El funcionamiento de los protocolos de segunda capa se centra básicamente utilizar las capacidades propias del protocolo blockchain. Con esto se busca construir todo un nuevo marco de trabajo que permita ampliar las posibilidades del protocolo original.
Este modelo de desarrollo separado del protocolo interno de la blockchain les permite a los desarrolladores una enorme flexibilidad. En primer lugar, no se necesita introducir cambios drásticos al protocolo con el consiguiente problema de esperar a que estos cambios sean aceptados. En su lugar, los cambios son realizados en un espacio separado conocido como segunda capa. Esto hace que el ritmo de desarrollo se acelere y se generan menos problemas graves en el mismo. Al final esto permite introducir funcionalidades que de otra manera serían muy difíciles y hasta imposibles de realizar.
Para verlo de una forma más sencillo podemos tomar el siguiente ejemplo:
Para construir un edificio lo primero que debemos hacer son buenos cimientos. Si construimos buenos cimientos y toda una estructura para sostener lo que coloquemos nuestro edificio, el mismo será muy robusto. Finalmente, al terminar dichos cimientos, podemos continuar con la construcción del resto del edificio sin mayores problemas.
En este caso, los cimientos serían la primera capa o el protocolo de la blockchain, entiéndase Bitcoin o Ethereum. Mientras que el resto de la construcción, hace referencia a los protocolos de segunda capa. Un punto donde podemos personalizar al máximo lo que construimos.
Tipos de protocolos de segunda capa
Existen a grandes rasgos dos tipos de protocolos de segunda capa, que son los canales de estado (state channel) o sidechain (cadenas laterales). Cada uno de estos con sus pros y contras, y eso es lo que veremos a continuación:
State channel
Un state channel es un tipo de protocolo de segunda capa que permite a un grupo de usuarios realizar un número ilimitado de transacciones privadas fuera de la cadena principal. Estas transacciones tienen la particularidad de que en ningún momento se hacen públicas y solo son visibles para los usuarios dentro del canal. Además, solo el estado inicial y final de las transacciones se registra en la blockchain principal. Gracias a esto los state channel permiten a los usuarios realizar transacciones entre sí de forma instantánea, de forma y con un bajo costo.
El funcionamiento de los state channels se basa en que los usuarios confían en una serie de contratos que son creados para plasmar y verificar el estado de sus transacciones antes, durante y después abrir un canal. Una vez abierto el state channel los usuarios pueden realizar tantas transacciones como deseen. Todo ello sin depender de las verificaciones de los mineros. Tampoco requieren la formación de nuevos bloques por transacción.
Una vez que se completan las transacciones, los participantes firman mutuamente una transacción de cierre. Las transacciones de cierre son únicas en el sentido de que se registran en un nuevo bloque en la blockchain. Para continuar realizando transacciones después de una transacción de cierre, los usuarios deben volver a abrir un nuevo state channel.
Sidechain
Las sidechain o cadenas laterales, son blockchain más pequeñas que corren paralelas a la blockchain principal, y actúan como ramas de la esta última. Son un tipo bastante particular de protocolo de segunda capa en el cual se transfieren activos hacia y desde la blockchain principal para reducir la congestión y facilitar la escalabilidad.
Las sidechain tienen una estructura y un mecanismo operativo similares a los de la blockchain principal donde se ejecutan. A diferencia de los state channel, cada transacción en una sidechain se registra y forma un nuevo bloque. Sin embargo, los bloques de la sidechain se pueden verificar más rápido porque necesitan menos potencia para verificarse y lograr así un consenso.
Una vez se abre una sidechain los usuarios del canal pueden realizar las operaciones que deseen y estas quedan grabadas en cada bloque de la sidechain. Como las operaciones no se realizan en la blockchain principal, se pueden ajustar sus parámetros para hacer que las mismas sean rápidas y económicas de realizar. Al final cuando, se cierra la sidechain todo lo que sucede en la misma es emitido a la blockchain principal donde los estados quedarán grabados en los bloques de la misma.
Potencial de estos protocolos
Ahora bien, seguramente te preguntarás qué ventajas y beneficio tiene el desarrollar protocolos de segunda capa. Pues bien, una forma sencilla de verlo sería con el siguiente ejemplo:
Por ejemplo, sabemos que Bitcoin no tiene una capacidad sobresaliente para procesar miles de transacciones por segundo (TPS). Este problema es conocido como el “problema de escalabilidad del BItcoin”. Este se debe a que el protocolo de Bitcoin tal como está diseñado, es incapaz de ofrecer una mejor escalabilidad. Solucionarlo solo nos deja dos opciones: cambiar el protocolo completamente o diseñar una estructura sobre el mismo que nos permite sortear el problema.
La primera opción es compleja, conlleva cambiar un protocolo probado, que lleva funcionando mucho tiempo y que ha demostrado su seguridad. Además, cambiar el protocolo puede llevar a que el software de los nodos se haga más complejo y sus necesidades de cómputo y de red crezcan afectando negativamente la descentralización de la red. Y eso sin contar, que podría llevar a la comunidad de Bitcoin a pique por las diferencias que pueden aparecer. Sin duda, problemas muy graves.
El segundo caso, es crear un protocolo de segunda capa. Un software diseñado de tal forma que podamos usar las características de Bitcoin, al mismo tiempo que solucionamos el problema de la escalabilidad. Todo ello sin tocar el protocolo original, sin afectar la seguridad del mismo y manteniendo el estatus y crecimiento de la red actual.
Esta segunda opción parece un sueño en realidad, pero la verdad es que es posible. El mejor ejemplo de ello lo podemos ver en Lightning Network (LN). Lightning Network es un protocolo de segunda capa que nos permite hacer transacciones instantáneas y económicas usando Bitcoin. Para ello, Lightning implementa lo que se conoce como operaciones off-chain o fuera de la cadena. Esto permite aumentar la escalabilidad de Bitcoin a niveles que normalmente sería imposible. Sin duda, una solución ingeniosa para un problema complejo y que permite que Bitcoin pueda adaptarse a las necesidades de sus usuarios.
Entonces visto desde ese punto, el potencial de los protocolos de segunda capa es enorme. No solo nos permiten solucionar los problemas de escalabilidad, también pueden ayudarnos a mejorar la privacidad o mejorar la capacidad de programación de smart contracts de una blockchain. La verdad es que no hay límites en este caso, usando protocolos de segunda capa todo es factible de desarrollarse.
Continua leyendo: Lightning Networks aún no ha logrado la adopción definitiva, pero no hay que fiarse de ello
¿Qué problemas ayudan a resolver?
Las soluciones posibles gracias a los protocolos de segunda capa son variados. Van desde problemas de escalabilidad, privacidad de las transacciones, mejoras en smart contracts o creación de frameworks para habilitar la creación de otras herramientas que usen el poder de la blockchain sobre la que se ejecutan. Por supuesto, algunas de estas soluciones son más o menos complejas que otras. Pero en definitiva la capacidad resolutiva de estos protocolos es enorme.
En Bitcoin, Lightning Network es una de las soluciones más conocidas. Su objetivo es solucionar el problema de escalabilidad de Bitcoin haciendo que sus transacciones sean instantáneas. Pero el uso de protocolos de segunda capa no solo se limita a Bitcoin. En Ethereum por ejemplo, Plasma es un protocolo de segunda capa que busca mejorar la escalabilidad de dicha blockchain.
Algo necesario teniendo en cuenta la enorme presión que ejercen los cientos de miles de smart contracts que se ejecutan en Ethereum. Una situación que genera cientos de operaciones deben ser atendidas por los mineros de la blockchain de Ethereum. Lo que termina generando congestión en la red y problemas de usabilidad en sus aplicaciones descentralizadas o DApps.
Otro buen ejemplo en Ethereum lo podemos ver con el proyecto Golem. Este es un sistema de computación distribuida que usa la blockchain de Ethereum. El sistema funciona como un protocolo de segunda capa en el que los usuarios reciben un determinado incentivos económico en forma de tokens Golem (GNT) por poner a disposición poder de cómputo de sus computadoras. Todo esto a la vez que permite a quienes alquilen dicho poder de cómputo, usar la red para hacer potentes cálculos distribuidos que de otra forma no podrían. Como por ejemplo simulaciones sísmicas, investigación de inteligencia artificial y mucho más. Un interesante proyecto que muestra el potencial de esta tecnología para resolver problemas reales.
La misma situación se repite en otras blockchain como la de NEO, donde también podemos ver soluciones de este tipo. Tal es el caso de Celer Network, un protocolo de segunda capa diseñado para dar mayor flexibilidad a las aplicaciones descentralizadas (DApps) de NEO.
Dicho todo lo anterior es bastante claro que los protocolos de segunda capa serán una parte fundamental del ecosistema de desarrollo de la tecnología blockchain. Esto gracias a que los mismos permiten flexibilizar la tecnología y permitir que cualquiera pueda crear una aplicación que use el poder de la blockchain a su favor. Una situación que abre las puertas a adelantos que no podemos imaginar del todo, puesto que es un campo totalmente nuevo y en desarrollo.