BTC
ETH
LTC
SOL
BCH
USDC
USDT

Ðapps

dapps-ethereum-cripto
SHARE
ÍNDICE

Si preguntamos a varias personas qué son Whatsapp, Instagram o Tinder nos contestarán lo mismo: aplicaciones. O en su defecto, podrían decir: “son apps”.

Como sabemos una ‘app’ es una aplicación informática diseñada para ser ejecutada en smartphones, tablets y otros dispositivos. Estas ‘apps’ permiten a las personas efectuar una tareas concretas de cualquier tipo, ya sea profesional, de ocio, educativo, etc.

Hoy en día el mundo de las aplicaciones no es algo futurista, sino que está muy presente en nuestras vidas. Aplicaciones como Twitter, Wallapop o Dropbox invaden nuestros dispositivos móviles con la intención de poner sus servicios al alcance de nuestra mano -literalmente-.

En algunos casos, estas aplicaciones también existen en el mundo web. De hecho, Facebook o Amazon existían en nuestros navegadores de escritorio bastante antes en de que pudiésemos descargar sus apps para nuestro móvil.

Sin embargo existe un problema común que tienen todas estas apps a las que tenemos acceso: son centralizadas.

Por ejemplo, si un día Mark Zuckerberg -creador de Facebook-, decide poner un precio de suscripción a su plataforma, el que que quiera usarla tendrá que abonar dicha cantidad o, de lo contrario, no podrá acceder a ella.

En otras palabras, las aplicaciones centralizadas dependen directamente de un ente central (normalmente una empresa), que puede decidir cualquier cosa sobre dichas plataformas sin necesidad de tener en cuenta o preguntar a sus usuarios.

Es normal, ya que fueron ellos los que crearon estas plataformas.

Sin embargo es algo que no ocurre con las DApps.

Pero…

¿QUÉ ES UNA DAPP?

Una ÐApp (se escribe con esta Ð extraña y pronunciado como [Di-app], similar a como decimos “e-mail” [i-meil]) es una aplicación descentralizada, es decir, una app que no depende de un sistema central, sino que depende de la comunidad de usuarios que la utilizan.

La aplicación descentralizada puede ser una app móvil o una aplicación web que interactúa con un contrato inteligente para llevar a cabo su función.

Si recordamos de forma breve lo que era un contrato inteligente o smart contract, diremos que es un programa informático que se ejecuta a sí mismo cuando se cumplen las condiciones que fueron programadas en su código.

Para entender el funcionamiento de una ÐApp y su interacción con los contratos inteligentes, lo mejor es realizar una breve introducción comparando las aplicaciones web tradicionales con las novedosas ÐApps.

APPS TRADICIONALES vs APPS DESCENTRALIZADAS (APPS vs ÐAPPS)

En la arquitectura de las aplicaciones, tanto tradicionales como descentralizadas, existe lo que llamamos la parte del cliente -conocido como ‘Frontend’ en argot informático- y la parte del servidor -conocido como ‘Backend’-.

Para entenderlo de forma sencilla, el Frontend es la parte gráfica de la aplicación, es decir, “lo que se ve”.

Cuando abrimos una aplicación móvil o una aplicación web, podemos decir que lo que estmos viendo es esa parte del cliente, esa parte ‘Front-end’ que se corresponde con la interfaz gráfica de la app y el código informático que tiene tras de sí.

Por su parte, la parte del servidor es la que “no se ve”. Todas las bases de datos, la capacidad de almacenamiento, etc. En definitiva, todo lo que no se puede almacenar en la aplicación móvil o en la página web.

Ambas partes (cliente y servidor, ‘frontend’ y ‘backend’) interactúan entre sí constantemente enviándose datos para que la aplicación funcione según se construyó, es decir, para que cumpla sus funciones.

Arquitectura-App-vs-DApp

Pongamos un ejemplo para entenderlo aún mejor:

Cuando entramos en Facebook desde la aplicación móvil en nuestro teléfono, podemos ver a todos nuestros amigos, sus perfiles, nuestras fotos… pero nada de eso está guardado en la aplicación que nos hemos descargado. Si fuera así, ni siquiera podríamos descargar la aplicación del enorme espacio que ocuparía.

Para poder ver esa foto que queremos, el perfil de nuestro mejor amigo o el evento al que vamos a ir próximamente, Facebook necesita acudir a sus servidores (su ‘backend’), que es donde reside toda esa información.

Facebook mandará esa información desde su ‘backend‘ a su ‘frontend‘, que es esa parte del cliente que nosotros podemos ver.

Comprender esta diferencia nos servirá para entender mejor posteriormente el funcionamiento de las Ðapps.

Ventajas de las Ðapps frente a las Apps

El realizar una aplicación descentralizada basada en el entorno Ethereum nos aporta bastantes ventajas frente a las tradicionales aplicaciones web:

Procesamiento de pagos y cobros

En las webs tradicionales solemos encontrar pasarelas de pago o integraciones con PayPal para poder recibir pagos de los usuarios que navegan a través de ella.

En una Ðapp no es necesario hacer integraciones adicionales, ya que es posible para el usuario el enviar o recibir fondos -en forma de Ether- de una forma directa, sin la figura intermediaria que sería PayPal o Visa, por ejemplo, y con comisiones prácticamente nulas.

Cuentas de usuario

Estamos acostumbrados al hecho de tener que registrarnos prácticamente en cada web de Internet. El tener que crearnos muchas cuentas de usuario con contraseñas diferentes puede hacer que, con el paso del tiempo, se nos olviden y tengamos que recurrir al proceso de “recuperar contraseña”.

Esto con las ÐApps no ocurre ya que los usuarios no necesitan registrarse.

Al crearte una sola cuenta con su llave pública y su llave privada (como en el caso de las Wallets) que contiene sus datos, puedes vincularla con cualquier ÐApp.

Para que podamos visualizar este proceso, el registro en una ÐApp funciona de forma parecida a como funcionan los inicios de sesión con las cuentas de Facebook, Google o LinkedIn: puedes usar tu cuenta creada en estas redes sociales para registrarte en otros sitios web sin necesidad de poner tus datos otra vez.

inicio-sesion-facebook

Simplemente debemos recordar que estos sistemas son sistemas centralizados, lo que quiere decir que si un día, por ejemplo, Twitter deja de existir, si nos hemos registrado en alguna página web con nuestra cuenta de Twitter, no podremos acceder a esa web y nos tendríamos que crear otra cuenta nueva.

Eso es algo que no ocurriría con las Ðapps.

Base de datos

En el sistema tradicional, los datos son almacenados a través de discos duros, ya sean personales o en servidores externos, mediante servicios en la nube.

Ambas son opciones que tienen sus riesgos: en el caso de los discos duros personales, estos pueden ser hackeados y los datos saldrían a la luz; en el caso de servicios en la nube, nuestra cuenta puede ser hackeada también si se hackea a la empresa que proporciona ese servicio, como ha ocurrido ya en incontables ocasiones.

Además, si esta empresa desaparece, nuestros datos también lo harán.

Sin embargo, con las ÐApps, el almacenar datos en una blockchain hace que estos datos permanezcan inmutables, es decir, una vez que se registran esos datos ya no se pueden borrar.

Dapp-funcionamiento

Los datos permanecen en la cadena de bloques de forma encriptada, es decir, son ilegibles para cualquier persona excepto para sus propietarios.

Además, el carácter distribuido de la blockchain hace que esos datos residan en cada ordenador de la red Ethereum, por lo que si desaparecen de un ordenador, existen muchas otras “copias de seguridad”.

Como único punto negativo debemos decir que almacenar una gran cantidad de datos en una cadena de bloques puede resultar bastante costoso y además aumenta de forma notable el tamaño de la misma (en Megabytes), aunque ya se está trabajando para mejorar este proceso y encontrar soluciones escalables.

Confianza

Cuando usamos una aplicación web, podemos ver el código que se ha usado a través de las herramientas de inspección del navegador. De esta forma, el usuario puede verlo desde el ‘frontend’.

Sin embargo, la interacción de ese frontend con el backend es algo que no podemos ver a simple vista.

Con las ÐApps, los usuarios pueden estar tranquilos ya que pueden inspeccionar tanto el código del frontend como el código del contrato inteligente basado en Ethereum, que funciona como backend o servidor.

De esta manera se puede verificar que el código no tiene fallo alguno por el cual se puedan robar fondos o información depositada en la ÐApp. Esto hace crecer el sentimiento de confianza y seguridad de los usuarios.

En resumen…

la diferencia entre el sistema tradicional y el de las ÐApps es que el de las ÐApps usa a la blockchain como su parte del servidor, es decir, como su ‘backend’.

CARACTERÍSTICAS DE UNA ÐAPP

Hemos visto que las ÐApps se parecen mucho a las aplicaciones web, pero también que tienen algunas ventajas respecto a éstas.

Sin embargo no hemos podido apreciar todavía qué características tiene que tener una ÐApp para considerarse como tal, así que pasaremos a enumerarlas:

Descentralización

Lo primero y más importante de todo, una ÐApp tiene que ser descentralizada, es decir, tiene que funcionar de forma autónoma sin que ninguna entidad la controle, dejando todo el poder de decisión sobre la misma en su comunidad de usuarios.

Código abierto (Open source)

Una ÐApp tiene que ser 100% de código abierto. Esto significa que el código fuente bajo el que está programada la ÐApp está abierto a posibles modificaciones y mejoras por parte de sus usuarios, todo lo contrario que la gran mayoría de aplicaciones que se utilizan hoy en día, en las que sólo los programadores dentro de las empresas pueden modificar y siempre bajo la supervisión de sus jefes.

Esas mejoras propuestas por parte de la comunidad que usa una ÐApp deben decidirse por consenso de la gran mayoría antes de hacerse efectivas.

Blockchain

Los datos y registros del funcionamiento de la ÐApp deben ser almacenados de forma criptográfica a través de una blockchain pública para así añadir transparencia y seguridad como cualidades de la aplicación descentralizada.

Protocolo

Si la ÐApp está basada en blockchain, eso significa que la información de las operaciones realizadas dentro de la aplicación tiene que ser almacenada en bloques y estos tienen que ser verificados.

Esto se da de acuerdo con un protocolo que actúe como prueba de que esas verificaciones son llevadas a cabo.

Este protocolo puede estar basado en el algoritmo Prueba de Trabajo (‘Proof of Work’, PoW) o el de Prueba de Participación (‘Proof of Stake’, PoS).

Este hecho nos lleva a la conclusión de tres cosas:

-Mineros / Validadores de bloques

Si la ÐApp funciona según un algoritmo criptográfico PoW o PoS para la validación de sus bloques, significa que también hay mineros o validadores que realizan ese trabajo.

-Recompensa para los mineros

Estos mineros necesitan recompensas por su trabajo realizado. Estas recompensas se dan en criptomonedas o tokens.

-Criptomonedas / Tokens

Por validar bloques en la ÐApp se generan esas criptomonedas o tokens, que pueden ser los propios de esa misma ÐApp o los de la plataforma sobre la que está construida (en el caso de una ÐApp construida sobre Ethereum, la recompensa se daría en Ether).

Estas criptodivisas o tokens son con los que los mineros serán recompensados y los cuales servirán para intercambiar valor dentro de la aplicación.

Como resumen rápido de este apartado, una ÐApp es una aplicación descentralizada de código abierto basada en la tecnología Blockchain, que funciona según un protocolo de validación de bloques (PoW o PoS), y que por lo tanto, está mantenida por mineros que reciben criptomonedas o tokens por su trabajo realizado.

Si nos paramos a pensar un poco, este perfil de una ÐApp se puede parecer mucho al de cualquier plataforma que tenga una criptomoneda, lo que nos puede llevar a hacernos la siguiente pregunta:

¿ES ETHEREUM UNA ÐAPP?

Efectivamente, mucha gente considera Ethereum como una ÐApp. De hecho cumple perfectamente con las características de una:

  • Ethereum es una plataforma descentralizada, donde el poder no reside en una empresa, en un jefe, o en definitiva en una figura de poder, sino que el poder está en cada nodo, en cada ordenador que forma parte de su red, en cada minero que verifica transacciones y bloques en su cadena de bloques.
  • Está basada en la tecnología Blockchain: la información de las transacciones realizadas en la red está encriptada y almacenada de forma inmutable, pública y segura. Además, cada nodo de la red tiene una copia actualizada de esa blockchain, lo que significa que Ethereum es una plataforma distribuida.
  • Ethereum es un software de código abierto que puede ser copiado, modificado y mejorado por cualquiera que sepa interpretar su código y editarlo. Aunque los cambios realizados deben ser antes propuestos a través de proposiciones de mejora (llamados EIP, ‘Ethereum Improvement Proposal’), después votados por la comunidad y, si la mayoría está de acuerdo, implementados en el sistema.
  • La plataforma Ethereum funciona a través del protocolo ‘Proof of Work’ (PoW), a través del cual se crean nuevos tokens (Ether) con la verificación de cada bloque. Este proceso es realizado por los mineros, los cuales reciben la recompensa a su trabajo en Ether, concretamente, a razón de 3 Ether por bloque. Como dato añadido, decir que en la siguiente fase de su hoja de ruta, dará el paso al protocolo ‘Proof of Stake (PoS).

Al igual que Ethereum, Bitcoin y el resto de “altcoins” también pueden ser consideradas ÐApps, porque prácticamente todas las criptomonedas tienen en común esos cuatro puntos.

Algunas pueden tener un protocolo diferente como el de Prueba de Participación (PoS) en vez de usar el de Prueba de Trabajo (PoW), por ejemplo, pero todas estarán basadas en Blockchain, serán descentralizadas y serán de código abierto.

Ethereum-background

TIPOS DE ÐAPPS

Tras conocer las características que tiene que tener una ÐApp para considerarse como tal, y continuando con el propósito de este artículo, pasaremos a diferenciar los distintos tipos de ÐApps que existen.

Esta clasificación de las aplicaciones descentralizadas la haremos en base a si poseen su propia blockchain o si bien utilizan la cadena de bloques de otra ÐApp.

Según este criterio podríamos diferenciar tres tipos de ÐApps:

Aplicaciones descentralizadas de tipo I

Estas son las que tendrían su propia cadena de bloques independiente.

En este caso, y como ya hemos visto en el apartado anterior, Ethereum sería una de estas ÐApps, aunque la más famosa dentro del mundo de las criptomonedas sea Bitcoin. Litecoin, Dash, Monero y muchas otras “altcoins” también entrarían dentro de esta clasificación.

Aplicaciones descentralizadas de tipo II

La característica principal de las ÐApps de tipo II es que utilizan la blockchain de una aplicación descentralizada tipo I en vez de tener ellas una propia. Este tipo de ÐApps son protocolos que funcionan ya sea con sus propios tokens o con los tokens de la blockchain en la que operan.

Un ejemplo de este tipo de ÐApps sería Omni Layer. Esta aplicación descentralizada está construida sobre la cadena de bloques de Bitcoin y es una plataforma que sirve para la creación y el comercio de activos digitales y criptomonedas. Al actuar sobre la blockchain de Bitcoin, las transacciones de Omni son también transacciones de Bitcoin.

Otro ejemplo de ÐApp de tipo II, esta vez basado en la cadena de bloques de Ethereum, sería el de Raiden Network.

Esta plataforma ofrece una solución de escalabilidad dentro de la red Ethereum a la hora de permitir pagos casi instantáneos y de bajo coste. La idea principal de Raiden Network es aprovechar una red de canales de pago que permitan transferir de forma segura el valor sin necesidad de implicar a la blockchain de Ethereum en cada transferencia, lo cual multiplicaría su velocidad.

Aplicaciones descentralizadas de tipo III

Por último, las ÐApps de tipo III serían las que utilizan el protocolo de una aplicación descentralizada de tipo II como las que acabamos de ver.

Estas aplicaciones, también funcionan con sus propios tokens digitales o bien con los de las ÐApps en las que se basan, al igual que pasaba con las ÐApps de tipo II.

Una ÐApp de tipo III podría ser Safe Network, que utiliza el protocolo de Omni Layer (una ÐApp tipo II) para emitir su propia criptomoneda -el Safecoin-, que a su vez puede utilizarse para adquirir almacenamiento distribuido de archivos, por ejemplo.

O continuando con el ejemplo de Raiden Network, una ÐApp de tipo III en ese caso sería µRaiden (leído como ‘Micro Raiden’).

Donde Raiden Network busca permitir transferencias a través de una red de canales de pago bidireccionales, esta ÐApp hace las funciones de realizar micropagos a través de canales de pago unidireccionales.

Para terminar de entender al 100% los tipos de ÐApps pondremos un símil más conocido por todos en nuestro día a día:

  1. Una ÐApp de tipo I podría ser el equivalente a un sistema operativo de un ordenador. El sistema operativo se podría decir que es la base sobre todo lo que se puede hacer en el ordenador. Algunos de los que nos pueden venir a la cabeza son Windows, Mac OS o Linux, y para dispositivos móviles, Android o iOS.
  2. Una ÐApp de tipo II sería el equivalente a un programa con un propósito general, como por ejemplo un procesador de texto (Word), un gestor de hojas de cálculo (Excel) o un un sistema de sincronización de archivos como Dropbox.
  3. Y para finalizar, una ÐApp de tipo III sería lo mismo que una solución de software especializada para ese procesador de texto, ese gestor de hojas de cálculo o ese sistema de sincronización de archivos. En otras palabras y siguiendo el ejemplo anterior, una ÐApp de tipo III sería una especie de plugin o herramienta que añada algún tipo de servicio añadido a Word, Excel o Dropbox.


Veamos ahora algunas de las más conocidas:

ÐAPPS EXITOSAS EN ETHEREUM

Hoy por hoy existen varios cientos de aplicaciones descentralizadas basadas en Ethereum. Sin embargo no todas tienen el mismo potencial ni el mismo éxito.

Algunas de las más exitosas son las siguientes:

golem

Golem es auto-considerado un “superordenador cuya potencia sale de combinar la potencia de los ordenadores de sus usuarios”.

Y es que este proyecto lo que busca es permitir a los usuarios alquilar la potencia o el almacenamiento de los ordenadores o máquinas de otros usuarios.

Por ejemplo, en el mundo audiovisual es necesaria mucha potencia computacional para el proceso de renderización -aplicación de filtros y efectos en el archivo final-.

Si nuestro ordenador no es suficientemente potente, a través de Golem podríamos alquilar potencia de otros ordenadores para realizar ese renderizado.

A cambio, nosotros tendríamos que pagar a esos usuarios que nos han cedido la potencia de sus ordenadores. Estos pagos se darían en la criptomoneda de la plataforma Golem, los GNTs (Golem Network Tokens).

augur

Augur tiene como objetivo combinar los conceptos de descentralización y mercados de predicción para dar a luz una herramienta de predicción sin precedentes.

Con Augur se pueden hacer predicciones mediante el comercio de acciones virtuales en el resultado de los acontecimientos que suceden en el mundo real. En otras palabras, Augur permite “apostar” sobre posibles acontecimientos que todavía no se han dado.

Por ejemplo, si nosotros creemos que Mariano Rajoy volverá a ser presidente, que el Real Madrid volverá a ganar la Champions League o que Santiago Segura ganará un premio Goya, entonces compraremos acciones en esos resultados.

Si compramos esas acciones y se dan esos resultados, obtendremos ganancias, ya sea en dinero real o en criptomonedas.

Esta herramienta podría ser capaz de alimentar las verdades del mundo real y convertirse en la cadena de bloques referencia para los hechos.

aragon

Aragon es un proyecto que pretende eliminar los intermediarios en el proceso de creación y mantenimiento de estructuras organizativas, que es posible a través del uso de la cadena de bloques.

Basado y construido sobre la plataforma Ethereum, Aragon busca empoderar a las personas de todo el mundo para que gestionen sus organizaciones de forma fácil y segura, simplificando el proceso y acercando las herramientas necesarias a cualquier persona que se quiera convertir en empresario y dirigir su propia organización.

Como dato añadido, Aragon fue creado por Jorge Izquierdo, un joven español que consiguió entrar en el selecto grupo de elegidos por la beca Thiel Fellowship, la cual otorga $100,000 a “los jóvenes que quieren construir cosas nuevas en lugar de sentarse en un aula”.

Si queréis saber más sobre Jorge y su proyecto, leer su reportaje en El Confidencial.

cryptokitties

Crypto Kitties es uno de los primeros juegos del mundo que se ha creado basándose en la tecnología Blockchain.

En el caso de CryptoKitties, su criptomoneda sería sus ‘gatitos virtuales’. Estos pueden ser comprados y vendidos, como si se tratase de un coleccionable de los que ya conocemos, con la particularidad de que la cadena de bloques nos otorgará su propiedad de forma virtual.

Otra diferencia con los coleccionables tradicionales es que en CryptoKitties nosotros podemos juntar a dos ‘gatitos’ para criar a otro nuevo que salga de esos dos con una descendencia genética única, el cual podremos mantener, criar más adelante o vender para hacer negocio.

Esta aplicación descentralizada causó un gran revuelo en la red Ethereum, llegándola a congestionar por el éxito que tuvo. De hecho, algunos expertos en el mundo blockchain como Balaji S. Srinivasan no tardaron en expresar sus opiniones a favor de este tipo de DApps:

“¿Por qué Cryptokitties es importante? Porque es uno de los primeros ejemplos de lo que la gente ha estado hablando durante años: el comercio internacional de activos digitales (¡no sólo dinero en efectivo!) en una cadena de bloques.”

Estas son solo algunas de las muchas DApps que podemos encontrar hoy en día. Sin embargo, si queremos acceder a todas las que hay en el ecosistema Ethereum debemos seguir leyendo.

STATE OF THE ÐAPPS: LA ‘APPSTORE’ DESCENTRALIZADA DE ETHEREUM

El ecosistema Ethereum crece y crece sin parar. Son ya varios cientos de ÐApps creadas desde el lanzamiento de esta plataforma y la previsión es convertirse en algo así como una “appstore descentralizada” donde cualquiera puede publicar sus ÐApps.

La diferencia más notable entre esta y una ‘appstore’ de las que conocemos es, una vez más, el carácter descentralizado, es decir, que no se requerirían intermediarios.

Hoy en día existe un portal web llamado ‘State of the ÐApps’, en el cual podemos encontrar todas las ÐApps basadas en Ethereum.

State-of-the-DApps

Como podemos observar en la imagen tienen un código de colores:

  • Las verdes hacen referencia a las ÐApps en ‘live’, es decir, proyectos activos y en funcionamiento.
  • Las amarillas se corresponden con las ‘demos’, en otras palabras, las aplicaciones que están en el proceso de demostración.
  • Las naranjas son prototipos de aplicaciones descentralizadas, las cuales funcionan pero están en fase beta.
  • Las azules son las ÐApps que están ‘Work in Progress’, lo que en castellano sería ‘trabajando en el progreso’ de la aplicación.
  • Las ÐApps moradas son las que son solo un concepto de lo que se quiere conseguir con la aplicación.
  • Las aplicaciones que aparecen en blanco son las denominadas ‘Stealth’ o discretas, es decir, las que estan algo estancadas: ni avanzan ni se abandonan del todo.
  • Finalmente, las ÐApps abandonadas son las que aparecen en blanco pero con un tono apagado, como desactivadas.

Si abrimos una de estas ÐApps lo que nos encontramos es lo siguiente:

State-of-the-DApps-2

Como podemos observar, es el ejemplo de la aplicación tan exitosa de la que hemos hablado en el apartado anterior: CryptoKitties.

Desde allí podemos acceder a la web, ver una breve descripción de la aplicación descentralizada, la licencia de software, cuándo se lanzó, la fecha de la última actualización, los autores y los tags bajo los que podrás encontrar la aplicación en el buscador principal de la web.

También hay un pequeño acceso a sus redes sociales o canales de comunicación como Reddit, Gitter o Twitter.

Si revisamos un poco lo comentado a lo largo del artículo vemos que:

  1. Ethereum se puede considerar una ÐApp
  2. Hay otras ÐApps construidas sobre Ethereum

Lo cual nos puede llevar a pensar lo siguiente:

¿POR QUÉ LAS DAPPS SE CONSTRUYEN SOBRE ETHEREUM EN VEZ DE SER INDEPENDIENTES?

En otras palabras: si una ÐApp tiene su propia blockchain y puede ser un proyecto libre, ¿por qué usar la blockchain de Ethereum como base?

La respuesta básica a estas preguntas es que el objetivo principal de Ethereum es ese precisamente: el de ser una plataforma para la creación de aplicaciones descentralizadas.

No obstante, si queremos buscar dos razones de peso por las que las ÐApps deben ser construidas sobre Ethereum serían la Seguridad y la Interoperabilidad:

Seguridad

La seguridad en un sistema no es una cuestión de blanco o negro, sino que hay una escala de grises. Es decir, ningún sistema es irrompible o 100% seguro.

Simplemente es una cuestión de cuánto esfuerzo o recursos son necesarios para romper o hackear un sistema.

Por ejemplo, si para romper una caja fuerte en la que hay 100.000€ necesitamos gastarnos en herramientas por valor de 500.000€, no compensaría romper la caja fuerte económicamente, por lo tanto, ese sistema sería bastante seguro.

Si por el contrario, abrir esa misma caja fuerte nos costase 100€, entonces ese sistema sería muy inseguro.

En el caso de la ÐApp, al principio carece de un gran red de nodos que aumenten la seguridad en la plataforma. La existencia de muchos más nodos equivale a mucho más difícil de hackear.

Por ello, construir esa ÐApp basada en Ethereum hará que sea la gran red de nodos de Ethereum los que procesen sus transacciones, aumentando exponencialmente su seguridad.

Interoperabilidad

Pongamos el ejemplo de dos empresas que trabajan mano a mano para procesar nóminas de trabajadores.

Una de ellas, envía las horas que sus trabajadores estuvieron operativos y la otra procesa esas horas y les paga en consecuencia. Si estas empresas usan sistemas diferentes, lo más probable será que haya pérdidas de datos que den lugar a impagos a esos trabajadores. Este caso sería un problema de interoperabilidad bastante grave.

Para solucionar este problema, ambas empresas deberían ponerse de acuerdo en establecer un sistema para procesar los datos de manera igual para las dos. De este modo no habría posibilidad de fallos en el sistema.

Con las ÐApps pasa exactamente igual: si cada aplicación funciona sobre su propia blockchain y opera con las demás, que también son independientes, esto puede ocasionar muchos problemas tales como el no procesado de las transacciones y la pérdida de información.

Si las ÐApps están basadas en Ethereum significa que:

  • Están escritas en el mismo lenguaje (Solidity), por lo que todos los programadores que conozcan este lenguaje lo saben interpretar.
  • Usan la red Ethereum para procesar sus transacciones, por lo tanto, se pueden construir sinergias, es decir, se pueden utilizar las unas con las otras.

¿CUÁLES SON LOS PASOS PARA LANZAR UNA ÐAPP?

Para realizar el lanzamiento de una ÐApp es necesario seguir cuatro pasos fundamentales:

Creación del ‘White Paper’

En el mundo de las criptodivisas, el ‘Whitepaper’ se refiere al documento que explica de forma clara las intenciones, los objetivos y los problemas que la ÐApp desea resolver.

Su objetivo es informar honestamente a los interesados del potencial de la ÐApp, su funcionalidad, la distribución de las criptomonedas con las que la ÐApp operará y el mecanismo de consenso que utilizará, entre otras cosas.

El Whitepaper también es usado algunas veces como herramienta de marketing para persuadir a clientes potenciales y promocionar la ÐApp.

Tanto Ethereum, como Bitcoin y la gran mayoría de criptomonedas suelen tener como carta de presentación este documento.

Establecer una hoja de ruta flexible

Una vez presentado el Whitepaper, también sería necesario explicar los pasos que se van a dar y cómo se van a dar divididos en fases o etapas. Estas no deberían de ser estrictas ya que puede haber situaciones que obliguen a tomar otro camino, en cuyo caso los inversores de tu proyecto podrían señalarnos de estafadores al no seguir la hoja de ruta marcada al principio.

Se aconseja discutir sobre el plan a seguir y escuchar a la comunidad creada en torno a la ÐApp. Es muy importante revisar los planes marcados después de escuchar la retroalimentación entre los desarrolladores de la ÐApp y los usuarios, ya que son ellos los que utilizarán nuestra herramienta.

Si queréis saber más a fondo lo que es una hoja de ruta tomando el ejemplo de la de Ethereum, podéis leer este artículo creado para la ocasión: fases de Ethereum.

Realizar una ‘Crowd-sale’ a través de una ICO

El término ‘Crowd-sale’ en el mundo Blockchain hace referencia a la venta masiva de la criptomoneda propia de ese proyecto, en este caso, de esa ÐApp. Esto se lleva a cabo a través de la llamada ‘Oferta Inicial de Moneda’, más conocida como una ICO.

Una ICO, cuyas siglas hacen referencia a ‘Initial Coin Offering’, es un método de financiación a través del cual se ofrece a los inversores una cantidad de esa nueva criptomoneda propia de la ÐApp a cambio de de otras criptomonedas más conocidas como pueden ser bitcoin o Ether.

Este paso es necesario para poder cubrir los costes iniciales del lanzamiento y creación de la aplicación descentralizada. A cambio, los inversores recibirán estas nuevas criptomonedas que conservarán con el objetivo de apoyar el proyecto y multiplicar su inversión inicial con el tiempo.

En la fecha y hora señaladas para empezar el ‘crowd-sale’, es de vital importancia haber realizado un proceso de marketing previo y exponer en la página web e la ÐApp toda la información que un inversor puede necesitar.

Empezar el desarrollo de la ÐApp

Una vez explicado todo lo relevante a la ÐApp, marcados los pasos en la hoja de ruta y recibido los fondos del ‘crowd-sale’ a través de la ICO, el paso que quedaría es ponerse manos a la obra.

Es el momento de que el equipo de desarrolladores de la ÐApp utilice los recursos económicos recibidos a través de la ICO para empezar la creación de esa aplicación descentralizada.

Pero, ¿cómo lo hacemos? ¿Qué necesitamos?

TODO LO NECESARIO -en el apartado técnico- PARA CONSTRUIR UNA ÐAPP EN ETHEREUM

Después de haber seguido los pasos anteriores, toca construir la ÐApp. Sin embargo no hemos hablado de lo que se necesita para empezar dicha construcción.

Lo primero de todo es saber que las ÐApps de Ethereum, al igual que los contratos inteligentes, están escritas en un lenguaje informático específico llamado Solidity.

Este lenguaje es una mezcla de varios lenguajes de programación pero tiene una sintaxis similar a Javascript, es decir, que quien sepa programar en Javascript no le costará mucho aprender Solidity.

Aparte de conocer el lenguaje Solidity, también necesitamos crear un entorno de trabajo propicio para el desarrollador. Sin embargo este entorno no es tanto un lugar físico (como una oficina) sino que se refiere a un entorno informático (como un IDE).

Un IDE -Entorno de Desarrollo Integrado- proporciona a los desarrolladores las herramientas adecuadas para crear otros programas.

Por último, también necesitamos otro tipo de recursos, entre los que se encuentran:

Si quieres encontrar todas estas herramientas necesarias para empezar a crear tu primera ÐApp y la mejor información sobre Solidity, no dudes en leer esta guía que hemos creado para ti.

También te dejamos aquí el portal ‘DApps For Begginers’ (ÐApps para novatos) en el que se explica todo desde un nivel muy básico, y el tutorial sobre cómo construir una ÐApp en Ethereum de principio a fin. Ambos tutoriales están en inglés.

CONCLUSIÓN

El futuro de la descentralización está cada vez más cerca. Como se ha visto anteriormente, cada Ðapp pretende aplicar la tecnología Blockchain a su nicho y hacerse cargo de sus respectivas industrias.

De la misma manera que Bitcoin le quita el control monetario a los gobiernos e instituciones financieras, y se lo da a todos los usuarios de su criptomoneda, las ÐApps de Ethereum quitan ese poder a las empresas y grandes corporaciones y se lo da a los desarrolladores y a los usuarios de estas aplicaciones descentralizadas.

Vitalik Buterin, creador de Ethereum, explicaba hace poco en la conferencia de Techcrunch su visión acerca de la descentralización de todo:

¡Desde aquí te animamos a desarrollar tus ideas y buscar la manera de beneficiarte de esta innovadora tecnología como es Blockchain y de esta potente plataforma que es Ethereum!

Recent Articles

How to Get Your First Job in Crypto