¿Qué es DApp?

PrincipianteDec 01, 2022
DApp es la abreviatura de Aplicación Descentralizada. Las DApps son los proveedores reales de varios servicios (como Defi, NFT, etc.) en el mundo de las criptomonedas. El ecosistema de blockchain es diverso y complejo, con muchas DApps, cadenas públicas y otros proyectos.
¿Qué es DApp?

De Bitcoin a Ethereum: los orígenes de las DApps

El 3 de enero de 2009, Satoshi Nakamoto extrajo el bloque de génesis de Bitcoin en un pequeño servidor en Helsinki, creando así un mundo criptográfico en rápida evolución. Bitcoin se basa en la tecnología de "libro mayor distribuido", y la esencia de bitcoin es en realidad el saldo registrado en este "libro mayor distribuido" (es decir, UXTO, gastos de transacción no gastados). Bitcoin es sin duda un invento brillante, pero su aplicación tiene algunas limitaciones. Debido a que el lenguaje de secuencias de comandos basado en UXTO solo puede admitir transacciones simples, es difícil implementar una lógica más compleja en la red de Bitcoin. Esto ha limitado el uso de Bitcoin al "oro digital", lo que dificulta su uso más generalizado.

Ethereum y contratos inteligentes

Inspirado por Bitcoin, Vitalik Buterin publicó "Ethereum: una plataforma de aplicaciones descentralizadas y criptomonedas de próxima generación" en la revista Bitcoin Magazine en 2014, en el que propuso por primera vez contratos inteligentes en un intento de crear un sistema de cadena de bloques más utilizado a partir de un protocolo básico, que ahora se conoce como Ethereum, la cadena pública inteligente dominante en este momento.

En el libro blanco de Ethereum, Vitalik menciona los objetivos del proyecto: "Lo que Ethereum pretende proporcionar es una cadena de bloques con un lenguaje de programación completo de Turing integrado que se puede usar para crear "contratos" que se pueden usar para codificar funciones de transición de estado arbitrarias, que permiten a los usuarios crear cualquiera de los sistemas descritos anteriormente, así como muchos otros que aún no hemos imaginado, simplemente escribiendo la lógica en unas pocas líneas de código”. En pocas palabras, se trata de crear una plataforma que pueda ejecutar contratos inteligentes y aplicaciones descentralizadas (DApp).

Un contrato inteligente es similar a un "acuerdo exigible" entre una persona y una máquina que se llevará a cabo una vez que se cumpla una condición predefinida. Como resultado, los contratos inteligentes pueden considerarse como un "intermediario confiable". La innovación más significativa de Ethereum son los contratos inteligentes, que también son la base de su vasto ecosistema. A diferencia de los scripts de transacción de Bitcoin, los contratos inteligentes de Ethereum son Turing-complete, lo que significa que teóricamente es capaz de cualquier cálculo posible y, por lo tanto, tiene posibilidades ilimitadas.

Máquina virtual Ethereum y DApp

Si Bitcoin es esencialmente un "libro mayor distribuido" con funciones de secuencias de comandos, Ethereum probablemente esté más cerca de una "máquina de estado distribuida". Las cuentas en Ethereum se clasifican en dos tipos: cuentas de propiedad externa, controladas por usuarios normales que usan sus claves privadas, y cuentas de contrato, que tienen códigos de contrato almacenados internamente pero no tienen las claves privadas correspondientes y, por lo tanto, no pertenecen a nadie.

El estado de toda la red Ethereum es una gran estructura de datos (Merkle-Patricia Tree) que contiene el estado de todas las cuentas, sus saldos, así como las reglas para cambiar el estado. El estado de Ethereum cambia constantemente a medida que se agregan nuevos bloques a la cadena. Por lo tanto, puede pensar en Ethereum como una "computadora pública distribuida" (una máquina virtual) y las diversas DApps como programas de software instalados en esta computadora.

En Ethereum, una DApp es esencialmente una colección de contratos inteligentes, cada uno con su dirección de contrato única. Una vez que el código del contrato está completo, debe iniciarse mediante una transacción externa a la cuenta del contrato. Los desarrolladores pueden crear fácilmente DApps basadas en contratos inteligentes y ejecutarlas en máquinas virtuales Ethereum utilizando herramientas oficiales. Debido a que la máquina virtual Ethereum tiene una potencia informática limitada, los usuarios deben usar ETH como "gas" para alimentar la DApp y la máquina virtual.

Expansión de ecología DApp

Desde el inicio de los contratos inteligentes de Ethereum, la cantidad de DApps ha crecido y el área de cobertura se ha expandido. Vitalik imaginó tres tipos de aplicaciones de Ethereum en el libro blanco de Ethereum: no financieras, semifinancieras y financieras. Las aplicaciones no financieras incluyen la votación en línea, la gobernanza descentralizada, etc.; las aplicaciones semifinancieras incluyen pagos de recompensas inteligentes, etc.; y las aplicaciones financieras (es decir, Defi) son las más influyentes, y Ethereum brinda un enfoque contractual flexible y confiable para crear tokens nativos de protocolo, derivados financieros, contratos de cobertura y otras aplicaciones.

Aunque Ethereum es la cadena pública más popular con el ecosistema DApp más diverso, también enfrenta congestión de red, baja eficiencia y altas tarifas. Más tarde, cuando surgió una nueva generación de cadenas públicas inteligentes de alto rendimiento como EOS, Solana y Flow, establecieron sus propios ecosistemas DApp. Actualmente, las categorías de DApp más populares son juegos, Defi, colecciones NFT y Social-Fi. Game DApps tiene una ventaja significativa en términos de número total y UAW (número de billeteras activas únicas), mientras que los proyectos Defi (como Dex, préstamos, etc.) toman la delantera en términos de volumen de transacciones.

Puede verificar los usuarios activos, el volumen de transacciones y otros datos de varias DApps en las principales cadenas de bloques en sitios de datos como DAppRadar y DAppReview. La cantidad de DApps enumeradas solo en DappRadar había superado las 12,000 en noviembre de 2022.

Fuente: DApp Radar

Composición y características de DApp

DApp tiene muchas similitudes con la aplicación en Internet tradicional, y la relación entre DApp y blockchain es similar a la que existe entre la aplicación y los sistemas operativos como IOS o Android. Una DApp se ejecuta en cadenas de bloques, al igual que una aplicación se ejecuta en varios sistemas operativos. El uso de una DApp en un navegador puede parecer similar al uso del software SaaS para un usuario.

Una DApp típica consta de tres partes con una funcionalidad similar a la estructura de tres niveles de una aplicación típica: back-end (módulo comercial), base de datos (módulo de almacenamiento) y front-end (interfaz de usuario).

Módulo de negocio: contrato inteligente

Los contratos inteligentes sirven como base programática para implementar la lógica comercial de una DApp. Los contratos inteligentes se almacenan en la cadena de bloques en las direcciones de los contratos, y los datos de entrada se transmiten entre las direcciones de los contratos para realizar las funciones de la DApp de acuerdo con la lógica predefinida y activar la transformación de estado de toda la máquina virtual. Sin embargo, a diferencia de una aplicación tradicional, el contrato inteligente también almacena el estado actual de la DApp, que también es la naturaleza de la propia cadena de bloques.

Módulo de almacenamiento: almacenamiento de datos

El proceso de flujo de datos está en el corazón de cualquier aplicación o DApp. Los datos se transfieren del módulo de almacenamiento al módulo comercial para su procesamiento, de modo que los usuarios puedan interactuar con el front-end. Los datos de la aplicación generalmente se almacenan en un servidor centralizado, mientras que los datos de DApp se pueden almacenar por completo en la cadena; sin embargo, por razones de eficiencia y costo, muchas DApps almacenan la mayoría de los datos fuera de la cadena, en servicios como IPFS, y solo almacenan datos importantes del módulo comercial en la cadena de bloques.

Interfaz de usuario: interacción frontal

El front-end es donde los usuarios generales pueden acceder fácilmente para usar el código de contrato inteligente incluso sin un conocimiento detallado de programación. Hay poca diferencia en el desarrollo front-end entre DApp y App; ambos están construidos con tecnologías generales como HTML y JavaScript. Sin embargo, debido a que el uso de una DApp requiere interacción con contratos inteligentes, el front-end debe proporcionar una interfaz programática que permita aplicaciones de billetera (como Metamask).

Fuente: Ethereum DApp Architecture Fuente: La arquitectura de una aplicación Web3

Las DApps tienen las siguientes características en comparación con las aplicaciones tradicionales:

Las DApps no dependen de servidores centralizados sino de cadenas de bloques, que se ejecutan en máquinas virtuales descentralizadas. Estas son las características esenciales de las DApps, pero también tienen algunas ventajas y desventajas significativas:

Ventaja

Cero tiempo de inactividad

Si el servidor centralizado falla, el programa no estará disponible por completo; sin embargo, para una DApp, la caída de un solo nodo no tiene ningún efecto sobre el funcionamiento del programa en la cadena de bloques. Las DApps suelen tener costos operativos más bajos que las aplicaciones tradicionales porque los contratos inteligentes nunca dejan de ejecutarse una vez que entran en la cadena. Las DApps a menudo tienen costos operativos más bajos que las aplicaciones tradicionales.

No se requiere licencia

La interacción con DApps se realiza únicamente a través de la dirección de la billetera sin necesidad de proporcionar información personal completa cuando solicita una cuenta financiera general. Esto no solo elimina la necesidad de revelar la privacidad personal, sino que también reduce significativamente el umbral para que cualquier persona con una billetera criptográfica pueda acceder fácilmente a la mayoría de las DApps.

El código es ley

Debido a la característica de evidencia de manipulación de blockchain, las DApps se basan en la lógica del código de los contratos inteligentes para operar, por lo que una vez que se carga en la cadena, es imposible modificarla a menos que el desarrollador conserve el permiso para cambiarla; y una vez que se implementa la aplicación, existirá para siempre, y es teóricamente imposible restringir el acceso de cualquier persona en el mundo.

Desventajas

Limitada por la escalabilidad, la eficiencia de DApp es baja

Las DApps generalmente funcionan de manera menos eficiente que las aplicaciones tradicionales debido a la descentralización e incluso pueden no estar disponibles temporalmente debido a la congestión de la cadena de bloques.

En teoría, todas las acciones en la cadena requieren tarifas de gas.

Debido a la capacidad de procesamiento limitada de la máquina virtual blockchain, los usuarios deben pagar una determinada tarifa de gas a la red para interactuar con Dapp, lo cual es difícil para los usuarios que están acostumbrados a las aplicaciones gratuitas tradicionales.

Alta dificultad de mantenimiento de contratos inteligentes.

Una vez que el código del contrato inteligente está en la cadena, es difícil modificarlo, lo que hace que el desarrollo y el mantenimiento de DApp sean más complejos. También es difícil arreglar el código a tiempo una vez que sale mal.

El código de DApp suele ser de código abierto

Dado que la cadena de bloques está descentralizada, el código de la DApp debe ser de acceso público para todos los miembros de la comunidad. Esto también permite a los usuarios hacer su análisis de código y predecir el potencial del proyecto.

Sistema económico simbólico

Las funciones de las DApps a menudo se implementan a través de varios tokens, ya sea el token de la cadena de bloques correspondiente (p. ej., ETH) o el token emitido por la propia DApp (p. ej., UNI).

Cuellos de botella en el desarrollo de DApp

Aunque el ecosistema DApp está en rápido desarrollo, la influencia general de DApps sigue siendo limitada en comparación con las aplicaciones de clase mundial en Web2. Los siguientes cuellos de botella pueden surgir durante la implementación ecológica de DApp.

1. Escala de usuario y umbral de aprendizaje:

En términos de UAW, solo alrededor de 100 datos de DApps superan los 10,000. Incluso las DApps más populares solo reciben cientos de miles de direcciones independientes por día, lo que definitivamente palidece en comparación con el espacio Web2.

Los usuarios deben aprender conocimientos básicos como billeteras y cadenas de bloques para usar DApps. Por lo tanto, cambiar de aplicaciones Web2 a DApps generará costos de aprendizaje. Por el momento, las características prometidas contra la censura y la privacidad de las DApps no han demostrado su valor real, lo que hace que las DApps sigan siendo un producto de nicho entre los fanáticos de las criptomonedas.

2. Iteración de productos y riesgos de seguridad

Para que los usuarios sean lo primero y mejorar la calidad del producto en funcionamiento, los productos en Web2 suelen seguir la regla de desarrollo de "pequeños pasos, iteración rápida". Sin embargo, es difícil cambiar el código de contrato de una DApp una vez que se conecta. Si hay errores importantes en el código después del lanzamiento, traerá graves consecuencias. Como resultado, el propietario del proyecto debe realizar un diseño completo del producto y una auditoría del código antes de que la DApp entre en línea para evitar todos los posibles problemas.

3. Infraestructura pública de cadena de bloques

Ethereum, la cadena pública inteligente número uno actual, sufre de baja eficiencia y alto costo. Comparado con los 24 000 TPS de VISA, el TPS de Ethereum de alrededor de 15 es insuficiente para cumplir su visión de convertirse en una "capa de liquidación global". El tiempo dirá si la cadena de bloques del futuro puede romper el triángulo imposible y lograr un equilibrio entre eficiencia, seguridad y descentralización.

Conclusión

Las DApps son cruciales para la próxima generación de Internet, conocida como Web3, y pueden marcar el comienzo de un nuevo modelo comercial para la industria de la información. En cuanto a la usabilidad, las DApps son muy similares a las aplicaciones Web2, pero las DApps tienen características distintas de anticensura y privacidad.

Además, el uso de DApps requiere una conexión a una billetera, por lo que está estrechamente relacionado con la propiedad personal del usuario. Para evitar la pérdida de propiedad, debe evaluar cuidadosamente la seguridad de la DApp antes de conectar su billetera a ella. Lo mejor es elegir una DApp con una auditoría de código de agencia confiable.

Autor: Edward
Traductor: Piper
Revisor(es): Hugo, Cedric, Ashley
* La información no pretende ser ni constituye un consejo financiero ni ninguna otra recomendación de ningún tipo ofrecida o respaldada por Gate.io.
* Este artículo no se puede reproducir, transmitir ni copiar sin hacer referencia a Gate.io. La contravención es una infracción de la Ley de derechos de autor y puede estar sujeta a acciones legales.