La escalabilidad es uno de los principales motivos de preocupación para la blockchain de Ethereum. Las limitaciones actuales que afronta la red en términos de capacidad y rapidez impiden que sea adoptada globalmente a mayor escala.
El Plasma de Ethereum fue propuesto por Vitalik Buterin, cofundador de dicha blockchain, y Joseph Poon. El concepto nació en agosto del 2017 como una técnica para solucionar los problemas de escalabilidad de la blockchain de Ethereum. Junto con Thaddeus Dryja, Joseph Poon sería también responsable de la concepción del Lightning Network, una solución para la escalabilidad de Bitcoin propuesta en 2015. A pesar de que Plasma y Lightning Network fueron en ambos casos propuestos como soluciones para la escalabilidad de blockchains, cada uno tiene sus propios mecanismos y particularidades.
Este artículo introducirá de forma concisa el Plasma de Ethereum, pero hay que tener en cuenta que el mismo no constituye un proyecto, sino una técnica de escalabilidad off-chain o un marco de trabajo para construir aplicaciones escalables, que puede ser implementado de distintas maneras por diferentes grupos de investigación o compañías.
¿Cómo funciona Plasma?
La idea principal del Plasma de Ethereum es establecer un marco de referencia a partir de side chains (cadenas laterales) que interactúen y se comuniquen con la main chain (cadena principal) lo menos posible -en este caso, la main chain será la blockchain de Ethereum. Este marco de referencia está siendo diseñado para operar como un blockchain tree, jerárquicamente organizado para así poder erigir numerosas cadenas menores encima de la principal (main chain). A estas cadenas menores también se las conoce como Plasma chains o child chains.
La estructura de Plasma se construye mediante el uso de smart contracts (contratos inteligentes) y Merkle trees (Árboles de Merkel), que permiten crear un número ilimitado de child chains -que a su vez son, en esencia, copias menores de su pariente, la blockchain de Ethereum. Sobre cada child chain pueden erigirse más cadenas, conformando de esta forma una estructura de árbol.
Básicamente, cada child chain de Plasma es un smart contract personalizable que puede ser diseñado para funcionar de una forma singular, satisfaciendo distintas necesidades. Esto significa que las cadenas pueden coexistir y operar independientemente. Eventualmente, Plasma permitirá a las compañías y negocios implementar soluciones de escalabilidad de diversas maneras, adaptándose a su contexto específico y necesidades.
Por tanto, si Plasma logra ser desarrollado e implementado en la red de Ethereum de forma exitosa, la main chain tendrá menos probabilidad de verse congestionada. Esto se debe a que cada child chain estará diseñada para trabajar de un modo distinto en pos de objetivos específicos, que no tienen por qué estar necesariamente relacionados con los de la main chain. En consecuencia, las child chains aliviarán la carga de trabajo general de la main chain.
Pruebas de fraude
La comunicación entre las child chains y la root chain está protegida por fraud proofs (pruebas de fraude). Esto significa que la root chain es responsable de mantener la seguridad de la red y castigar a los actores maliciosos.
Cada child chain tiene sus propios mecanismos de validación de bloques y una implementación particular de las fraud-proof que puede ser construida sobre diferentes algoritmos de consenso. Los más comunes son Proof of Work, Proof of Stake y Proof of Authority.
En caso de actividad maliciosa, las pruebas de fraude permiten a los usuarios reportar qué nodos están siendo deshonestos, proteger sus fondos y abandonar la transacción (lo que implica una interacción con la main chain). En otras palabras, las fraud proofs son utilizadas como un mecanismo que permite a una child chain de Plasma presentar una queja a su cadena pariente o root chain.
MapReduce
El whitepaper (documento técnico) de Plasma también presenta una aplicación interesante de las así llamadas MapReduce computations. El MapReduce es, básicamente, un conjunto de funciones que son muy útiles para organizar y computar datos de múltiples bases de datos.
En el contexto de Plasma, estas bases de datos son blockchains, cuya estructura de árbol permite aplicar el MapReduce como una forma de facilitar la verificación de los datos que están dentro del tree of chains (árbol de cadenas), lo que incrementa notablemente la eficiencia de la red.
Problema de Salida Masiva
Uno de los principales motivos de preocupación en relación con Plasma es el problema de Salida Masiva (Mass Exit en inglés). El mismo alude a un escenario en que muchos usuarios tratan de abandonar su cadena de Plasma a la vez, anegando la root chain y generando una gran congestión de la red. Este escenario podría ser provocado por una actividad fraudulenta, ataque a la red o cualquier otro tipo de fallo crítico que una child chain de Plasma, o un grupo de cadenas, puedan presentar.
Conclusión
Plasma es, esencialmente, una solución off-chain que aspira a incrementar significativamente el desempeño general de la red Ethereum, mediante la creación de una estructura de numerosas cadenas más pequeñas con forma de árbol. Estas cadenas aliviarán la carga de trabajo de la main chain, que será así capaz de manejar más transacciones por segundo.
Un modelo jerárquico de blockchains vinculadas, como propone Plasma, tiene un gran potencial y está siendo actualmente ensayado por numerosos grupos de investigación. Con el adecuado desarrollo, Plasma incrementará con toda probabilidad la eficiencia de la blockchain de Ethereum y proporcionará un marco de referencia más adecuado para el despliegue de aplicaciones descentralizadas. Además, la idea también puede ser adaptada e implementada por las redes de otras criptomonedas, como una forma de evitar futuros problemas de escalabilidad.
El Plasma de Ethereum es un proyecto de código abierto, cuyo repositorio puede encontrarse en GitHub. Aparte de Ethereum, hay muchas otras criptomonedas y repositorios de GitHub trabajando actualmente en Plasma. Entre ellos podemos citar OmiseGO, Loom Network y FourthStateLabs. Para más detalles e información técnica, se puede consultar el whitepaper de Plasma o la página web LearnPlasma.
Mantente conectado para más recursos educativos y no olvides consultar el resto de nuestros vídeos en Binance Academy.