El término DApp significa “aplicación descentralizada” y viene para quedarse.
Cuando nos encontramos con un nuevo tema a estudiar, no podemos evitar activar nuestros conocimientos previos para poder enlazar los nuevos conceptos con los ya conocidos. De alguna manera, creamos nuestros propios blockchains de datos mentales.
Basados en esta postura constructivista del aprendizaje, me pareció que la mejor forma de explicar las DApps es parándose desde diversas ópticas. Un usuario trataría de relacionar los conceptos de DApps desde, justamente, su rol de usuario activo en las aplicaciones web2. Una persona que desarrolla, activaría sus conocimientos de programación y arquitactura de sitios web. Una persona que diseña, desde su visión de experiencia de usuarion. Obviamente existen más involucrados, pero recortemos un poco y nos quedemos por ahora con esos tres ejemplos para este artículo.
Cada uno partiría de sus conocimientos construidos hasta el momento de encontrarse con ese nuevo mundo de la web3. La meta de este artículo es que todos lleguen a entender los términos básico de una DApp para incorporar esta nueva herramienta a sus vidas, sin importar desde qué lugar comenzaron a comprenderla.
Vamos ahora a juntar todos estos puntos de vista en un solo lente y analizar un caso real de DApps. Comparto una que me pareció muy divertida: https://www.cryptokitties.co/
Conozcamos esta plataforma leyendo primero la definición que aparece en Wikipedia:
CryptoKitties es un juego de blockchain en Ethereum desarrollado por Axiom Zen que permite a los jugadores comprar, recolectar, criar y vender gatos virtuales.1 Es uno de los primeros intentos de implementar la tecnología blockchain para la recreación y el ocio. La popularidad del juego en diciembre de 2017 congestionó la red Ethereum, lo que hizo que alcanzara un máximo histórico en el número de transacciones y lo ralentizó significativamente.
Nos pongamos en los zapatos de un usuario activo. Una persona que interactúa constantemente con la Web2 ya sea subiendo contenido, creando cuentas en diversas plataformas con su cuenta de google, utilizando aplicaciones para pedir comida, para mandarnos mensajes, ver videos... Son muy fáciles de acceder y las podemos descargar desde una tienda de aplicaciones, ya sea Apple Store o Google Play. Estas aplicaciones están controladas por empresas. Ellas son dueñas de los datos y determinan el flujo de su uso. Es de conocimiento de todos que muchas de estas aplicaciones han caído y no pudimos acceder a nuestras cuentas o temimos llegar a perder nuestras fotos, documentos..Además, aquellas personas que crean contenido no tienen el poder de determinar el valor de sus videos y ni cuándo pueden comenzar a monetizarlos. La mayoría de las aplicaciones que se usan actualmente tienen estas características.
Con la introducción de las DApps se pretende modificar varios de los puntos anteriores. Una aplicación descentralizada no deposita nuestros datos en un solo lugar, si no en muchos. Si cae en un lado, tiene respaldo de miles más. En esta estructura se basa el blockchain. Imaginemos el blockchain como una gran base de datos que recoge y almacena la información de manera compartida y descentralizada. No se pueden modificar ni eliminar los contenidos. En cuanto a las ganancias se establece un sistema de tokens para incentivar el mantenimiento de este ecosistema. Qué entendemos por tokens? Un token es una unidad de valor emitida por una persona o entidad. Un ejemplo de tokens, es el BTC de Bitcoin y el ETH de Ethereum.
Para conectarse necesitarán una dirección de la wallet, aunque aún se mantiene crear cuentas con correo para evitar una brecha en el uso de esta nueva tecnología.
Enlacemos con los gatitos
Nueva manera de loguearse: a través de la dirección del wallet.
Se obtienen ganancias con la compra y venta de coleccionables.
Debo realizar transacciones
Mis datos se encuentran guardados en una red descentralizada.
Los gatitos son únicos y no se pueden destruir.
Las DApps tienen una lógica muy de backend. Recordemos que una característica consiste en almacenar datos de forma descentralizada y que ciertas tecnologías como nodos blockchain, APIs, Web Sockets funcionan de esa manera.Por lo que se deberá todo un nuevo paradigma de programación. Los datos se distribuyen en servidores sincronizados (nodos informáticos) repartidos por todo el mundo.
Además, las DApps utilizan contratos inteligentes escritos en lenguajes de alto nivel como Solidity o Vype en el desarrollo backend. Solidity es un lenguaje de alto nivel orientado a objetos
Desde el front-end , podemos decir que su desarrollo es similar al de las aplicaciones web que conocemos hasta el momentos, pero desarrollar las DApps requiere Implementar soluciones de escalabilidad para mejorar la capacidad de respuesta en las peticiones.
El front-end puede construir las DApps con frameworks como React y comunicarse con la blockchain a través de bibliotecas como web3.js para Ethereum. Uno de los objetivos fundamentales es enviar transacciones y consultar el estado de los contratos .
Enlacemos con los gatitos
CryptoKitties es como un Neopets pero con Ethereum
La tecnología blockchain verifican las criptomonedas de los usuarios en una wallet.
Flow utiliza el modelo de consenso de prueba de participación.
Utiliza los contratos inteligentes (smart contracts).
La interfaz de y experiencia de usuario es un tema a priorizar para comenzar a incluir a la sociedad en las DApps. Durante décadas se han ido adaptando al uso de las aplicaciones tradicionales y lograron entender qué se espera de ellos cuando las utilizan. El menú hamburguesa ya es reconocido visualmente, enlazar la cuenta de gmail con las aplicaciones, recuperar contraseñas. El uso correcto de las DApps implica una nueca adaptación y debe, enfatizo, debe ser gradual y lo más confortable posible.
Acá juega un rol importante el diseño de las intefaces en las aplicaciones descentralizadas. La interfaz de usuario debe ser intuitiva y fácil de entender sobre todo para quienes no están familiarizados con la tecnología blockchain. Deben diseñarse procesos sencillos contribuyen a una experiencia positiva.
Enlacemos con los gatitos
Sitio web de uso sencillo, intuitivo y funcional.
FAQ y un chat bot guía los usuarios en los pasos para la autenticación y el uso de la wallet digital.
Utiliza indicadores de carga, actualizaciones de estado y control de errores.
Las DApps nos introduce en la nueva era de las aplicaciones donde tanto usuarios, desarrolladores y diseñadores debemos comprender conceptos básicos como blockchain, descentralización, wallet digital... Debemos transitar este proceso juntos y manejarnos justamente como nodos, como una gran red donde compartimos datos y vamos hacia el mismo objetivo.
Habrá nuevos cambios tanto para las personas que la utilizan, que desarrollan y que diseñan.