Las aplicaciones descentralizadas o DApps (acrónimo de Decentralized Applications) son un tipo de aplicaciones construidas sobre tecnologías descentralizadas, cuyo objetivo es no depender de servidores centralizados para que el control de los datos y la información siempre esté en manos del usuario.
El concepto ha tomado gran interés desde la llegada de la tecnología blockchain. Sobre todo, con la irrupción de los smarts contracts en Ethereum, cuyo potencial permitió construir dichas aplicaciones. La teoría empezó a cobrar realidad cuando comenzaron a diseñarse las primeras aplicaciones descentralizadas sobre Ethereum, en forma de exchanges descentralizados (DEXs). Es decir, plataformas de intercambio P2P descentralizadas. El boom de DApps coincidió con el de las ICO. Las DApps permiten a los usuarios acceder a distintos servicios de forma segura, usando los diferentes dispositivos que tengan en su poder (PC, smartphones, etc).
¿Que son las aplicaciones descentralizadas (DApp) y cómo funcionan?
Seguramente te preguntarás qué elementos hacen posible el funcionamiento de una DApp. La explicación más sencilla la podemos ofrecer dividiendo la DApps en diferentes partes:
Las DApps y las apps tradicionales comparten muchos elementos en común. Por ejemplo, ambas necesitan de una infraestructura computacional y de lenguajes de programación para crear la lógica necesaria para su funcionamiento. La diferencia más marcada entre DApps y Apps tradicionales comienza aquí:
- En una DApp, el poder computacional proviene de una red de nodos descentralizados que generalmente se organiza a través de una blockchain o de otra infraestructura descentralizada. Mientras que en una App, el poder computacional generalmente viene de parte de nuestro computador (client-side apps o aplicaciones de lado cliente). O del servidor (server-side apps o aplicaciones de lado servidor), lo que denota una alta centralización.
- Ambas usan lenguajes de programación para su lógica, pero cada lenguaje es distinto, dependiendo del objetivo donde se despliega la aplicación. Por ejemplo, una DApp en Ethereum usa Solidity para los smart contracts on-chain, pero también puede usar otros lenguajes generales (Python, JavaScript) para crear interfaces y otras funciones adicionales que pueden o no centralizadas en su totalidad. Mientras que una aplicación tradicional usa lenguajes de carácter general. Es decir, no relacionado con blockchain, para generar esta lógica.
En este punto, veamos el ejemplo de Uniswap y conozcamos un poco cómo funciona esta DApp. Uniswap depende de muchos smarts contracts sobre Ethereum. Unos contratos inteligentes que son los que velan por los pools y toda la operativa de intercambios y tokenomics de este DEX. Esta parte es descentralizada en su totalidad y está escrita íntegramente en Solidity.
Uniswap, el banco DeFi al que han confiado más de 2.200 millones de $
Sin embargo, la web, su interfaz de usuario y servicios conexos son otra historia. Cuando te conectas a su Web, en realidad te estas conectado a un servidor centralizado, que depende de librerías y funciones escritas en lenguajes no blockchain. Como JavaScript, por ejemplo. Y tiene una serie de servicios centralizados que le permiten funcionar como un servicio Web (ej: CloudFlare).
Así tenemos dos capas muy claras:
- Backend: la capa que hace mención a la lógica de la aplicación descentralizada y que generalmente está totalmente desarrollada en smart contracts.
- Frontend: que viene a ser la interfaz que los usuarios utilizan para interactuar con la aplicación.
Lo que nos deja un claro mensaje: Uniswap tal como está construido en la actualidad está parcialmente descentralizado. Basta que sus servicios centralizados (web) caigan, para que la gran mayoría de personas no puedan acceder a Uniswap de la forma habitual.
Criptoagosto: las criptomonedas florecen en pleno criptoivierno
No son descentralizadas del todo
Lo anterior es una pequeña parte de cómo funciona una DApp. Imaginemos que la aplicación descentralizada tiene la necesidad de almacenar datos. Generalmente, en una aplicación centralizada esto no es problema. El almacenamiento se da de forma local o en el servidor. Pero una aplicación descentralizada puede usar alternativas descentralizadas como IPFS, Filecoin o Sia, para tal fin. Si bien aún hay partes que pueden estar centralizadas, la mayor parte de la DApp se descentraliza al máximo. En este caso, las opciones nombradas son perfectas para el almacenamiento de datos descentralizado.
Coinbase pierde $1.100 millones y la incertidumbre se ceba sobre su futuro
Otro punto es la comunicación con la red descentralizada que sostiene la aplicación. En el caso de Ethereum, generalmente los desarrolladores confían en un tercero de gran renombre como Infura, que forma parte del grupo ConsenSys. De esta manera pueden reducir costes, acceder a todo el poder de Infura y agilizar el desarrollo de sus aplicaciones. Sin embargo, este punto lleva a la centralización. Por ello nacieron opciones como Ankr, que ofrece casi los mismos servicios, pero en una red descentralizada. La necesidad de estos servicios es clara: la DApp debe comunicar al usuario con la blockchain para realizar las operaciones. De lo contrario, la DApp no funciona.
Criptoagosto: PoS Ethereum (19-S), un acontecimiento histórico para Blockchain
Por ejemplo, cuando conectamos nuestro monedero MetaMask a Uniswap, dicha conexión, generalmente, permite a Uniswap saber qué tokens y saldos tenemos. Al mismo tiempo, habilita que cualquier operación, pasada, presente o futura pueda realizarse. En este aspecto, los servicios de Infura, tanto del lado de Uniswap como de MetaMask, son los que hacen posible la interacción.
Seguridad, descentralización y privacidad
Finalmente, las DApps nos ofrecen acceso a grandes ventajas. Entre ellas, la seguridad, la descentralización y la privacidad. Las DApps son especialmente seguras debido a su funcionamiento descentralizado. Esto aplica especialmente a las aplicaciones basadas en blockchain, donde el uso de criptografía y la misma naturaleza de la blockchain, las hacen muy seguras.
Por otro lado, el hecho de que las aplicaciones sean descentralizadas asegura que la censura pueda ser mantenida a ralla en el uso y disfrute de tales aplicaciones. Finalmente, la privacidad que ofrecen este tipo de aplicaciones es superior. Sin duda, la privacidad es el elemento fundamental para querer cambiar a un modelo de aplicaciones descentralizadas.
También puedes seguirnos en nuestros canales de Telegram y Twitter
- Los procesadores ARM revolucionarán nuestros ordenadores - 25 noviembre, 2024
- ¿Por qué cae el uso de stablecoins ancladas al euro frente a las vinculadas al dólar? - 22 noviembre, 2024
- Te enseñamos a crear tu propia red social con BlueSky - 21 noviembre, 2024