Redistribución

Hablamos de aplicaciones de internet que funcionan sobre una red descentralizada. El trabajo se redistribuye entre los usuarios de la red. Esto significa que no pueden ser borradas o apagadas. Los usuarios en la red obtienen recompensas en forma de monedas digitales. Usualmente por proveer su capacidad computacional para que las aplicaciones funcionen.

La red descentralizada más grande para aplicaciones es Ethereum. Posiblemente hayas escuchado de la aplicación CryptoKitties. En esta aplicación, se pueden comprar ‘gatos’ digitales con criptomonedas. Esta funciona en un sistema descentralizado.

Cualquier persona que sepa programar en la red puede realizar el desarrollo de aplicaciones en la red de Ethereum. Esto debido a que es de código abierto (open-source).

¿Cómo funcionan las dAAPs (aplicaciones descentralizadas?

Las aplicaciones descentralizadas trabajan sobre blockchain. Los desarrolladores han mostrado un gran interés por estas aplicaciones. En el blockchain de Ethereum, que es la plataforma líder para dAPPs, ya tiene más de 1,000.

Este artículo provee de información para el desarrollo de dAPPs. Una comparación con las aplicaciones clásicas y herramientas útiles para el desarrollo de estas en el Blockchain de Ethereum.

¿Qué es una aplicación descentralizada?

A diferencia de las aplicaciones tradicionales que corren en plataformas como iOS y Android, las dAPPS no utilizan un servidor para guardar los datos. Por lo tanto, no hay restricciones en el desarrollo. Tampoco existen instituciones o grupos de personas que puedan cambiar sus reglas de funcionamiento.

El código de las dAPPs corre sobre una red descentralizada Peer-to-Peer (de particular a particular). En el caso de las aplicaciones clásicas, funcionan en un servidor centralizado. El código para visualizar las dAPPS puede ser escrito en cualquier lenguaje de programación. Incluso es posible crear una API para llamar al resto del código. Adicionalmente, el código de visualización puede ser localizado en un almacenamiento descentralizado como IPFS.

La diferencia principal entre APP y dAPP

La diferencia principal, sin embargo, es el proceso de pruebas del código (testing). Durante el desarrollo de aplicaciones descentralizadas, se deben hacer pruebas en la etapa de desarrollo. Una vez que se lanza la dAPP en la red de blockchain, no es posible hacer más cambios a los contratos inteligentes. Consecuentemente, cualquier error en el código puede resultar en la pérdida del dinero y dañar la reputación del proyecto.

Si se desestima el periodo de pruebas, podría resultar lo mismo que le sucedió al proyecto Parity. Los usuarios de esta cartera digital perdieron más de $300 millones de dólares en Ether. Esto sucedió un momento cuando la moneda no valía más de $300 dólares por Ether.

En el caso de las aplicaciones tradicionales, siempre hay un proceso de desarrollo rápido para lanzarlas al mercado. Después de probarlas y lanzar actualizaciones de seguridad.

Ethereum como pionero en el desarrollo de dAPPs

La primera plataforma de blockchain donde se creo un lenguaje completamente nuevo para contratos inteligentes fue Ethereum. Esto ha permitido que se convierta en el espacio preferido para el desarrollo de dAPPs. La mayoría de las 100 dAPPs más populares están en este blockchain. Ethereum tiene aproximadamente 30 veces más desarrolladores que cualquier otro proyecto de blockchain.

Desarrollar dAPPs en Ethereum requiere el conocimiento de su propio lenguaje de programación. A este se llama Solidity, relacionado con C++, Python y JavaScript. Un potencial sucesor experimental es Viper, que es mucho más sencillo que Solidity.

Sin embargo, hay alternativas como los proyectos Tendermint y Cosmos. Estos permiten crear dAPPs en lenguajes tradicionales como Python y JavaScript. Otro hecho es que el contrato inteligente de las dAPPs es una menor parte en todo el código.

Programar en el blockchain de Ethererum

Podrías también estar interesado en las noticias de la red Ethereum en 2020, dice Justin Drake. Hasta hace poco, encontrar información útil para los desarrolladores de Ethereum no era sencillo, incluso para aquellos con más experiencia. Otros además de Google Search o Stack Overflow. Es por esto que Corbin Page y Parker Place, de Meridio, y Leah Feuer, de ConsenSys Labs, han decidido crear una extensa lista de plataformas, servicios, herramientas e infraestructura para desarrolladores novatos y con experiencia.

Lee más sobre las aplicaciones descentralizadas justo aquí.