Una aplicación descentralizada ( DApp, [1] dApp , [2] Dapp o dapp ) es una aplicación que puede funcionar de forma autónoma, normalmente mediante el uso de contratos inteligentes , que se ejecutan en una informática descentralizada , blockchain u otro sistema de contabilidad distribuida. [3] Al igual que las aplicaciones tradicionales, las DApps proporcionan alguna función o utilidad a sus usuarios. Sin embargo, a diferencia de las aplicaciones tradicionales, las DApps funcionan sin intervención humana y no son propiedad de ninguna entidad, sino que distribuyen tokens que representan la propiedad. [3] Estos tokens se distribuyen según un algoritmo programado a los usuarios del sistema, diluyendo la propiedad y el control de la DApp. Sin ninguna entidad que controle el sistema, la aplicación está, por tanto, descentralizada .
Las aplicaciones descentralizadas se han popularizado gracias a las tecnologías de contabilidad distribuida (DLT), como la cadena de bloques Ethereum o Cardano , sobre las que se construyen las DApps, entre otras cadenas de bloques públicas. [4]
Las DApps se dividen en numerosas categorías: intercambios, negocios, apuestas, juegos, finanzas, desarrollo, almacenamiento, billetera , gobernanza, propiedad, identidad , medios, redes sociales, seguridad, energía, seguros, salud, etc. [5] [ aclaración necesaria ]
Hay una serie de criterios que se deben cumplir para que una aplicación sea considerada una DApp.
Las definiciones tradicionales de una aplicación descentralizada requieren que una DApp sea de código abierto . Es decir, la aplicación opera de forma autónoma sin una entidad centralizada que controle la mayoría de los tokens asociados a la aplicación . [3] Las DApps también tienen una cadena de bloques pública y descentralizada que la aplicación utiliza para mantener un registro criptográfico de datos, incluidas las transacciones históricas. [3]
Aunque las DApps tradicionales suelen ser de código abierto, a medida que evoluciona la industria de las criptomonedas, han surgido DApps que son de código totalmente cerrado y parcialmente de código cerrado. En 2019, solo el 15,7% de las DApps son de código completamente abierto, mientras que el 25% de las DApps son de código cerrado. En otras palabras, la proporción de DApps con código disponible públicamente es menor que la proporción de Dapps sin código disponible públicamente. [5] Las DApps que son de código abierto generalmente tienen mayores volúmenes de transacciones que las DApps de código cerrado. [5]
Bitcoin , la primera criptomoneda , es un ejemplo de DApp. [6]
Las DApps se pueden clasificar según si operan en su propia cadena de bloques o si operan en la cadena de bloques de otra DApp.
Los desarrolladores utilizan contratos inteligentes para mantener datos en la cadena de bloques y ejecutar operaciones. [5] Se pueden desarrollar múltiples contratos inteligentes para que una sola DApp maneje operaciones más complejas. [5] Más del 75% de las DApps están respaldadas por un único contrato inteligente, y el resto utiliza múltiples contratos inteligentes. [5]
Las DApps incurren en gas, es decir, tarifas pagadas a los validadores de la cadena de bloques, debido al costo de implementar y ejecutar los contratos inteligentes de la DApp. [5] La cantidad de gas requerida para las funciones de una DApp depende de la complejidad de sus contratos inteligentes. [5] Es posible que un contrato inteligente complejo de una DApp que opera en la cadena de bloques Ethereum no se implemente si cuesta demasiado gas, lo que genera un menor rendimiento y tiempos de espera más prolongados para la ejecución. [5]
Las DApps utilizan mecanismos de consenso para establecer consenso en la red. Los dos mecanismos más comunes para establecer consenso son la prueba de trabajo (POW) y la prueba de participación (POS). [7]
La prueba de trabajo utiliza el poder computacional para establecer un consenso a través del proceso de minería . [8] Bitcoin utiliza el mecanismo de prueba de trabajo. [8] La prueba de participación es un mecanismo de consenso que respalda las DApps a través de validadores que aseguran la red al tener una participación y un porcentaje de propiedad sobre la aplicación. [8]
Las DApps distribuyen sus tokens a través de tres mecanismos principales: minería , recaudación de fondos y desarrollo. [7] En la minería, los tokens se distribuyen según un algoritmo predeterminado como recompensa a los mineros que protegen la red mediante la verificación de transacciones. [7] Los tokens también se pueden distribuir mediante la recaudación de fondos, mediante la cual los tokens se distribuyen a cambio de financiación en la fase de desarrollo inicial de la DApp, como en una oferta inicial de monedas . [7] Por último, el mecanismo de desarrollo distribuye tokens que se reservan con el fin de desarrollar la DApp a través de un cronograma predeterminado. [7]
Hay tres pasos principales que siempre ocurren en la formación y desarrollo de cualquier DApp: la publicación del documento técnico de la DApp , la distribución de tokens iniciales y la distribución de la propiedad. [7] En primer lugar, se publica el documento técnico, que describe los protocolos, las características y la implementación de la DApp. [7] Luego, el software y los scripts necesarios se ponen a disposición de los mineros y las partes interesadas que apoyan la validación y la recaudación de fondos de la red. [7] A cambio, son recompensados con los tokens iniciales distribuidos por el sistema. [7] Por último, a medida que un mayor número de participantes se unen a la red, ya sea mediante la utilización de la DApp o mediante contribuciones al desarrollo de la DApp, la propiedad del token se diluye y el sistema se vuelve menos centralizado. [7]
Las DApps tienen su código de backend ejecutándose en una red descentralizada de igual a igual , a diferencia de las aplicaciones típicas donde el código de backend se ejecuta en servidores centralizados. Una DApp puede tener código frontend e interfaces de usuario escritas en cualquier idioma que pueda realizar llamadas a su backend.
Las DApps se han utilizado en finanzas descentralizadas (DeFi), en las que las dapps realizan funciones financieras en blockchains . [9] Finanzas descentralizadas que validan transacciones entre pares para alterar las finanzas centralizadas y reducir el costo. [10]
El rendimiento de una DApp está ligado a su latencia, rendimiento y rendimiento secuencial. [11] El sistema de validación de transacciones de Bitcoin está diseñado para que el tiempo promedio para minar un Bitcoin sea de 10 minutos. [11] Ethereum ofrece una latencia reducida de una transacción cada 15 segundos. En comparación, Visa maneja aproximadamente 10.000 transacciones por segundo. [11] [12] Proyectos de DApp más recientes, como Solana , han intentado superar esa tasa. [13]
La conectividad a Internet es una dependencia central de los sistemas blockchain, que incluyen las DApps. [11] Los elevados costes monetarios también actúan como barrera. Las transacciones de pequeños valores monetarios pueden representar una gran proporción del monto transferido. [11] Una mayor demanda del servicio también conduce a mayores tarifas debido al aumento del tráfico de la red. [14] Este es un problema para Ethereum , que se atribuye al aumento del tráfico de red causado por las DApps creadas en la cadena de bloques Ethereum , como las utilizadas por los tokens no fungibles (NFT). [14] Las tarifas de transacción se ven afectadas por la complejidad de los contratos inteligentes de una DApp y por la cadena de bloques particular. [15]
Ethereum es la tecnología de contabilidad distribuida (DLT) que tiene el mayor mercado de DApps. [15] La primera DApp en la cadena de bloques Ethereum se publicó el 22 de abril de 2016. [15] Desde mayo de 2017, la cantidad de DApps en desarrollo ha crecido a un ritmo mayor. [15] Después de febrero de 2018, las DApps se han publicado todos los días. [15] Menos de una quinta parte de las DApps capturan a casi todos los usuarios de DApps en la cadena de bloques Ethereum. [15] Aproximadamente el 5% de las DApps capturan el 80% de las transacciones de Ethereum. [15] El 80% de las DApps en Ethereum son utilizadas por menos de 1000 usuarios. [15] En Ethereum, las DApps que son intercambios capturan el 61,5% del volumen de transacciones, las DApps financieras capturan el 25,6%, las DApps de juegos de azar capturan el 5%, las DApps de alto riesgo capturan el 4,1% y los juegos capturan el 2,5%. [15]
Las DApps no han logrado una adopción amplia. Es posible que los usuarios potenciales no tengan la habilidad o el conocimiento para poder analizar eficazmente las diferencias entre las DApps y las aplicaciones tradicionales, y es posible que tampoco valoren esas diferencias. Esta habilidad e información puede ser de difícil acceso para los usuarios convencionales. Además, la experiencia del usuario de las DApps suele ser deficiente, ya que suelen desarrollarse para priorizar la funcionalidad, el mantenimiento y la estabilidad. [dieciséis]
Muchas DApps luchan por atraer usuarios, particularmente en sus etapas de fundación, e incluso aquellas que atraen una popularidad inicial generalizada luchan por retenerla. [ se necesita cita completa ]
Un ejemplo notable fue la DApp CryptoKitties , que ralentizó considerablemente la red Ethereum en el apogeo de su popularidad. [17] CryptoKitties y otros juegos de dados DApp similares basados en juegos no han logrado atraer una tracción similar desde entonces. [18] [ necesita actualización ]