Las Aplicaciones Descentralizadas ( DAPPS )

Imagine una aplicación que no se ejecuta en un servidor, sino que aprovecha el exceso de energía de miles de computadoras en todo el mundo y que puede ser controlada por un software de automatización empresarial que garantiza que si se cumple un parámetro específico, solo entonces se puede llevar a cabo una función. Esa es una aplicación distribuida, o dApp, como a veces se abrevia, y hay miles disponibles para descargar.

Las dApps, que se ejecutan sobre una red blockchain, peer-to-peer (P2P) que act√ļa como una especie de sistema operativo, crean un ecosistema de software de c√≥digo abierto innovador que es seguro y resistente. Y permite a los desarrolladores crear nuevas herramientas en l√≠nea, muchas de las cuales han despertado el inter√©s de los mercados comerciales globales.

Al igual que una matriz de almacenamiento RAID, si una de las computadoras (o nodos) que ejecutan el software dApp deja de funcionar, otro nodo reanuda instant√°neamente la tarea.

Debido a que los contratos inteligentes, o el software de automatizaci√≥n empresarial autoejecutable, pueden interactuar con las dApps, pueden eliminar la sobrecarga administrativa, lo que las convierte en una de las caracter√≠sticas m√°s atractivas asociadas con blockchain. 

Contenidos ocultar

¬ŅQu√© es una Aplicaci√≥n Descentralizada?

Las aplicaciones descentralizadas se diferencian de las aplicaciones convencionales en que no se basan en el modelo de red cliente-servidor convencional. Este modelo requiere una autoridad de control central para mantener la red y autorizar cualquier cambio, etc.

El modelo de red descentralizada, por otro lado, utiliza una red de computadoras (conocidas como nodos) que son participantes iguales en el mantenimiento de la red. Dado que el c√°lculo se realiza en cada nodo de forma independiente, todos los cuales tienen un registro completo de todas las transacciones, la red puede ofrecer una serie de caracter√≠sticas √ļnicas que benefician a las aplicaciones.

Las aplicaciones descentralizadas se basan en el principio de la cadena de bloques que se describió por primera vez en un documento de Satoshi Nakamoto en 2008. Nakamoto ideó el concepto de cadena de bloques para superar el problema de la duplicación que impedía la implementación de una criptomoneda viable. La moneda digital que iba a inventar era bitcoin, que iba a desencadenar la revolución de la cadena de bloques.

¬ŅQu√© es Blockchain?

Blockchain es una nueva y emocionante tecnología que permite registrar y almacenar bloques de datos en una cadena. A medida que se agrega cada nuevo bloque, se crea un libro de contabilidad digital ininterrumpido. Debido a que cada transacción requiere la validación de toda la red, no se pueden aprobar sin el acuerdo de al menos el 51% de los nodos.

Dado que cada nodo de la red tiene un registro completo del libro mayor y calcula cada transacci√≥n de forma independiente, las aplicaciones descentralizadas son a prueba de manipulaciones y, en √ļltima instancia, mucho m√°s seguras.

CARACTER√ćSTICAS CLAVE DE UNA APLICACI√ďN DESCENTRALIZADA:

  1. Descentralizado: nadie controla el poder
  2. Código abierto: el código está disponible para todos
  3. Incentivo: los tokens de cifrado se utilizan para recompensar a los usuarios / mineros de la red, etc.
  4. Protocolo / algoritmo: para generar tokens que recompensen a los participantes de la red
  5. Blockchain: datos almacenados criptogr√°ficamente en una cadena de bloques

CLASIFICACIONES DE APLICACIONES DESCENTRALIZADAS

Hay tres tipos de DApps. Estas clasificaciones est√°n vinculadas a c√≥mo las DApps usan blockchain.

  1. DApps tipo 1: use su propia cadena de bloques. Los ejemplos incluyen Bitcoin.
  2. DApps de tipo 2: aplicaciones descentralizadas que utilizan blockchain de tipo 1. Deben emitir tokens para recompensar a los participantes en la red. La mayoría de las aplicaciones inteligentes basadas en contratos que usan Ethereum son de este tipo.
  3. DApps de tipo 3: utilice el protocolo de tipo 2 para suscribir los tokens que emiten.

¬ŅC√≥mo recompensan las aplicaciones descentralizadas a los participantes de la red?

Actualmente, hay dos formas en las que las DApps recompensan la participación.

  1. Prueba de trabajo

El modelo de prueba de trabajo permite que los participantes de la red sean recompensados ‚Äč‚Äčen funci√≥n de la cantidad de trabajo que hayan realizado para la red. La miner√≠a es un ejemplo de c√≥mo funciona la prueba. Los mineros son recompensados ‚Äč‚Äčen forma de tokens seg√ļn la cantidad de transacciones que hayan procesado.

  1. Prueba de participación

Con PoS, un participante de la red puede votar en un nuevo bloque de acuerdo con su participación en la red.

¬ŅCu√°les son los beneficios de una aplicaci√≥n descentralizada?

Ya he mencionado brevemente una de las principales ventajas de las aplicaciones descentralizadas. Una y otra vez, los profesionales de TI citan la seguridad como su principal preocupaci√≥n cuando se trata de aplicaciones.

Desafortunadamente, el modelo cliente / servidor ofrece a los piratas cibern√©ticos un √ļnico punto en el que orquestar los ataques. Esta falla ha resultado en violaciones masivas de datos que no solo han costado enormes sumas de dinero, sino que tambi√©n han da√Īado la confianza de los clientes.

DDoS, inyecci√≥n SQL, ataques XML, phishing y ataques de suplantaci√≥n son solo algunos de los muchos tipos de desaf√≠os de seguridad que enfrentan las aplicaciones convencionales. La descentralizaci√≥n previene este tipo de ataques porque no hay un solo punto de falla.

Dado que cada nodo de la red tiene un registro completo de todas las transacciones y debe autorizar cualquier transacción nueva, un pirata informático necesitaría obtener el control de la mayoría de los nodos de la red para poder realizar dicho cambio.

No solo eso, cualquier alteración de los datos almacenados en una cadena de bloques requeriría que el pirata informático altere los bloques alrededor de cualquier bloque que desearan cambiar para que su actividad no sea detectada.

Estas caracter√≠sticas son la raz√≥n por la que, hasta la fecha, no ha habido un solo ataque exitoso en una red blockchain. La √ļnica oportunidad realista que tienen los piratas inform√°ticos es aplicar la enorme potencia inform√°tica de una computadora cu√°ntica para intentar enga√Īar al mecanismo de hash.

VENTAJAS DE LAS REDES DESCENTRALIZADAS: RESUMEN

  • Ninguna entidad controladora.
  • M√°s seguro que las redes cliente / servidor.
  • Registro seguro de toda la base de datos.
  • Requiere el acuerdo de toda la red para alterar los bloques escritos.
  • No se puede apagar por un solo corte / ataque.
  • Sin tiempo de inactividad.
  • Mayor confianza.
  • Pagos f√°ciles de facilitar.

DESVENTAJAS DE LAS APLICACIONES DESCENTRALIZADAS

  • Tiempos de procesamiento de transacciones m√°s lentos.
  • Las cadenas de bloques se vuelven menos eficientes a medida que aumentan de tama√Īo.
  • Los costos de energ√≠a son m√°s altos.

¬ŅC√≥mo construir una aplicaci√≥n descentralizada?

Cuando decida crear una aplicaci√≥n descentralizada, debe saber que el proceso conlleva sus propios desaf√≠os √ļnicos.¬†Caracter√≠sticas como la descentralizaci√≥n y la creaci√≥n de un contrato inteligente requieren un conjunto de habilidades de desarrollador √ļnico.¬†Es por ello que contratar los servicios de un desarrollador que tenga experiencia en el desarrollo de una aplicaci√≥n blockchain descentralizada es una buena idea.

Para proyectos más grandes, definitivamente es una buena idea subcontratar el proyecto a un equipo de desarrollo profesional para que puedan hacer todo el trabajo duro por usted. También es posible que deba pensar en contratar una empresa para que lo ayude a manejar su ICO.

Usando una ICO para financiar su proyecto

Paso 1: conoce tu proyecto

Antes de hacer cualquier cosa, es muy importante que comprenda su proyecto de arriba a abajo.¬†No solo deber√° comprender c√≥mo su aplicaci√≥n intenta resolver cualquier problema para el que ha sido dise√Īada, sino que tambi√©n deber√° comprender cosas como por qu√© la aplicaci√≥n debe ser una aplicaci√≥n descentralizada, cu√°nto va a costar, y si existe o no un mercado para ello en primer lugar?

Paso 2: crea un documento técnico

Una vez que tenga una visi√≥n clara de lo que es su aplicaci√≥n, c√≥mo funcionar√° y d√≥nde estar√° en 5 a√Īos, ahora puede comenzar el proceso de redacci√≥n de un excelente documento t√©cnico para ayudar a los inversores a comprender su visi√≥n.

Paso 3: lanzar una oferta inicial de monedas

Las ICO son una excelente manera de recaudar los fondos que necesitar√° para desarrollar su proyecto.¬†A diferencia de las OPI, no requieren que ceda ning√ļn control en la empresa a trav√©s de acciones, etc. para recaudar el dinero que necesita.

Paso 4: comience a construir su aplicación

Hay muchos enfoques que puede tomar para crear una aplicación descentralizada. Algunos son mucho más fáciles que otros, ya que utilizan los recursos proporcionados por organizaciones como The Ethereum Project, etc.

La mayor√≠a de las aplicaciones descentralizadas de baja escala ahora utilizan el servicio de contrato inteligente de Ethereum de una forma u otra. Dado que ya tienen una gran cantidad de recursos que ya est√°n disponibles para su uso en desarrollo, Ethereum representa una excelente manera de reducir el tiempo y el dinero necesarios para crear una aplicaci√≥n descentralizada.

Lo que sigue son los pasos principales y las consideraciones vitales para construir una aplicación descentralizada.

PASO DE DESARROLLO 1: DECIDIR QU√Č TECNOLOG√ćA UTILIZAR√Ā: DEFINIR SU ENTORNO

Deberá determinar exactamente qué tecnología utilizará para estas áreas clave de desarrollo:

  • Base de datos.
  • Frameworks.
  • Hospedaje.
  • Interfaz.
  • Contratos frontend.
  • Lenguaje de programaci√≥n del contrato.
  • API.
  • Servidor de desarrollo.

PASO DE DESARROLLO 2: CONFIGURAR EL PROYECTO

Este paso implicar√°, en primer lugar, instalar el marco de desarrollo.

A continuación, deberá configurar todas las herramientas que necesitará para el desarrollo frontal de su aplicación. Trate de desarrollar siempre en un idioma con el que todo su equipo de desarrollo esté familiarizado. Esto puede parecer obvio, pero es sorprendente cuántos proyectos ignoran esta regla. Para Ethereum, los desarrolladores pueden usar Solidity o Serpent.

Si tiene la intenci√≥n de utilizar Ethereum, Truffle es una excelente plataforma de desarrollo.

PASO DE DESARROLLO 3: CODIFIQUE LA APLICACI√ďN

Si eres nuevo en todo esto, y si es la primera vez que creas una aplicaci√≥n descentralizada, empieza por usar Solidity, ya que es el lenguaje m√°s f√°cil de usar gracias a su similitud con JavaScript. Solidity es un excelente lenguaje de programaci√≥n para codificar los contratos inteligentes que necesitar√° su aplicaci√≥n descentralizada.

Los contratos inteligentes son la parte de la creaci√≥n de aplicaciones descentralizadas con las que los desarrolladores deber√°n estar familiarizados. Como ya he dicho, crear contratos inteligentes directamente en la cadena de bloques Ethereum es, con mucho, la forma m√°s f√°cil de crear su propia aplicaci√≥n descentralizada a peque√Īa escala.

Tenga en cuenta que las transacciones de blockchain cuestan dinero. Conocido como ‚Äúgas‚ÄĚ, es el dinero que se destina a los mineros que procesan las transacciones. En el caso de Ethereum, el gas se cargar√° en Ether que se deducir√° de su cuenta.

El siguiente paso es completar el desarrollo de front-end

Recuerde cuando dise√Īe su interfaz de usuario para que sea √°gil y atractiva para los usuarios. La funcionalidad es clave para una excelente interfaz de usuario, as√≠ que aseg√ļrese de que tenga todas las funciones que un usuario pueda necesitar y de que est√©n ubicadas en los lugares donde m√°s se necesitan.

Entonces, por ejemplo, si est√° creando un sistema de identificaci√≥n descentralizado, debe asegurarse de que la informaci√≥n relevante se muestre de manera que sea m√°s f√°cil de interpretar. No hay nada peor que no poder encontrar la informaci√≥n o los botones que necesita.

PASO DE DESARROLLO 4 IMPLEMENTE Y PRUEBE SU DAPP

Antes de implementar su aplicaci√≥n en la cadena de bloques, vale la pena se√Īalar que cualquier c√≥digo de contrato inteligente implementado ser√° inalterable y se almacenar√° para siempre en la cadena de bloques. Aunque es posible ‚Äėsobrescribir‚Äô el c√≥digo anterior creando nuevos bloques en la cadena, siempre debe asegurarse de que su c√≥digo est√© al 100% antes de implementarlo.

Siempre debe asegurarse de iniciar completamente su DApp solo despu√©s de que se haya probado por completo. Por esta raz√≥n, todas las aplicaciones deben tener una ventana de prueba integrada en su desarrollo. Antes de llegar a la etapa de prueba, debe concertar una reuni√≥n con su equipo de desarrollo en la que analice todas las variables que deber√° probar.

Con una aplicación de votación descentralizada, por ejemplo, estas variables incluirán pruebas de un solo voto, así como votaciones de alto volumen para probar la velocidad de procesamiento de la red, etc. También debe probar para ver cómo la aplicación se ocupa de los votos repetidos emitidos por el mismo individuo e intentos de alterar los votos después de que hayan sido emitidos, etc.

PASO DE DESARROLLO 5: INICIE SU APLICACI√ďN

Una vez que su aplicación haya sido probada, estará listo para iniciarla. Elija un dominio personalizado para la aplicación para que se vea profesional y luego dígales a todos que está lista y lista. Tenga en cuenta que esta será la parte más intensiva de su estrategia de marketing desde el lanzamiento de su ICO, ya que deberá mantener el rumor sobre su proyecto.

Aunque la parte m√°s dif√≠cil qued√≥ atr√°s, el √©xito de su nueva DApp no ‚Äč‚Äčest√° asegurado. Por esta raz√≥n, debe mantener el mismo nivel de trabajo duro y diligencia que lo llev√≥ a crear una gran aplicaci√≥n en primer lugar.

Artículos Relacionados

Artículos Destacados

3 comentarios en ¬ęLas Aplicaciones Descentralizadas ( DAPPS )¬Ľ

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.