Las DApps o bien aplicaciones descentralizadas, son un género de aplicación, cuyo funcionamiento se fundamenta en una red descentralizada de nodos interaccionando unos con otros.

DApp es el acrónimo de “Decentralized Applications” o bien “Aplicaciones descentralizadas”. Este es un género de aplicación, cuyo funcionamiento no depende de puntos de control o bien servidores centrales, sino que marcha basándonos en una red descentralizada. Una red en la que sus usuarios tienen el control total del funcionamiento de exactamente la misma. Las DApps dejan que las personas puedan acceder a diferentes servicios seguramente. Estas aplicaciones pueden ser usadas en computadores personales, móviles o bien aun ser alcanzables vía web.

Para tener una idea más clara de lo que es una Dapp, debemos meditar en una Aplicación (aplicación / servicio) tradicional. En esta categoría de aplicaciones tradicionales tenemos por poner un ejemplo YouTube, Fb, Twitter o bien Instagram. En todos esos servicios, los datos y resoluciones se toman en unos servidores centrales. Esto le deja a la compañía tras esos servicios, tomar acciones de censura, perturbación del comportamiento, o bien aun favorecer o bien dañar solamente a ciertos usuarios poniendo en incesante lona de juicio la neutralidad y también igualdad de condiciones. Ellos actúan como dictadores, solo puedes confiar en que van a ser “buenos”.

El origen

El término de DApps no es nada nuevo. Las primeras DApps conocidas se vieron en los protocolos de compartición de ficheros como BitTorrent o bien DC++. Las dos aplicaciones, son sistemas peer-to-peer de compartición de ficheros con alta resistencia a la censura. No obstante, la primera DApp utilizando blockchain fue, el mismísimo Bitcoin. Esto es por el hecho de que su estructura y funcionamiento describe exitosamente la primera DApp blockchain de la historia.

Sin embargo, no fue hasta dos mil catorce con la presentación de Ethereum, su lenguaje Solidity y la capacidad de ejecutar smart contracts que las DApps se masificaron. Y es que merced a esta triada, las DApps marchando sobre blockchain empezaron a hacerse muy populares. Una situación que puede llevar a la adopción masiva de la tecnología blockchain al permitir nuevas formas de interacción entre los usuarios, el planeta real y el virtual.

Diferencias entre una DApp y una Aplicación tradicional

Las DApps y las Aplicaciones tradicionales tienen muchos elementos en común, no obstante, su diferencia se encuentra en de qué forma interaccionan con dichos elementos. Los dos géneros de aplicaciones tienen 3 estructuras básicas que son: el frontend, el backend y la capa de almacenaje de datos.

Frontend

La primera capa, el frontend, viene a ser la interfaz que los usuarios emplean para interaccionar con la aplicación. En un caso así, tanto las DApp como las Aplicación tradicionales, pueden hacer empleo de los enormes recursos gráficos existentes para esto. Desde interfaces web escritas en HTML5 hasta las más elaboradas, en framework como Qt o bien GTK. La finalidad de esta capa es sencillamente, dar al usuario la capacidad de interaccionar, percibir y mandar información a la aplicación que esté utilizando.

dapps-esquema

Backend

Esta segunda capa hace mención a la lógica primordial de la aplicación. En una aplicación tradicional, esta lógica es centralizada, en contraste a las DApps en la que está descentralizada. En las DApps, el backend está relacionado a un smart contract que se ejecuta sobre una blockchain, por servirnos de un ejemplo Ethereum. Así, un smart contract tiene una programación que garantiza el funcionamiento de la DApp. Siendo los smart contract perceptibles y públicos, esto garantiza un nivel alto de trasparencia y seguridad. Los usuarios pueden estar seguros que la DApp no va a hacer nada diferente a lo que detalla el smart contract.

Adicional a esto, el backend es soportado por las API (Interfaz de Programación de Aplicaciones) y capacidades de la blockchain. Por poner un ejemplo, en Ethereum existen diferentes API para supervisar la interacción del usuario con las capas de almacenaje o bien autentificación por poner ciertos ejemplos.

Almacenamiento de datos

Por último, está la capa de almacenaje. En una aplicación tradicional, está capa asimismo es centralizada. En general los datos son guardados en el ordenador del usuario o bien en servidores controlados por terceros. Esta forma de trabajo, tiene muchos puntos de fallos. Un usuario por poner un ejemplo, puede perder la información de la aplicación si su ordenador se daña. Asimismo puede ocurrir que los servidores queden fuera de servicio o bien sean bloqueados. Acciones que impedirían que el usuario pueda utilizar la aplicación con corrección o bien aun pierda información.

Pero en las DApp, el almacenaje de datos es totalmente descentralizado asimismo. Cada usuario de la DApp guarda un historial completo de las acciones que se efectúan en internet DApp. Auxiliar a esto, las interactúes son guardadas en la blockchain en los bloques de exactamente la misma. Todo ello de forma criptográficamente segura, impidiendo acceso no autorizados por terceras personas. Así, si el ordenador o bien móvil de un usuario se dañara, bastaría con utilizar la DApp en un nuevo dispositivo para recobrar su información hasta ese preciso instante. Añadamos además de esto que el nivel de redundancia y seguridad con los datos, aumenta conforme haya más usuarios usando la DApp.

¿De qué manera marcha una DApp?

Una DApp marcha de forma semejante a una red blockchain. En un caso así, cada usuario de la DApp es un nodo en la red. Cada usuario, candela por el adecuado funcionamiento y las operaciones que se efectúan en tal red.

El canal de comunicaciones que emplea la DApp es la blockchain. En ella, se deja registro de cada operación que pasa por el smart contract que controla la DApp. La aceptación o bien no de las operaciones efectuadas por los usuarios de la DApp, va supeditada a la programación de tal smart contract. De esa forma, se busca asegurar que todos y cada uno de los participantes actúen en el marco de lo detallado por exactamente el mismo.

El smart contract en un caso así, es un punto intermedio que se hace cargo de confirmar la valía de cada interacción. Toda vez que hay una nueva operación en la DApp, la información de la plataforma se actualiza en todos y cada nodo. Con esto se asegura que la información quede guardada en cada uno de ellos de ellos. De esa forma, cada usuario contribuye a sostener de pie la aplicación con los recursos de su computador. Esta estructura asimismo garantiza que la plataforma siempre y en todo momento va a estar en servicio. Esto debido a la imposibilidad de dar de baja a todos y cada uno de los nodos de la red al tiempo. Una situación que puede darse por un ataque informático o bien otras razones como la censura.

En este punto, las DApps llevan un enorme avance, puesto que al trabajar y ejecutarse sobre una blockchain, disfrutan de sus capacidades de seguridad, privacidad e inclusive anonimato. De manera adicional, garantizan asimismo que la data utilizada por la DApp solo es alcanzable por la persona que produjo dicha información. Con lo que los usuarios sostienen un control absoluto de sus datos en todo instante.

Características de las DApps

Seguridad

Esta es una de las primordiales peculiaridades de las DApps. Esto merced a que, exactamente la misma marcha sobre una blockchain que utiliza criptografía fuerte para asegurar los datos que maneja. Este primer punto, asegura que la información solo puede ser vista por quien la produce y el resto solo puede contrastar su valía o bien no. En ningún instante, la información producido por un usuario es perceptible para otros.

Adicional a esto, los datos que maneja la aplicación están en todo instante bajo posesión del usuario. Las DApps no guardan información en la nube o bien servidores externos. Esto minimiza los peligros asociados al hurto de información privada o bien la venta de exactamente la misma por la parte de la compañía, vulnerando de esta forma la privacidad del usuario.

seguridad-dapp

Descentralización

Otra de las primordiales peculiaridades de la DApps es su descentralización. O bien lo que es exactamente lo mismo, la capacidad de marchar sin servidores centrales. Para poner esto en mejor perspectiva tengamos presente el próximo ejemplo:

Facebook es una de las redes sociales más empleadas a nivel del mundo. Con más de dos mil millones de usuarios, sus centros de datos manejan una gran carga de datos. En este punto, sostener su infraestructura en funcionamiento es una enorme tarea. Una que no ha quedado exenta de fallos, los que han llevado a que la red no esté libre a escala global. Todo ello por el hecho de que Fb es una red social centralizada.

Sin embargo, una DApp carece de este punto de fallo merced a la descentralización. Cada usuario de la DApp tiene un historial completo de las acciones llevadas en la DApp. Algo como una copia global de todo cuanto ha pasado. Debido a esto, y a que se ejecuta sobre una blockchain, basta que solo un usuario esté activo a fin de que la red prosiga marchando sin inconvenientes. De este modo, se asegura que la DApp y su red siempre y en toda circunstancia funcione y no pase el caso de Fb.

Decentralized-Network

Código abierto

Esta es otra peculiaridades muy habitual de las DApps. El hecho de que el código fuente esté libre garantiza un elevado nivel de trasparencia de la aplicación. Esto merced a que la comunidad puede saber en todo instante que hace la DApp. Además de esto deja efectuar auditorías comunitarias, con lo que cualquier persona con los conocimiento puede comprobar el código fuente de la aplicación. Esto deja mejorarla y en todo caso proseguir su desarrollo caso de que el proyecto sea descuidado por sus autores originales.

Todas las DApps sostienen en forma pública el código fuente de sus smart contracts y el resto de unas partes de la aplicación. Así, cualquier persona puede inspeccionar el código, mejorarlo o bien forkear exactamente el mismo.

Open Source

Herencia blockchain

Las DApp interaccionan sobre la blockchain en la que se ejecuta su smart contract. Esto significa, que cada interacción en la DApp produce una entrada de datos en la blockchain. Estos datos son guardados de forma criptográfica para de este modo incorporar trasparencia y seguridad. Todas y cada una estas acciones pueden ser revisadas en público en el explorador de bloques de la blockchain.

Pero solo pueden verse las interactúes criptográficas, los datos en su totalidad están guardadas de forma criptográficamente segura. Auxiliar a esto, el hecho de que una DApp funcione sobre una blockchain quiere decir que para contrastar cada interacción se emplea un protocolo de acuerdo. Este puede ser el de Prueba de Trabajo (PoW) o bien el de Prueba de Participación (PoS) o bien el que escoja el desarrollador de la DApp. Con esto se busca asegurar exactamente el mismo nivel de seguridad aplicable a la blockchain sobre la DApp.

Clasificación de las DApps

Las DApps pueden ser clasificadas en 3 categorías, que son:

Tipo I

En esta clasificación entran todas y cada una aquellas DApps que tienen su blockchain. O sea, aquellas que tienen su infraestructura y no dependen de ninguna blockchain para ejecutarse. En este punto, Bitcoin es la primera DApp blockchain que ha existido. Lo mismo aplica para Bitcoin Cash, Litecoin, Ethereum, Dash, Monero, entre otras muchas.

Tipo II

En esta clasificación nos hallamos aquellas DApps que dependen de una blockchain y sus peculiaridades para marchar. En este punto, estas DApps pueden marchar utilizando tokens propios o bien de la blockchain sobre la que se ejecutan. Un caso de este caso es Golem.

Golem es una DApp que marcha sobre la blockchain de Ethereum. Fue creada con la intención de permitir a sus usuarios, arrendar recursos de computación para procesar datos para diferentes usos. Piensen en Golem como una supercomputadora descentralizada de la que podemos arrendar poder de procesamiento. Para conseguir esto, Golem cuenta con un token ERC-veinte, el GNT (Golem Network Token). Este token se emplea para abonar a los usuarios que arriendan su poder de cómputo y para otras actividades en la red.

Tipo III

Las DApps de esta clase, usan DApps de tipo II para su funcionamiento. Por norma general, los DApps tipo III, utilizan los tokens de las DApps tipo II, para efectuar sus operaciones. Un caso de estas DApps es, Safe Network. Safe Network se apoya en Omni Layer, una DApp tipo II, para producir la Safecoin, su criptomoneda. Esta criptomoneda es empleada en Safe Network con la intención de efectuar todas y cada una de las operaciones en dicha DApp.

Limitaciones de las DApps

Algunas de las restricciones más esenciales de las DApps son las siguientes:

  1. Dificultad de explotar el entero potencial del hardware de los dispositivos de los usuarios. Esto es singularmente cierto para DApps que se ejecutan desde navegadores web. Algo que se debe a la cantidad de capas de abstracción y el muy alto nivel de ejecución de los lenguajes de programación usados.
  2. La dificultad de la aplicación en muchas ocasiones puede hacer bastante difícil su depuración y revisión de seguridad. Esta situación es en especial crítica en la programación de los smart contracts. Esto debido a que una vulnerabilidad en exactamente los mismos, puede afectar a todos y cada uno de los usuarios de la DApp al tiempo.
  3. El desarrollo y mejora de las DApps está atado al enriquecimiento de las mejoras en las estructuras blockchain. Una DApp puede tener un desarrollo vivísimo, mas este se va a ver frenado si el desarrollo de la blockchain y sus herramientas es pobre o bien inexistente. En este punto, la relación de desarrollo entre las DApps y la blockchain es simbiótica. Las dos deben continuar su desarrollo con la intención de llegar a objetivos de largo plazo.
  4. Dificultad para incorporar funcionalidades precisas para el adecuado funcionamiento de las DApps. Ciertas DApps son sencillísimas en sus requerimientos de programación, otras no tanto. Tomemos por poner un ejemplo, la DApp Golem y su sistema de computación descentralizada. La primordial complejidad del proyectos es orquestar el almacenaje de datos procesados y por procesar en la red. Además de esto otro inconveniente que presenta es la sincronización en el momento de efectuar procesos de cómputo para una determinada labor asignada a los nodos. Todo esto hace cuesta arriba el desarrollo de todas y cada una de las enormes posibilidades de Golem, mas es un reto que los desarrolladores han asumido en su totalidad.

¿Cuánto sabes, criptonauta?

¿Las DApps tienen el potencial de llevar a la adopción masiva de la tecnología blockchain?

Ejemplo de ciertas DApps

CryptoKitties

Este fue uno de los primeros juegos del planeta que se ha creado basándose en la tecnología blockchain. CryptoKitties, va de coleccionar “gatitos virtuales únicos”. Cada uno de ellos de estos gatos tienen peculiaridades y propiedades que le hacen diferentes al resto. Es exactamente su extrema extrañeza, lo que les da valor y vendría a ser la criptomoneda del juego. Los gatos pueden ser comprados y vendidos, consiguiendo de esta manera su propiedad de forma virtual.

Adicionalmente a esto, podemos hacer “cría” de gatos en CryptoKitties. O sea, podemos unir a 2 gatos para conseguir una descendencia genética única. el que vamos a poder sostener, criar más adelante o bien vender para hacer negocio. CryptoKitties se ejecuta sobre la blockchain de Ethereum, es una DApp del tipo II.

cryptokitties

NASH

Esta es una DApp tipo II que se ejecuta sobre la blockchain de NEO. El propósito de NASH, es ejecutar un motor de coincidencia off-chain para permitir intercambios considerablemente más veloces y complejos que los intercambios descentralizados existentes.

Saturn Network

Saturn Network es un intercambio descentralizado para el comercio de tokens ERC-20 o bien ERC-doscientos veintitres. Marcha basándonos en una cross-chain libre en Ethereum y Ethereum Classic. Saturn Network ofrece un sistema de intercambio veloz y sin esmero, puesto que no es preciso rellenar un KYC o bien configurar una cuenta.

Crazy Dogs Live

Crazy Dogs Live es un sistema de juegos de apuestas centrado en crear una plataforma transparente, segura y llena de diversión para sus usuarios. Está dirigida a las carreras de perros con funciones renovadoras de minería de apuestas y transmisión en vivo. Además de esto deja a los jugadores interaccionar entre sí y gozar de una tremenda diversión con los juegos mientras que consigue ganancias. La plataforma asimismo lanzará otras peculiaridades en un futuro próximo a fin de que todo el ecosistema del juego medre exponencialmente.

Crazy Dogs Live es una DApp tipo que se ejecuta sobre la blockchain de TRON.