DApps

De ALDEA WIKI
Ir a la navegación Ir a la búsqueda
Diferencias entre dApps y Aplicaciones tradicionales

Las dApps, Decentralized Applications o Aplicaciones Descentralizadas, son aplicaciones o piezas de software con una interfaz gráfica, ejecutadas y administradas por múltiples usuarios en una red descentralizada, es decir, son aplicaciones que no están gestionadas por organismos centralizados (como empresas) y donde los usuarios se relacionan directamente entre ellos, sin intermediarios. Generalmente, estas operaciones, se realizan a través de una blockchain.

En otras palabras, las dApps son una categoría especial de aplicaciones que funcionan en base a una red descentralizada de computadoras u ordenadores. Los datos generados por esta aplicación, están alojados en una red de computadoras que permite que esta información se mantenga segura y accesible.

Por lo tanto, una dApp es una aplicación que en vez de ejecutarse sobre un servidor central, se ejecuta en una red formada por miles de nodos u ordenadores.

Diferencias entre dApps y Aplicaciones Tradicionales

Para comprender mejor las diferencias entre una dApp y una Aplicación Tradicional, es necesario destacar dos propiedades fundamentales: el backend y el almacenamiento de datos.

Diferencias en el backend

El backend es la parte de la app que el usuario final no puede ver. Su función es acceder a la información que la persona, a través de la app, solicita para luego combinarla y devolverla al usuario. Alude a la "lógica" de la aplicación que la hace funcionar.

En el caso de las aplicaciones tradicionales, toda esta lógica está centralizada en un ordenador central o servidor. En las dApps, el backend está gobernado por un Smart Contract que se ejecuta sobre una blockchain, como por ejemplo, Ethereum. Esto le concede otra serie de ventajas como que al ser basado en un contrato inteligente público, se garantiza un elevado nivel de transparencia y seguridad.

Diferencias en el almacenamiento de datos

En las aplicaciones centralizadas tradicionales, los datos por lo general se almacenan en un ordenador central. Esto hace que, ante un posible ataque a ese servidor central, quede comprometida la totalidad de la información de los usuarios.

En las dApps, en cambio, los datos quedan almacenados en la red de ordenadores o blockchain y de esta forma se garantiza que nunca se pierdan los datos del usuario.

Historia de las dApps

Las dApps tienen origen a fines de la década de 1990 e inicios del año 2000. Para ese entonces, las primeras aplicaciones de redes P2P fueron algunas muy conocidas como Napster, eMule o BitTorrent. Éstas, se consideran aplicaciones descentralizadas porque la información a la que acceden estas aplicaciones de descarga, están en la red de nodos u ordenadores que la conforman. Dicho de otra manera, si una persona conectaba su ordenador a la red de BitTorrent, podía acceder y descargar contenidos que estaban en el ordenador del resto de usuarios. Así también, el usuario podía poner su contenido disponible para que pueda ser descargado por terceros.

El concepto de Aplicación Descentralizada fue evolucionando con el tiempo y en el año 2009, con el nacimiento de Bitcoin, dio un salto del que no había vuelta atrás. La red Bitcoin, fue la primer dApp de todo el mundo que utilizaba blockchain.

Luego, en 2014, nació Ethereum. La segunda dApp que utilizaba blockchain. El uso del lenguaje Solidity para construir smart contracts, ayudó a impulsar esta tecnología.

Es sustancial destacar la importancia de Ethereum en el desarrollo de las dApps, ya que no todas las redes blockchain permiten crear aplicaciones descentralizadas. La más conocida de las que lo hacen es Ethereum, que permitió crear el software que corre sobre su blockchain y abrió un mundo de oportunidades para desarrolladores, empresas y entusiastas, brindando las herramientas para el desarrollo de las dApps, a través de sus smart contracts.

Estos contratos inteligentes almacenan y distribuyen las líneas de código de un programa dentro de una blockchain.

Miles de dApps ya fueron creadas en Ethereum, una red que es cada vez más popular. Pero lo mismo puede hacerse sobre otras redes, como es el caso de Cardano y muchas otras.

Características de las dApps

Cada dApp utiliza una infraestructura distinta para lograr un objetivo concreto. Lo que sí comparten, es el esquema conceptual. El funcionamiento de una aplicación descentralizada está estrechamente relacionado con el software como tal, que otorga a estas herramientas las siguientes cualidades:

Seguridad

La principal virtud de una dApp es la seguridad. El hecho de que estas aplicaciones sean ejecutadas sobre una red formada por miles de nodos, le otorga la seguridad de que, aunque se caiga uno o varios nodos de la red sobre la que funciona, ésta puede seguir funcionando gracias al resto de los nodos.

Esto no ocurre en el caso de una aplicación centralizada que se encuentra ejecutando en un servidor central, ya que si este es atacado, afectará la continuidad del servicio y la aplicación dejará de funcionar. En ocasiones, algunas aplicaciones como WhatsApp (centralizada) dejan de funcionar durante horas u esto se debe al mal funcionamiento o caída de su servidor central.

Descentralización

‍La descentralización es una característica fundamental de las dApps. Cuando una app es creada sobre una blockchain que apunta a la descentralización, hereda la característica de no depender de ningún control central.

Por lo tanto, las dApps resultan programas abiertos, accesibles y que no precisan de servidores centrales.

Comparadas a las aplicaciones tradicionales o centralizadas, las dApps tienen ventajas como la inmutabilidad de los datos o la resolución del problema de la confianza.

La descentralización es una gran ventaja de las dApps. Sobre todo para aquellas aplicaciones que requieran un elevado nivel de tolerancia a los fallos. Ésta es una ventaja competitiva que se incrementa con el tiempo, pues conforme más grande se haga la red en la que se apoya dicha dApp, más ordenadores o nodos habrán en el sistema y más complicado será que este deje de funcionar o colapse.

Software de código abierto

Uno de los grandes pilares de las dApps, es que su construcción se ha desarrollado en torno a software libre o de código abierto. Esto permite que exista un elevado nivel de transparencia y seguridad y habilita a más desarrolladores a tener acceso al código detrás, para dar servicio y soporte a la red.

El software estándar en aplicaciones tradicionales, es creado y controlado por una empresa o entidad, una "autoridad central" que puede cambiar sus términos y condiciones en cualquier momento.

En las dApps, todo el proceso está a la vista y es generalmente abierto. No se necesita confiar en las personas e instituciones que operan en la red, y de hecho estas apps se pueden auditar ya que su código abierto está disponible al público en general para saber cómo funcionan.

Como este tipo de aplicaciones lleva su código grabado en una cadena de bloques inmutable (blockchain), su funcionamiento no puede ser alterado ni suspendido, y no existe el riesgo de un cambio arbitrario en las reglas de uso o el modelo de negocio de esa app sin el consentimiento de la comunidad.

En resumen, para que un software sea considerado como una dApp, debe cumplir los siguientes requisitos de acuerdo con BlockchainHub: debe ser de código abierto y sus datos y registros se deben almacenar criptográficamente. En la mayoría de las ocasiones, los contratos inteligentes se incluyen para la ejecución de instrucciones y la interconexión con la blockchain.

Funcionamiento

El funcionamiento de una dApp depende especialmente de dos componentes: una blockchain y un elemento de ejecución.

  • La blockchain es la que permite que la dApp pueda contar con una infraestructura de red descentralizada. Ésta garantiza los recursos en todo momento, además de servir de medio para el almacenamiento de información y como un medio para que los usuarios puedan interactuar con la misma.
  • El elemento o ambiente de ejecución, es el que permitirá que las dApps puedan ser diseñadas y ejecutadas bajo un marco de trabajo y comportamiento definido.

Por ejemplo, la blockchain de Ethereum, sería la infraestructura que permite a la dApp contar con una red descentralizada y los recursos que necesita para su funcionamiento. Esto incluye memoria, poder de procesamiento y almacenamiento, que son vitales para que una app funcione de forma correcta. El segundo elemento viene dado por la Ethereum Virtual Machine y Solidity. La unión de estos elementos permite crear el punto de ejecución de las dApps, ya que podemos programar el smart contract usando Solidity, compilarlo y hacer que la EVM ejecute dicho código cada vez que sea invocado.

Referencias

"Decentralized Applications – dApps" Token Economy, Shermin Voshmgir, 2020 - https://blockchainhub.net/decentralized-applications-dapps/

"¿Qué son las DApps o Aplicaciones Descentralizadas? y varios ejemplos" - Javier Sáez Hurtado, 25/02/22 https://www.iebschool.com/blog/dapps-o-aplicaciones-descentralizadas-que-son-y-como-funcionan-finanzas/#:~:text=Las%20DApps%2C%20%C2%ABDecentralized%20Applications%E2%80%9D,a%20trav%C3%A9s%20de%20una%20blockchain.

"¿Qué son las aplicaciones descentralizadas o dApps?" https://cointext.com/es/glosario/aplicaciones-descentralizadas/

"La magia detrás de las dapps" https://ethereum.org/es/dapps/#what-are-dapps

"Dapps, el boom de las aplicaciones descentralizadas", 12/05/21 https://launchpad.ripio.com/blog/dapps-el-boom-de-las-aplicaciones-descentralizadas



v1.0 - Escrito por Valentina, revisado por MRTN - 01-05-2022