Desplácese para leer más

En primer lugar, es importante aclarar que durante el pasar de los años, los conceptos de escalabilidad y soluciones de segunda capa (Layer 2 en inglés) enfocadas en Ethereum han estado en pleno desarrollo y constante evolución, donde antes, cualquier propuesta que pudiera aliviar la congestión de la red principal y ser afín a esta misma, quiso ser considerada en algún momento como parte de la categoría de Layer 2. Así pues, propuestas como state channels, plasma, validium, rollups o sidechains cerraban juntas en esta categoría, como parte de la jerga de muchas comunidades y medios de difusión. No fué sino hasta principios del 2021 y a raíz de la crónica congestión de la red Ethereum, que la discusión si avivó en gran parte del ecosistema crypto, dando finalmente por sentado que las sidechains no son soluciones de escalabilidad consideradas como de segunda capa; por hacerse cargo de su propia seguridad, y no anclarla plenamente desde la red principal, como sí lo haría un rollup. Pero tranquilo, si aún no sabes qué es una Sidechain, quédate, lo abordaremos a continuación.

 

Introducción: ¿Qué son las sidechains?

Una cadena lateral (la traducción formal de sidechain), de acuerdo a la definición de ethereum.org, es una blockchain separada que corre paralelamente con la red principal de Ethereum, conectado a esta por un puente (o bridge en inglés) de sentido doble y que usa su propio mecanismo de consenso (PoA-Prueba de Autoridad, PoS-Prueba de Participación, PoW-Prueba de Trabajo, etc). Esto quiere decir que los activos de la red principal pueden ser transferidos desde red principal, almacenandose en el puente, y replicarlos en la cadena lateral para operar en esta nueva instancia, y en cualquier momento ser retirados de vuelta a la red principal, si el mecanismo de consenso y la administración del puente convalida la solicitud. Su alto grado de independencia en varias de sus funciones como blockchain la hacen ser semejantes otro tipo de blockchain común o “L1”. Sin embargo, existen varias caracteristícas que pueden ayudar a distinguirlas del resto:

Si tiene token propio ó usa activos de terceros proyectos como pieza clave de la economía de la red (staking, pago de comisiones), la emisión y los tokenomics están fundamentados desde la red principal en forma de tokens ERC-20 u otros (ether).

Si usa mecanismo de consenso de Proof of Stake o similar, parte del mecanismo de staking deriva de contratos inteligentes desde la red principal.

El puente está vinculado a la red y no provisto por terceros ajenos a la misma.

El proyecto es cercano al ecosistema de la red principal, dirigido a sumar nuevas funcionalidades y no competir con la misma.

Incluye otros mecanismos de dependencia con la red principal como el checkpointing.

A pesar de ello, una cadena lateral no tiene porqué cumplir con todas las caracteristicas mencionadas, por lo que estas definiciones siguen estando en discusión y debate, y los puntos de vista podrían cambiar en un futuro.

Fuente: Horizen Academy

La posibilidad de que estas cadenas laterales permitan resolver al usuario final alguno de los problemas y retos encontrados en la red Ethereum, como los altas altas comisiones, tiempos lentos de confirmación, poca capacidad de procesamiento de número de transacciones ante la demanda, entre otras, justifican su existencia. Además, si la red utiliza una implementación de la máquina virtual de Ethereum (EVM, por sus siglas en inglés), implica que la experiencia para el desarrollador y usuario promedio puede verse beneficiada, como la fácil puesta a punto de smart contracts y entendimiento de los modo de operación, lo cual impulsa el crecimiento del ecosistema dentro de ella, habilitando para las masas casos de uso como pagos, DeFi, NFTs, juegos y la experimentación.

POA Network, xDai, Skale y Polygon PoS son proyectos ejemplares de esta categoría de blockchains. En esta ocasión, let’s talk about Polygon PoS Chain🙂.

¿ Y qué es Polygon PoS?

Anteriormente conocida como la red Matic (o Matic Network), Polygon PoS es a toda regla una sidechain de la red Ethereum, compatible con la máquina virtual de la misma, con el propósito de escalar la actividad de los usuarios de dicha red principal, ofreciendo una plataforma base independiente en el cual transferir activos desde Ethereum y desplegar aplicaciones descentralizadas de cualquier índole, haciendo que todo el trabajo computacional de ejecución y validación de transacciones pase a estar asegurado por un set de nodos validadores regidos por el consenso de prueba de participación o Proof of Stake (PoS), con las características de ser una red con alta capacidad + bajo coste de transacciones. En pocas palabras, podemos trasladarnos en términos de usabilidad desde Ethereum hasta esta instancia separada pero bien conectada con dicha red y beneficiarnos de un entorno de mayor throughput (rendimiento).

Como primera impresión, en Polygon PoS, el alto rendimiento de la red está explicado por la producción de nuevos bloques cada 2-3 segundos con un gas limit de 20M (asociado al tamaño de bloque), lo cual ha permitido alcanzar un procesamiento de ~4,8 millones de transacciones diarias en promedio desde que el protocolo Aave fuese lanzado al público y la actividad asociada al ecosistema DeFi tuviera lugar.

Fuente: polygonscan

Hay razones para afirmar que Polygon PoS es una sidechain que posee características que las distingue del resto, denominándose también como cadena de comité o commit chain, que se mencionará más adelante. Empecemos a profundizar con los tópicos tales como tecnología base, validación, sus dos componentes principales Bor y Heimdall, y los puentes.

Tecnología base

La arquitectura de Polygon PoS se concibe como un híbrido de una cadena convencional de Proof of Stake tomando una versión modificada del algoritmo de consenso Tendermint (de Cosmos SDK) llamada Peppermint, e incorporando una solución de segunda capa primitiva conocida como Plasma; o más bien, una variante de la misma: Minimum Viable Plasma (MVP). De este modo, ambos componentes están vinculados a la red Ethereum a través de diferentes contratos inteligentes que sustentan y permiten gestionar parte del consenso de la red, dar paso a su funcionamiento y administrar la seguridad de los fondos depositados por los usuarios en el puente. 

A nivel infraestructural, la red está instalada en una arquitectura de 3 capas:

  1. Capa base, situado en la red Ethereum, lugar donde se despliegan los contratos de staking y Plasma.
  2. Capa Heimdall, encargada de la agregación, validación y reportar el estado de la cadena a la red principal, rigiendo el trabajo de los validadores bajo el consenso de Proof of Stake.
  3. Capa Bor, como productora de bloques de la cadena lateral, en el cual por turnos los validadores se encargan de procesar las transacciones de los usuarios.

Fuente: whitepaper de Matic Network

Aunque la solución de Plasma esté formalmente incorporado en esta infraestructura, el potencial de la misma (como el uso de pruebas de fraude) no es aprovechado como se pensaría, dado que casi toda la actividad se concentra en la cadena gobernada plenamente por el consenso de Proof of Stake, puesto que esta última es la que en realidad posee la compatibilidad con la EVM, que le da vida a prácticamente todos los smart contracts presentes en la red. 

Validación y staking

A diferencia de otras cadenas laterales donde el consenso de la validación no está abierta para el público, quedando en manos de un conjunto cerrado y centralizado de operadores, en Polygon PoS la participación en la validación de la red ha estado abierta a libre ocupación por parte de los interesados en llevar a cabo esta actividad, pero admitiendo no más de 100 participantes de acuerdo a la configuración de la arquitectura en sí, lo que ha tenido como consecuencia que la red actualmente haya alcanzado el número máximo de validadores el 7 de mayo del 2021. En otras palabras: validación no permisionada pero fijada a un número máximo de participantes (aunque por consenso, este número puede ser extendido mediante votación).

Como en toda cadena basada en prueba de participación, los validadores necesitan bloquear sus tokens MATIC en el contrato de staking de Ethereum e ingresar en la red con sus nodos completos que los habilitará de participar en las capas de producción y validación. Si algún validador actúa de manera deshonesta o no participa en el consenso, su cantidad en stake se verá comprometida y eventualmente recortada. El usuario común también puede participar en el staking, delegando sus tokens a los validadores, recibiendo las mismas recompensas menos una comisión seteada por el validador.

Si bien las reglas que derivan de los contratos de staking y plasma son las que regirán en parte el funcionamiento de la cadena lateral, al día de hoy no son contratos absolutamente inmutables y están en manos de los co-fundadores del proyecto y otros miembros del ecosistema, avocados en abordar, en el mejor de los casos, futuras actualizaciones y corrección de errores críticos.

 

Capa Bor

También conocido como Bor Chain, es la capa encargada de la producción de bloques para la cadena lateral,  basada en una implementación básica de Geth (Go Ethereum o Ethereum Golang) e inspirado en Clique, donde la plena compatibilidad con la EVM toma lugar. En esta capa (producción) todos los validadores no toman parte de esta actividad al mismo tiempo, sino que los productores de bloques son escogidos desde la capa Heimdall de forma aleatoria por grupos tomando como referencia los hashes (0xad823…) de los bloques de Ethereum para asegurar de que el proceso es auténtico. 

Los productores se organizan para generar estos bloques con transacciones, cuyo derecho de creación estará sujeto de forma proporcional según la cantidad de MATIC puesto en staking. Así pues, mientras más cantidad de MATIC en staking, mayor será la participación del validador en la producción. Expliquemos esto con un sencillo ejemplo:

  1. Asumamos que tenemos 3 validadores activos: Alice, Bob y Clara.
  2. Alice tiene 50 MATIC en staking, mientras que Bob y Clara tienen 20 MATIC cada uno en staking.
  3. Todos los validadores reciben cupos o slots según su cantidad de staking, como una manera de cuantificar su participación. Si Alice tiene 50 MATIC en staking y la red está configurada para dar un slot por cada 20 tokens (definido por la gobernanza entre validadores), Alice obtendrá 5 slots en total. Del mismo modo, Bob y Clara obtienen 2 slots cada uno.
  4. Se cuantifica el total de slots asignados a cada uno [A, A, A, A, A, B, B, C, C]
  5. Se emplean los hashes de los bloques de Ethereum como fuente reordenar el orden de sus participaciones.
  6. Como resultado obtenemos el siguiente orden [A, B, A, A, C, B, A, A, C]
  7. Ahora, dependiendo del recuento de productores (sujeto por la gobernanza de los  validadores), seleccionamos los validadores de izquierda a derecha, por ejemplo, si queremos seleccionar 5 productores, obtenemos el set de productores establecido como [A, B, A, A, C]
  8. Por lo tanto, el conjunto de productores para el siguiente tramo estaría definido como [A: 3, B: 1, C: 1].
  9. Usando este conjunto de validadores y el algoritmo de selección de proponentes de Tendermint, elegimos un validador como productor para cada sprint (conjunto de bloques asignados a producir) en Bor.

Con este mecanismo, se asegura la aleatoriedad del proceso de elección de productores, dando la posibilidad de que todos los validadores tengan oportunidad de producir los bloques, a la vez que garantiza que mientras más MATIC puesto en staking, más participación activa en la producción. 

Capa Heimdall

La Heimdall Chain es la capa, que como se mencionó al principio, es donde el consenso toma lugar. A través de Heimdall, los validadores son enviados a “trabajar” en la producción de bloques en la Bor Chain mediante el mecanismo explicado anteriormente. A su vez, todos estos bloques creados en Bor, desde Heimdall son agregados en un árbol de merkle (los hashes de cada bloque generado en un periodo se juntan para generar un nuevo hash único) y se publican en Ethereum como prueba definitiva y punto de referencia sobre el estado de la cadena. Este proceso llamado Checkpointing, es heredado del mecanismo de plasma e implica una diferencia notable de Polygon PoS frente a otras sidechains que no incluyen este tipo de mecanismos.

A través del algoritmo de selección de proponentes por Round Robin, un validador es seleccionado para realizar el trabajo de validación y agregación de bloques, mientras que la infraestructura vigila el éxito o no del proceso para reiniciar la selección y proposición del nuevo o actual punto para checkpointing.

El Checkpointing es el proceso crucial que explica porqué la red es denominada como una cadena de comité: caracterizado por ser un proceso que ocurre en dos fases, el proponente envía el checkpointing con toda la información correspondiente (ID, bloques incluidos, hash árbol de merkle, etc) y +⅔ del set de validadores en stake lo convalidan, para dar paso a publicar dicho estado de la red en Ethereum. En la siguiente validación, un nodo validador envía una transacción de reconocimiento para demostrar que el checkpoint anterior fué realizado correctamente sobre la red Ethereum y continuar con el proceso. Este proceso es igualmente realizado por todos los validadores en algún momento y requiere de la aprobación de la mayoría en términos generales. Por lo tanto, los checkpoints y contratos de staking son considerados la última fuente de la verdad sobre el estado de la cadena lateral para los observadores externos, y son útiles también para la coordinación social entre validadores y responsables directos de los contratos para tomar como referencia y restablecer su estado en caso de que una conducta maliciosa o un conflicto caótico tenga lugar. 

Además, el uso de checkpointing como referencia es importante para dar completa validez a las pruebas de quemado realizadas desde la cadena lateral como solicitud para el retiro de activos hacia la red Ethereum.

Sobre los Puentes

El puente es el mecanismo por el cual los activos pueden virtualmente cruzar de Ethereum a Polygon y regresar. A diferencia de otras sidechains o blockchains donde el bridge es provisto por terceras partes de manera centralizada e incluso cobrando fees por su uso, los puentes de Polygon PoS transfieren los activos manteniendo el 1:1 para los usuarios, bloqueando los el activos (alojados en Ethereum) bajo los contratos de los puentes, y minteandolos (es decir, acuñandolos) en la cadena lateral. De modo inverso, como se mencionó en Capa Heimdall, la prueba de quemado efectuada desde la cadena lateral y confirmada a través del mecanismo de checkpointing, dan el aval para el retiro de fondos de vuelta a Ethereum, enviándose desde el contrato inteligente del puente a la billetera de los usuarios. Dado que la arquitectura de Polygon PoS es híbrida, de la misma manera dos puentes son concebidos:

  • Puente PoS 

Es el puente más utilizado, destinado para casi todos los activos de Ethereum, y asegurados por el completo set de validadores de Polygon PoS (que comprometen su staking) para la confirmación de depósitos y retiros. Este modelo de puente donde todos los validadores toman parte de su administración es el que les diferencia de de otras “blokchains L1” que incorporan servicios de puentes a Ethereum manejado por terceros y no por los propios validadores de la red en cuestión (Binance Smart Chain, Fantom, etc). La velocidad de retiro depende de la confirmación del próximo checkpoint una vez efectuada la solicitud, y podría tardar entre 20 y 180 minutos. 

  • Puente Plasma 

Destinado casi exclusivamente para el token MATIC y para activos que deseen ser usados en la solución de plasma, con restricciones de 7 días de espera (por el mecanismo de Plasma) para finalizar el retiro de este activo hacia la red Ethereum.

Consideraciones finales

Como cadena lateral, Polygon PoS ha sido la red de mayor éxito en el último año, gracias a su infraestructura ha permitido que muchos usuarios tengan acceso a un entorno rápido y de bajo coste para el florecimiento de ecosistemas basados en DeFi, NFTs, DAOs y la experimentación. La flexibilidad de la red entre depósitos y retiros le da al usuario una experiencia relativamente cómoda para hacer uso conveniente de la misma. 

Sin embargo, dado su modelo de seguridad, la salud de la red está sujeta a la actuación honesta de la mayoría de validadores participantes (100) por poder de staking, que al final del día son los que resguardan cada minuto los fondos de los usuarios asegurados desde la red Ethereum y dictaminan lo que les pertenece a cada cual. Además, que Polygon PoS utilice la red Ethereum para administrar su seguridad no implica que Ethereum se haga cargo de su validación. Claramente esto la hace relativamente débil frente a redes activas de mayor envergadura como Bitcoin y Ethereum y teóricamente inferior a redes con modelos de seguridad novedosos como las segundas capas de Ethereum. Adicionalmente, la situación actual del manejo de los contratos de la red en Ethereum a través de una multisig, que idealmente tendrían la potestad de actualizar en caso de bugs y potenciales exploits, no dejan de significar un punto de centralización y riesgo de acciones maliciosas fulminantes ante una no descartable actitud negligente por parte de los responsables; aunque no seguirán trabajando en ofrecer modelos mejores de cara al futuro.

En el corto plazo, cadenas laterales como esta son a primera vista beneficiosas y útiles para los usuarios y razonables para quienes evalúan sus ventajas respecto a sus riesgos. Desde DeFi LATAM abogamos al uso de ellas siempre que el usuario sea consciente de su funcionamiento y apoyamos a la continua investigación y construcción de soluciones más escalables y seguras.

 

Fuentes:
  1. Sidechains
  2. Documentación oficial de Polygon
  3. Matic whitepaper
  4. Polygon PoS Chain – A Commit Chain And Not A Sidechain?
  5. Matic System Overview - Bor
  6. Checkpoint Mechanism on Heimdall
  7. Matic System Overview - Heimdall
Autor
Joxes

Joxes

twitter.com/inaltswetrust