
Subscribe to The lisa's notes
Share Dialog
Share Dialog
<100 subscribers
<100 subscribers


Una aplicación descentralizada (dapp) es una aplicación construida sobre una red descentralizada que combinan smart contracts los cuales realizen funciones específicas y contribuyen a la lógica de la aplicación.
En 2014 se lanzó un informe que define las DApps, llamado "La teoría general de las aplicaciones descentralizadas, Dapps." Fue escrito por varios autores como David Johnston y Shawn Wilkinson.
El documento definió las DApps como entidades con las siguientes características:
Deben ser open source y funcionar sin intervención de terceros.
Debe ser controlado por el usuario, ya que ellos proponen y votan los cambios que se implementan automáticamente.
Toda la información debe mantenerse en una red de blockchain de acceso público. La descentralización es clave, ya que no puede haber un punto central de ataque.
DApps debe tener algún tipo de token crypto para el acceso y deben recompensar a los contribuyentes en dicho token, como los mineros y las partes interesadas.
Una DApp debe tener un método de consenso que genere tokens, como la prueba de trabajo (PoW) o la prueba de participación (PoW).

El documento clasifica tres "tipos" o "capas" de DApps en función de la forma en que los usuarios interactúan con ellos.
Existen por sí mismas en su propia blockchain. Requieren un algoritmo de consenso y reglas al baked-in.
Baking es el proceso de Proof of Stake utilizado para confirmar nuevos bloques de transacción en la blockchain. Allí los "panaderos" (Quienes participan del Proof-Of-Stake) reciben recompensas por cada bloque recién horneado.
Se construyen encima de la capa uno, aprovechando el poder de dicha blockchain. A menudo considerados protocolos, utilizan tokens para las interacciones.
Una solución de escalado como Polygon construida sobre Ethereum es una DApp de capa dos. Las transacciones se procesan en esta segunda capa antes de comprometerse con la primera, quitando algo de carga de la cadena principal.
Se construyen encima de la capa dos, contienen la información requerida para que las otras dos capas interactúen. Almacenan las API y los scripts necesarios para que la capa uno y la capa dos funcionen. Un protocolo de capa tres podría albergar varias DApps de capa dos, facilitando la experiencia del usuario a través de todas ellas.

Apariencia: El frontend de una Dapp luce similar a cualquier web normal, ayuda a comunicar con los smart contracts, e interactúa con el DLT para controlar las llaves públicas y privadas, así como la dirección del monedero.
Web3.js : Una librería de JavaScript que permite a los usuarios conectar el frontend con la blockchain de Ethereum, ayudan a interactuar con un nodo local o remoto en la red de Ethereum usando HTTP, IPC o WebSocket.

Debido a que la red de Ethereum es descentralizada y cada nodo guarda una copia de todos los estados sobre el estado de la máquina, incluyendo el código y los datos asociados con cada smart contract.
Cuando queremos interactuar con los datos y código sobre la blockchain, se necesita interactuar con uno de esos nodos. Esto es porque cualquier nodo puede hacer una solicitud para que una transacción se ejecute en el Ethereum Virtual Machine, en el cual un minero ejecutará la transacción y propagará el cambio de estado resultante al resto de la red.
La máquina virtual de Ethereum decodifica la lógica dada en los Smart contracts, los cuales procesan los cambios que ocurren en la red blockchain, la EVM no puede leer el lenguaje de Solidity, por lo cual el código es traducido a código de bytes para asegurar la ejecución del contrato. Además al ejecutarse en una máquina virtual, el cual es un espacio aislado, si ocurre un bug, no afectará al funcionamiento de la red blockchain.
Existen 2 formas de emitir una nueva transacción:
1. Configurar su propio nodo que ejecute el Ethereum Blockchain Software: Configurar un nuevo nodo de Ethereum en tu propio servidor puede tomar días, mucho ancho de banda y almacenamiento debido al alto volumen de datos que deben sincronizarse.
Además el costo de almacenar toda la cadena de bloques de Ethereum sube a medida que la DApp escala, y necesita agregar más nodos para expandir su infraestructura.
Usar nodos proporcionados por servicios de terceros como Infura, Alchemy y Quicknode: Hay una compensación ya que esto crea un punto de estrangulamiento centralizado.
Cada cliente de Ethereum (i.e. proveedor) implementa una especificación JSON-RPC. Esto asegura que haya un conjunto uniforme de métodos cuando las aplicaciones frontend quieren interactuar con la blockchain.
JSON-RPC: es un protocolo de llamada a procedimientos remotos sin estado y ligero (RPC) que define varias estructuras de datos y las reglas para su procesamiento. Es independiente del transporte, por lo que los conceptos se pueden usar dentro del mismo proceso, sobre sockets, sobre HTTP o en muchos entornos de paso de mensajes. Utiliza JSON (RFC 4627) como formato de datos.
Luego de conectarse a la blockchain con el proveedor, se puede leer el estado almacenado. Sin embargo, para escribir primero necesitas "firmar" la transacción con tu private key, y así la transacción puede ser enviada a la blockchain. Aquí es donde mayormente entra Metamask para el proceso de firma.
Metamask: Es una herramienta que facilita a las aplicaciones la gestión de claves y la firma de transacciones.
Almacena las claves privadas de un usuario en el navegador, y cuando el frontend necesita que el usuario firme una transacción, llama a Metamask.
También proporciona una conexión a la blockchain (como un "proveedor") ya que tiene una conexión a los nodos proporcionados por Infura, porque lo necesita para firmar transacciones. Por lo cual, es tanto un proveedor como un firmante.

Construir una app donde todos los smart contracts y la data vivan enteramente en la red de Ethereum es muy caro. Porque se paga cada vez que se añade nueva data se incrementa el costo para los nodos que mantienen la blockchain. Lo cual hace que los usuarios deban pagar cada vez más algo extra por cada transacción.
Las Dapps utilizan una red p2p o peer-to peer, el cual es una red de computadoras distribuidas llamadas nodos que evitan así que todo esté en una sola computadora o servidor central.
IPFS ó InterPlanetary File System es un sistema descentralizado que permite el alojamiento de contenido mediante la distribución de miles de nodos (computadoras), que aportan el ancho de banda necesario para almacenar los datos. Se puede gestionar todo tipo de contenido: bases de datos, sitios web, documentos, aplicaciones, etc.
Al subir un archivo a IPFS, la red lo divide en pequeñas partes y las distribuye a través de los nodos. Además al subirlo por primera vez la red realiza una sola copia de los archivos (cada una con su hash correspondiente) .
Las porciones del archivo se pueden rescatar gracias al hash asociado al archivo. Esta etiqueta permite a la red identificar los nodos donde se alojan los paquetes de datos.
Una vez que se identifica el hash, IPFS solicita a los nodos la transmisión de los paquetes a través de la conexión P2P. Para recuperar un archivo, basta con introducir su hash en un navegador compatible (como Opera o Brave).
Al igual que una red blockchain, el contenido de estos archivos no se puede alterar en el proceso. Si algún usuario intentara alterar un archivo, cambiaría su hash.
Pero se pueden generar versiones, conectándolas con el archivo original (generando un historial del mismo totalmente accesible).
Tiene una capa de incentivo conocida como "Filecoin", la cual incentiva a los nodos de todo el mundo para almacenar y recuperar estos datos.
Infura : Proporciona un nodo IPFS
Pinata : servicio donde puede "fijar" sus archivos a IPFS y tomar el hash IPFS y almacenarlo en la blockchain.
Swarm es similar en que es una red de almacenamiento descentralizada, pero hay una diferencia notable. Mientras que Filecoin es un sistema separado, el sistema de incentivos de Swarm está incorporado y se aplica a través de smart contratcs en la blockchain de Ethereum para almacenar y recuperar datos.
Generalmente el código del front-end no es almacenado en la blockchain sino en servidores como los de AWS, pero para ser totalmente descentralizado, este de igual forma debería almacenarse en una solución IFPS o Swarm.
Cuando deseamos leer data de los smart contracts sobre la blockchain hay 2 formas principales de hacerlo:
Smart Contract Events: Se puede usar la librería Web3.js de JavaScript para escuchar eventos específicos y devolver la llamada cada vez que el evento ocurre. Por ejemplo al realizar una transacción continua de pagos entre 2 personas, puedes emitir un evento cada vez que ocurra un nuevo pago. El código frontend escuchará los eventos siendo lanzados por el smart contract y llevará a cabo las acciones específicas descritas en él.
Si implementa un smart contract y luego se da cuenta de que necesita un evento emitido que no incluyó originalmente?. Tendría que redistribuir un nuevo contrato inteligente con ese evento y datos. Además, el uso de callbacks para manejar varias lógicas de interfaz de usuario se vuelve muy complejo muy rápidamente.
El Graph: Es una solución de indexación off-chain que facilita la consulta de datos en la blockchain de Ethereum.
Permite definir qué contratos inteligentes indexar, qué eventos y funciones llamar a escuchar y cómo transformar los eventos entrantes en entidades que su lógica frontend (o lo que esté usando la API) puede consumir.
Utiliza GraphQL como un lenguaje de consulta, el cual es expresivo en comparación con las API REST tradicionales.
Al indexar los datos de la blockchain, permite consultar datos on-chain en la lógica de aplicación con baja latencia.

No hay punto único de falla debido a que no utiliza un almacenamiento centralizado, sino la red blockchain abarca múltiples nodos. Las Dapps guardan la información de usuario sobre un DLT (Distributed Ledger Technology) que permiten diseñar un sistema de estructura de base de datos descentralizada, libre de modificaciones, intrusiones e inmutable.
Ayudan a un sentido de comunidad entre usuarios y desarrolladores, brindan la oportunidad de contribuir en la toma de decisiones e implementación del proyecto mediante el poder de voto, el cual es equivalente a la cantidad de tokens que tengas, y por el cual puedes obtener recompensas exclusivas, privilegios y beneficios de lealtad junto con tus derechos de voto.
Apoyan la privacidad al solo necesitar proveer la dirección de tu billetera digital y no tu identidad personal.
Integridad de los datos al ser estos almacenados en la red blockchain la cual es inmutable.
Soportan interconectividad entre portales.
Alta disponibilidad debido al descentralizado almacenamiento de los datos y los múltiples backups que aseguran la seguridad de los datos y recuperación en caso de un fallo.
Libertad de expresión y de ser baneado, debido a que no hay una autoridad regulatoria.
Fácil acceso a los datos de las Dapps debido a la información almacenada y visible públicamente en la blockchain.
Mantenimiento: Pueden ser díficiles de mantener y actualizar debido al código y datos publicados en la blockchain los cuales son díficiles de modificar.
Escalamiento y sobrecarga de rendimiento debido a que se debe lograr un nivel óptimo de seguridad, integridad, transparencia y contabilidad en cada nodo que corre y almacena las transacciones.
Por un lado, la falta de una autoridad central podría significar actualizaciones más lentas y cambios en la plataforma. Debido al requerimiento del consenso de la mayoría del gobierno en funciones - incluso para una corrección de errores menor. Esto podría llevar semanas o incluso meses mientras los usuarios debaten los pros y los contras de cualquier mejora.
Una aplicación descentralizada (dapp) es una aplicación construida sobre una red descentralizada que combinan smart contracts los cuales realizen funciones específicas y contribuyen a la lógica de la aplicación.
En 2014 se lanzó un informe que define las DApps, llamado "La teoría general de las aplicaciones descentralizadas, Dapps." Fue escrito por varios autores como David Johnston y Shawn Wilkinson.
El documento definió las DApps como entidades con las siguientes características:
Deben ser open source y funcionar sin intervención de terceros.
Debe ser controlado por el usuario, ya que ellos proponen y votan los cambios que se implementan automáticamente.
Toda la información debe mantenerse en una red de blockchain de acceso público. La descentralización es clave, ya que no puede haber un punto central de ataque.
DApps debe tener algún tipo de token crypto para el acceso y deben recompensar a los contribuyentes en dicho token, como los mineros y las partes interesadas.
Una DApp debe tener un método de consenso que genere tokens, como la prueba de trabajo (PoW) o la prueba de participación (PoW).

El documento clasifica tres "tipos" o "capas" de DApps en función de la forma en que los usuarios interactúan con ellos.
Existen por sí mismas en su propia blockchain. Requieren un algoritmo de consenso y reglas al baked-in.
Baking es el proceso de Proof of Stake utilizado para confirmar nuevos bloques de transacción en la blockchain. Allí los "panaderos" (Quienes participan del Proof-Of-Stake) reciben recompensas por cada bloque recién horneado.
Se construyen encima de la capa uno, aprovechando el poder de dicha blockchain. A menudo considerados protocolos, utilizan tokens para las interacciones.
Una solución de escalado como Polygon construida sobre Ethereum es una DApp de capa dos. Las transacciones se procesan en esta segunda capa antes de comprometerse con la primera, quitando algo de carga de la cadena principal.
Se construyen encima de la capa dos, contienen la información requerida para que las otras dos capas interactúen. Almacenan las API y los scripts necesarios para que la capa uno y la capa dos funcionen. Un protocolo de capa tres podría albergar varias DApps de capa dos, facilitando la experiencia del usuario a través de todas ellas.

Apariencia: El frontend de una Dapp luce similar a cualquier web normal, ayuda a comunicar con los smart contracts, e interactúa con el DLT para controlar las llaves públicas y privadas, así como la dirección del monedero.
Web3.js : Una librería de JavaScript que permite a los usuarios conectar el frontend con la blockchain de Ethereum, ayudan a interactuar con un nodo local o remoto en la red de Ethereum usando HTTP, IPC o WebSocket.

Debido a que la red de Ethereum es descentralizada y cada nodo guarda una copia de todos los estados sobre el estado de la máquina, incluyendo el código y los datos asociados con cada smart contract.
Cuando queremos interactuar con los datos y código sobre la blockchain, se necesita interactuar con uno de esos nodos. Esto es porque cualquier nodo puede hacer una solicitud para que una transacción se ejecute en el Ethereum Virtual Machine, en el cual un minero ejecutará la transacción y propagará el cambio de estado resultante al resto de la red.
La máquina virtual de Ethereum decodifica la lógica dada en los Smart contracts, los cuales procesan los cambios que ocurren en la red blockchain, la EVM no puede leer el lenguaje de Solidity, por lo cual el código es traducido a código de bytes para asegurar la ejecución del contrato. Además al ejecutarse en una máquina virtual, el cual es un espacio aislado, si ocurre un bug, no afectará al funcionamiento de la red blockchain.
Existen 2 formas de emitir una nueva transacción:
1. Configurar su propio nodo que ejecute el Ethereum Blockchain Software: Configurar un nuevo nodo de Ethereum en tu propio servidor puede tomar días, mucho ancho de banda y almacenamiento debido al alto volumen de datos que deben sincronizarse.
Además el costo de almacenar toda la cadena de bloques de Ethereum sube a medida que la DApp escala, y necesita agregar más nodos para expandir su infraestructura.
Usar nodos proporcionados por servicios de terceros como Infura, Alchemy y Quicknode: Hay una compensación ya que esto crea un punto de estrangulamiento centralizado.
Cada cliente de Ethereum (i.e. proveedor) implementa una especificación JSON-RPC. Esto asegura que haya un conjunto uniforme de métodos cuando las aplicaciones frontend quieren interactuar con la blockchain.
JSON-RPC: es un protocolo de llamada a procedimientos remotos sin estado y ligero (RPC) que define varias estructuras de datos y las reglas para su procesamiento. Es independiente del transporte, por lo que los conceptos se pueden usar dentro del mismo proceso, sobre sockets, sobre HTTP o en muchos entornos de paso de mensajes. Utiliza JSON (RFC 4627) como formato de datos.
Luego de conectarse a la blockchain con el proveedor, se puede leer el estado almacenado. Sin embargo, para escribir primero necesitas "firmar" la transacción con tu private key, y así la transacción puede ser enviada a la blockchain. Aquí es donde mayormente entra Metamask para el proceso de firma.
Metamask: Es una herramienta que facilita a las aplicaciones la gestión de claves y la firma de transacciones.
Almacena las claves privadas de un usuario en el navegador, y cuando el frontend necesita que el usuario firme una transacción, llama a Metamask.
También proporciona una conexión a la blockchain (como un "proveedor") ya que tiene una conexión a los nodos proporcionados por Infura, porque lo necesita para firmar transacciones. Por lo cual, es tanto un proveedor como un firmante.

Construir una app donde todos los smart contracts y la data vivan enteramente en la red de Ethereum es muy caro. Porque se paga cada vez que se añade nueva data se incrementa el costo para los nodos que mantienen la blockchain. Lo cual hace que los usuarios deban pagar cada vez más algo extra por cada transacción.
Las Dapps utilizan una red p2p o peer-to peer, el cual es una red de computadoras distribuidas llamadas nodos que evitan así que todo esté en una sola computadora o servidor central.
IPFS ó InterPlanetary File System es un sistema descentralizado que permite el alojamiento de contenido mediante la distribución de miles de nodos (computadoras), que aportan el ancho de banda necesario para almacenar los datos. Se puede gestionar todo tipo de contenido: bases de datos, sitios web, documentos, aplicaciones, etc.
Al subir un archivo a IPFS, la red lo divide en pequeñas partes y las distribuye a través de los nodos. Además al subirlo por primera vez la red realiza una sola copia de los archivos (cada una con su hash correspondiente) .
Las porciones del archivo se pueden rescatar gracias al hash asociado al archivo. Esta etiqueta permite a la red identificar los nodos donde se alojan los paquetes de datos.
Una vez que se identifica el hash, IPFS solicita a los nodos la transmisión de los paquetes a través de la conexión P2P. Para recuperar un archivo, basta con introducir su hash en un navegador compatible (como Opera o Brave).
Al igual que una red blockchain, el contenido de estos archivos no se puede alterar en el proceso. Si algún usuario intentara alterar un archivo, cambiaría su hash.
Pero se pueden generar versiones, conectándolas con el archivo original (generando un historial del mismo totalmente accesible).
Tiene una capa de incentivo conocida como "Filecoin", la cual incentiva a los nodos de todo el mundo para almacenar y recuperar estos datos.
Infura : Proporciona un nodo IPFS
Pinata : servicio donde puede "fijar" sus archivos a IPFS y tomar el hash IPFS y almacenarlo en la blockchain.
Swarm es similar en que es una red de almacenamiento descentralizada, pero hay una diferencia notable. Mientras que Filecoin es un sistema separado, el sistema de incentivos de Swarm está incorporado y se aplica a través de smart contratcs en la blockchain de Ethereum para almacenar y recuperar datos.
Generalmente el código del front-end no es almacenado en la blockchain sino en servidores como los de AWS, pero para ser totalmente descentralizado, este de igual forma debería almacenarse en una solución IFPS o Swarm.
Cuando deseamos leer data de los smart contracts sobre la blockchain hay 2 formas principales de hacerlo:
Smart Contract Events: Se puede usar la librería Web3.js de JavaScript para escuchar eventos específicos y devolver la llamada cada vez que el evento ocurre. Por ejemplo al realizar una transacción continua de pagos entre 2 personas, puedes emitir un evento cada vez que ocurra un nuevo pago. El código frontend escuchará los eventos siendo lanzados por el smart contract y llevará a cabo las acciones específicas descritas en él.
Si implementa un smart contract y luego se da cuenta de que necesita un evento emitido que no incluyó originalmente?. Tendría que redistribuir un nuevo contrato inteligente con ese evento y datos. Además, el uso de callbacks para manejar varias lógicas de interfaz de usuario se vuelve muy complejo muy rápidamente.
El Graph: Es una solución de indexación off-chain que facilita la consulta de datos en la blockchain de Ethereum.
Permite definir qué contratos inteligentes indexar, qué eventos y funciones llamar a escuchar y cómo transformar los eventos entrantes en entidades que su lógica frontend (o lo que esté usando la API) puede consumir.
Utiliza GraphQL como un lenguaje de consulta, el cual es expresivo en comparación con las API REST tradicionales.
Al indexar los datos de la blockchain, permite consultar datos on-chain en la lógica de aplicación con baja latencia.

No hay punto único de falla debido a que no utiliza un almacenamiento centralizado, sino la red blockchain abarca múltiples nodos. Las Dapps guardan la información de usuario sobre un DLT (Distributed Ledger Technology) que permiten diseñar un sistema de estructura de base de datos descentralizada, libre de modificaciones, intrusiones e inmutable.
Ayudan a un sentido de comunidad entre usuarios y desarrolladores, brindan la oportunidad de contribuir en la toma de decisiones e implementación del proyecto mediante el poder de voto, el cual es equivalente a la cantidad de tokens que tengas, y por el cual puedes obtener recompensas exclusivas, privilegios y beneficios de lealtad junto con tus derechos de voto.
Apoyan la privacidad al solo necesitar proveer la dirección de tu billetera digital y no tu identidad personal.
Integridad de los datos al ser estos almacenados en la red blockchain la cual es inmutable.
Soportan interconectividad entre portales.
Alta disponibilidad debido al descentralizado almacenamiento de los datos y los múltiples backups que aseguran la seguridad de los datos y recuperación en caso de un fallo.
Libertad de expresión y de ser baneado, debido a que no hay una autoridad regulatoria.
Fácil acceso a los datos de las Dapps debido a la información almacenada y visible públicamente en la blockchain.
Mantenimiento: Pueden ser díficiles de mantener y actualizar debido al código y datos publicados en la blockchain los cuales son díficiles de modificar.
Escalamiento y sobrecarga de rendimiento debido a que se debe lograr un nivel óptimo de seguridad, integridad, transparencia y contabilidad en cada nodo que corre y almacena las transacciones.
Por un lado, la falta de una autoridad central podría significar actualizaciones más lentas y cambios en la plataforma. Debido al requerimiento del consenso de la mayoría del gobierno en funciones - incluso para una corrección de errores menor. Esto podría llevar semanas o incluso meses mientras los usuarios debaten los pros y los contras de cualquier mejora.
Ejemplo:
Tenemos una Dapp que es un blog como Paragraph, mirror, el cual permite a los usuarios leer y publicar en la blockchain.
Los usuarios pueden hacer click en los botones del frontend para leer una entrada en particular de manera normal. Debido a que la lectura en la blockchain no requiere que un usuario firme una transacción.
Sin embargo si un usuario quiere publicar un nuevo post, la Dapp a traves de Metamask le solicitará "firmar" la transacción usando su llave privada, para así poder transmitir la transacción a la blockchain, de otro modo los nodos no aceptarían su publicación.

Construir una Dapp sobre Ethereum es muy costoso debido a los altos costos de gas fees.

Alternativas a Ethereum para el escalamiento de una Dapp.
Polygon: Solución de escalado L2. En lugar de ejecutar transacciones en la blockchain principal, Polygon tiene "cadenas laterales" que procesan y ejecutan transacciones. Estas cadenas secundarias se conectan con la cadena principal. De vez en cuando, la cadena lateral o secundaria presenta una agregación de sus bloques recientes a la cadena primaria.

Optimistic Rollups and zkRollups: Hacen transacciones por lotes fuera de la cadena utilizando un contrato inteligente "rollup" y luego periódicamente comprometen estas transacciones a la cadena principal.
Las soluciones L2 realizan la ejecución de transacciones fuera de la cadena (off-chain), con solo los datos de transacciones almacenados en la cadena(on-chain).
Esto nos permite escalar la blockchain porque no tienen que ejecutar cada transacción on-chain. Haciendo las transacciones más rápidas y baratas, a la vez que pueden comunicarse con la blockchain principal Ethereum cuando sea necesario.

Requieren una base de usuarios grande para funcionar correctamente. Debido a la necesidad de nodos, gobierno y usuarios para interactuar con ella.
Los usuarios deben descargar un navegador compatible con DApp, enviar la crypto requerida a esa wallet e interactuar desde allí.
Juego muy popular durante el año 2022 sobre la Blockchain de Ethereum, que presentaba personajes de juegos, tierras virtuales y objetos de juegos en forma de NFT, los cuales podían ser almacenados en crypto wallets, transferidos a otras direcciones de Ethereum o comerciarlos en el mercados NFT.
Los jugadores competían entre sí para recoger fichas ERC-20, además podían criar nuevos "Axies", crear especies raras y más valiosas o fuertes, y así poder ganar más dinero.

Facilitan el comercio con otro usuario directamente con la ayuda de smart contracts. Los pedidos se ejecutan on-chain y directamente entre las carteras de los usuarios. Las DEXs requieren menos mantenimiento, por lo cual tienen tasas de negociación más bajas. Algunos DEXs populares incluyen Uniswap, SushiSwap y PancakeSwap.

Audius: Plataforma de streaming de música descentralizada basada en blockchain, elimina los intermediarios para conectar artistas y fans directamente. Permite a los creadores de música monetizar mejor su contenido y producir registros inmutables de su trabajo en la cadena de bloques.

Steemit (Redes Sociales)
Red social descentralizada donde la comunidad puede interactuar libremente y expresar sus opiniones con menos restricciones y censura mientras disfruta de un mayor control de su información personal.
Fue la primera DApp construida en la blockchain de Steem. Su sistema de recompensas permite ganar diferentes tokens criptográficos como STEEM, STEEM POWER y STEEM DOLLAR cuando contribuyes o curas contenido.

Las DApps pueden empoderar a los usuarios para que desempeñen un papel más importante en la gobernanza de las organizaciones en línea mediante la introducción de un mecanismo de toma de decisiones más centrado en la comunidad.
Con la ayuda de smart contracts, los usuarios que tienen fichas de gobernanza de un proyecto de cadena de bloques en particular pueden crear propuestas para que la comunidad vote y emita sus votos sobre las propuestas de otros de forma anónima.
Uno de los modelos son las Organizaciones Autónomas Descentralizadas (DAOs). Pueden considerarse totalmente autónomas debido a que utilizan contratos inteligentes para tomar decisiones sin una autoridad central.
Los usuarios deben primero unirse a un DAO mediante la compra de su criptomoneda nativa para convertirse en un miembro. Ejemplos de organizaciones autónomas descentralizadas incluyen DASH, Augur, MakerDAO y mundos virtuales como Decentraland.


Fuentes:
Ejemplo:
Tenemos una Dapp que es un blog como Paragraph, mirror, el cual permite a los usuarios leer y publicar en la blockchain.
Los usuarios pueden hacer click en los botones del frontend para leer una entrada en particular de manera normal. Debido a que la lectura en la blockchain no requiere que un usuario firme una transacción.
Sin embargo si un usuario quiere publicar un nuevo post, la Dapp a traves de Metamask le solicitará "firmar" la transacción usando su llave privada, para así poder transmitir la transacción a la blockchain, de otro modo los nodos no aceptarían su publicación.

Construir una Dapp sobre Ethereum es muy costoso debido a los altos costos de gas fees.

Alternativas a Ethereum para el escalamiento de una Dapp.
Polygon: Solución de escalado L2. En lugar de ejecutar transacciones en la blockchain principal, Polygon tiene "cadenas laterales" que procesan y ejecutan transacciones. Estas cadenas secundarias se conectan con la cadena principal. De vez en cuando, la cadena lateral o secundaria presenta una agregación de sus bloques recientes a la cadena primaria.

Optimistic Rollups and zkRollups: Hacen transacciones por lotes fuera de la cadena utilizando un contrato inteligente "rollup" y luego periódicamente comprometen estas transacciones a la cadena principal.
Las soluciones L2 realizan la ejecución de transacciones fuera de la cadena (off-chain), con solo los datos de transacciones almacenados en la cadena(on-chain).
Esto nos permite escalar la blockchain porque no tienen que ejecutar cada transacción on-chain. Haciendo las transacciones más rápidas y baratas, a la vez que pueden comunicarse con la blockchain principal Ethereum cuando sea necesario.

Requieren una base de usuarios grande para funcionar correctamente. Debido a la necesidad de nodos, gobierno y usuarios para interactuar con ella.
Los usuarios deben descargar un navegador compatible con DApp, enviar la crypto requerida a esa wallet e interactuar desde allí.
Juego muy popular durante el año 2022 sobre la Blockchain de Ethereum, que presentaba personajes de juegos, tierras virtuales y objetos de juegos en forma de NFT, los cuales podían ser almacenados en crypto wallets, transferidos a otras direcciones de Ethereum o comerciarlos en el mercados NFT.
Los jugadores competían entre sí para recoger fichas ERC-20, además podían criar nuevos "Axies", crear especies raras y más valiosas o fuertes, y así poder ganar más dinero.

Facilitan el comercio con otro usuario directamente con la ayuda de smart contracts. Los pedidos se ejecutan on-chain y directamente entre las carteras de los usuarios. Las DEXs requieren menos mantenimiento, por lo cual tienen tasas de negociación más bajas. Algunos DEXs populares incluyen Uniswap, SushiSwap y PancakeSwap.

Audius: Plataforma de streaming de música descentralizada basada en blockchain, elimina los intermediarios para conectar artistas y fans directamente. Permite a los creadores de música monetizar mejor su contenido y producir registros inmutables de su trabajo en la cadena de bloques.

Steemit (Redes Sociales)
Red social descentralizada donde la comunidad puede interactuar libremente y expresar sus opiniones con menos restricciones y censura mientras disfruta de un mayor control de su información personal.
Fue la primera DApp construida en la blockchain de Steem. Su sistema de recompensas permite ganar diferentes tokens criptográficos como STEEM, STEEM POWER y STEEM DOLLAR cuando contribuyes o curas contenido.

Las DApps pueden empoderar a los usuarios para que desempeñen un papel más importante en la gobernanza de las organizaciones en línea mediante la introducción de un mecanismo de toma de decisiones más centrado en la comunidad.
Con la ayuda de smart contracts, los usuarios que tienen fichas de gobernanza de un proyecto de cadena de bloques en particular pueden crear propuestas para que la comunidad vote y emita sus votos sobre las propuestas de otros de forma anónima.
Uno de los modelos son las Organizaciones Autónomas Descentralizadas (DAOs). Pueden considerarse totalmente autónomas debido a que utilizan contratos inteligentes para tomar decisiones sin una autoridad central.
Los usuarios deben primero unirse a un DAO mediante la compra de su criptomoneda nativa para convertirse en un miembro. Ejemplos de organizaciones autónomas descentralizadas incluyen DASH, Augur, MakerDAO y mundos virtuales como Decentraland.


Fuentes:
No activity yet