Tabla de Contenidos
ToggleLa escalabilidad de la blockchain siempre ha sido uno de los principales problemas en la red de Ethereum. Esta cadena de bloques se enfrenta cada día a limitaciones en términos de capacidad y rapidez. Dichas limitaciones impiden que la red crezca de forma global.
Por esta razón, Vitalik Buterin, quien es el cofundador de la red con Joseph Poon, buscó una solución e hizo la propuesta del Plasma de Ethereum. Los inicios de este concepto se remontan a agosto del año 2017. El plasma de Ethereum es una técnica de escalabilidad fuera de la cadena o en otras palabras, un marco de trabajo para desarrollar aplicaciones escalables. Este marco puede implementarse de diversas maneras por diferentes grupos de investigación o compañías.
A continuación te contaremos todo sobre cómo funciona el Plasma de Ethereum.
El principal objetivo tras la creación de Ethereum Plasma, como ya hemos mencionado anteriormente, era construir un marco de referencia a partir de cadenas laterales que interactúen y se comuniquen lo menos posible con la cadena principal. En el caso de Ethereum Plasma, la cadena principal será la blockchain de Ethereum. Este marco de referencia está orientado a operar como un árbol de cadena de bloques, que está organizado de forma jerárquica con el objetivo de desarrollar numerosas cadenas más pequeñas sobre la blockchain principal. Dichas cadenas se denominan cadenas secundarias o menores, aunque también reciben el nombre de plasma chains o child chains.
La construcción de la estructura de Plasma parte del uso de smart contracts y de los árboles Merkle. Ambos hacen posible que la red cree un número ilimitado de subcadenas. Cabe destacar que estas subcadenas son copias de la cadena de bloques principal, la red de Ethereum. En la parte superior de cada cadena menor, se pueden erigir más cadenas para formar una estructura similar a un árbol.
En palabras más simples, cada child chain de Plasma se trata de un contrato inteligente totalmente personalizable. Dicho contrato puede diseñarse para participar en la red de forma singular y solucionar distintos problemas y necesidades. Este sistema permite que las cadenas de bloques pueden coexistir juntas y a su vez, operar de forma independiente. En algunos casos, el Plasma de Ethereum permitirá a las compañías y negocios la implementación de soluciones de escalabilidad de diversas formas, todo ello, mediante la adaptación a su contexto específico y sus necesidades.
Esto significa que, tras la implementación del Plasma de Ethereum en la red, la red principal podrá verse menos congestionada si la implementación se lleva a cabo de forma exitosa. Esto es debido a que cada Plasma chain estará configurada para trabajar de forma distinta para lograr los principales objetivos del marco de aplicación. Cabe destacar que no todos los objetivos estarán relacionados con los de la red principal. En pocas palabras, las plasma chains se encargarán de aliviar la carga de trabajo general de la red principal.
Si nos fijamos en el documento técnico del Plasma de Ethereum, es decir, en su whitepaper, veremos como cuenta con una aplicación interesante sobre las «MapReduce computations». El MapReduce se trata, a grandes rasgos, de un conjunto de funciones orientadas a organizar y computar datos de múltiples bases de datos.
Las MapReduce, adaptadas al contexto de Plasma, se tratan de una base de datos en la cadena de bloques. Estas presentan una estructura de árbol que ofrece la posibilidad de aplicar el propio MapReduce para lograr facilitar la verificación de los datos que se encuentran dentro del árbol de cadenas. Este mecanismo aumenta en gran nivel la eficiencia de la red.
Respecto a la comunicación entre las child chains y la root chain, ésta se encuentra respaldada por lo que conocemos como fraud proofs o pruebas de fraude. Gracias a ello la root chain se responsabiliza del mantenimiento de la seguridad de la red. Además, castiga a los actores maliciosos que intenten corromper la red.
Cada child chain cuenta con sus propios mecanismos de validación de bloques. Además, también cuentan con una implementación particular de las fraud-proof o pruebas de fraude que se puede desarrollar en diversos algoritmos de consenso. Lo más común es desarrollarlo en Proof of Work, Proof of Stake y Proof of Authority.
Si por alguna razón llega a haber actividad maliciosa, las pruebas de fraude permitirán a los usuarios reportar la deshonestidad de los nodos, así la protección de sus fondos y abandonar la transacción. Esto implica una interacción con la main chain. Tras toda esta explicación podemos entender que las fraud proofs funcionan como un mecanismo que permite a una child chain de Plasma imponer una queja a su root chain o cadena pariente.
El problema de salida masiva o Mass Exit es uno de los motivos principales de preocupación relacionados con Plasma. Este problema relata un escenario donde numerosos usuarios intentan salir de su cadena de Plasma a la misma vez. Las consecuencias de este hecho es la anegación de la root chain y la generación de una gran congestión de la red.
Esta situación puede darse a raíz de actividades fraudulentas, así como por un ataque a la red o cualquier otro tipo de fallo crítico que una child chain de Plasma, o un grupo de cadenas, puedan atravesar.
En resumen, El Plasma de Ethereum se trata de un proyecto de código abierto. Se trata de una solución off-chain que busca incrementar de forma significativa el desempeño general de la red Ethereum. Todo ello mediante el desarrollo de una nueva estructura de numerosas cadenas más pequeñas en forma de árbol. Estas cadenas serán las encargadas de disminuir la carga de trabajo de la red principal, lo cual llevará al manejo de una mayor cantidad de transacciones por segundo.
Ethereum Plasma es un proyecto open-source cuyo repositorio está disponible en GitHub. Además de Ethereum, existen otros proyectos y repositorios trabajando en Plasma. Algunos ejemplos son OmiseGO, FourthStateLab y Loom Network.