S0_Generalidades - SofiAlfonso/croody_web3_project GitHub Wiki

1. Descripción del Problema y Solución Software

Problema

Actualmente el intercambio de activos digitales (tokens y NFTs) se realiza principalmente a través de plataformas centralizadas que custodian los fondos de los usuarios. Este enfoque genera múltiples inconvenientes:

  • Pérdida de control sobre los activos
  • Altas comisiones por intermediación
  • Riesgos de seguridad y hackeos
  • Falta de transparencia en las transacciones
  • Dependencia de terceros para validar operaciones

Cifras que respaldan el problema

Hackeos y pérdidas en plataformas centralizadas:

  • En 2024 se robaron $2.2 billones USD en hackeos a plataformas crypto, un 21% más que en 2023 (Chainalysis, 2025)
  • Las pérdidas en plataformas centralizadas (CeFi) se duplicaron: pasaron de $339M en 2023 a $694M en 2024 (Invezz)
  • El 75% de los hackeos en 2024 ocurrieron por robo de llaves privadas almacenadas en servidores centralizados (CoinLaw)
  • Casos puntuales: DMM Bitcoin perdió $305M (mayo 2024) y WazirX perdió $235M (julio 2024)
  • En total, la industria crypto acumula $22.7 billones USD en pérdidas históricas por hackeos y estafas (Economy Insights)

Tamaño del mercado NFT:

  • El mercado global de NFTs se estimó entre $36B y $48B USD en 2024 (CoinLaw, SkyQuest)
  • Ethereum procesa el 62% de todas las transacciones NFT a nivel mundial
  • Se proyecta un crecimiento a más de $700B USD para 2034 con un CAGR del 34% (Precedence Research)

Estas cifras muestran que el problema de seguridad en plataformas centralizadas es real y creciente, y que el mercado de NFTs tiene el tamaño suficiente para justificar una solución descentralizada como la que se propone.

Solución Propuesta

Se propone el desarrollo de una aplicación web descentralizada (DApp) sobre la red Ethereum que integre en un único ecosistema los principales servicios necesarios para la gestión de activos digitales.

La plataforma contará con los siguientes módulos:

Wallet no custodial

Permite a los usuarios conectar su billetera (MetaMask o WalletConnect) y firmar transacciones localmente desde el navegador.
El sistema nunca almacena ni gestiona llaves privadas, garantizando seguridad y soberanía total del usuario sobre sus fondos.

Token nativo (ERC20)

Se implementará una moneda digital propia del proyecto que funcionará como medio de intercambio dentro del ecosistema.
Los usuarios podrán consultar su saldo en tiempo real y realizar transferencias P2P entre direcciones blockchain.

Gestión de NFTs (ERC721)

Los usuarios podrán visualizar, enviar y recibir coleccionables digitales directamente desde su wallet.
Los metadatos de los NFTs se almacenarán en IPFS para garantizar descentralización y disponibilidad.

Marketplace de subastas

Se integrará un mercado tipo eBay especializado en NFTs donde:

  • Los vendedores pueden publicar activos
  • Los compradores pueden realizar pujas
  • Las subastas tienen duración configurable
  • El NFT se transfiere automáticamente al ganador
  • El pago se envía automáticamente al vendedor
  • Se permite cancelación o venta inmediata por precio objetivo

Toda la lógica será ejecutada mediante smart contracts, eliminando intermediarios y garantizando transparencia.

Esta solución proporciona seguridad, descentralización, trazabilidad y control total de los activos digitales por parte de los usuarios.


2. Personas y roles del proyecto

Ana Sofia Alfonso Moncada

UX Designer

Interaction Design and user experience

Juan Nicolás Vasquez Ocampo

SCRUM MASTER

Leadership and team management

Mateo Garcia Carreño

Frontend

UI implementation and Web3 integration

Mateo Sanz Medina

Backend & QA

System integration and services

Samuel Henao Castrillón

Backend & QA

Smart contract integration and server-side logic


3. Público Objetivo y Contexto

Público objetivo

La plataforma está diseñada para ser accesible a cualquier persona que disponga de un navegador web moderno y una wallet compatible (como MetaMask). No existen restricciones de acceso ni procesos de registro tradicionales: cualquier usuario con una dirección Ethereum puede conectarse y utilizar todas las funcionalidades del ecosistema.

Dentro de la plataforma, los usuarios adoptan de forma natural uno o varios de los siguientes roles según su interacción con el sistema. Estos roles no son excluyentes: un mismo usuario puede actuar como creador, comprador y gestor de su wallet simultáneamente.

Roles dentro de la plataforma

Usuario / Gestor de wallet

Cualquier persona que se conecta a la plataforma y utiliza su billetera digital para administrar activos criptográficos. Interactúa con el sistema para consultar su saldo, enviar y recibir tokens, y gestionar sus NFTs de forma segura. Es el rol base que todo usuario asume al conectar su wallet, independientemente de si participa o no en el marketplace.

Subastador de NFTs

Son usuarios que cuentan con activos digitales como NFT´s minteados en otras plataformas y que buscan expandir su público de venta mediante un marketplace. Utilizan la plataforma para publicar NFT's en subastas y recibir pagos automáticos sin intermediarios. Buscan autonomía, trazabilidad de propiedad y monetización directa de su trabajo.

Comprador / Postor

Cualquier usuario interesado en adquirir NFTs por colección, inversión o uso personal. Exploran el marketplace, analizan activos disponibles y realizan pujas en subastas. Requieren transparencia en precios, seguridad en las transacciones y transferencia automática de propiedad.

Nota: Dado que la plataforma opera bajo el paradigma Web3, no existe un rol de administrador centralizado. La lógica de negocio se ejecuta mediante smart contracts y las reglas del sistema son transparentes e iguales para todos los participantes.

Usuarios secundarios

Desarrolladores blockchain

Pueden integrarse al ecosistema para extender funcionalidades, auditar contratos o desarrollar nuevas herramientas sobre la plataforma.

Startups o comunidades Web3

Organizaciones interesadas en utilizar el token o el marketplace como base para sus propios proyectos digitales o económicos.


Contexto tecnológico

El sistema se implementará como una aplicación descentralizada (DApp) bajo el paradigma Web3, donde la lógica de negocio se ejecuta principalmente en la blockchain y los usuarios mantienen el control directo de sus activos mediante wallets no custodiales.
Para su funcionamiento, la plataforma interactúa con los siguientes componentes tecnológicos:

Hardware

  • Computadores personales y portátiles: dispositivos principales para acceder a la aplicación web con todas sus funcionalidades, como gestión de tokens, creación de NFTs y participación en subastas.
  • Dispositivos móviles: permiten el acceso ligero para consulta de saldos, visualización de activos y seguimiento de subastas desde cualquier ubicación.

Software

  • Navegadores web modernos (Chrome, Brave, Firefox): entorno de ejecución de la DApp, donde se carga la interfaz gráfica y se establece la conexión con la blockchain.
  • Wallets como MetaMask o WalletConnect: herramientas de autenticación y firma criptográfica que permiten a los usuarios aprobar transacciones de forma segura sin exponer sus llaves privadas.
  • Frontend Web3 (DApp): interfaz desarrollada con tecnologías web que conecta al usuario con los smart contracts mediante librerías blockchain, permitiendo enviar transacciones y consultar información on-chain.

Infraestructura blockchain

  • Smart Contracts: programas desplegados en Ethereum que implementan la lógica del negocio, incluyendo el token ERC20, la gestión de NFTs (ERC721) y el marketplace de subastas.
  • Red Ethereum (Testnet): red descentralizada donde se almacenan las transacciones y estados del sistema, garantizando inmutabilidad, seguridad y transparencia durante el desarrollo y pruebas.
  • IPFS: sistema de almacenamiento distribuido utilizado para guardar archivos y metadatos de los NFTs, evitando depender de servidores centralizados.

4. Proceso de Interacción

A continuación, se describe cómo cada tipo de usuario interactúa con la plataforma y cuáles son sus objetivos principales dentro del ecosistema.


Usuario estándar

El usuario estándar utiliza la plataforma como una billetera digital para gestionar sus activos criptográficos y participar ocasionalmente en el mercado de NFTs.
Su objetivo principal es administrar sus tokens y coleccionables de forma segura y descentralizada.

Flujo de interacción:

  1. Accede a la aplicación web desde su navegador
  2. Conecta su wallet (MetaMask o WalletConnect)
  3. Consulta su saldo de tokens en tiempo real
  4. Envía y recibe tokens mediante transferencias P2P
  5. Visualiza, envía y recibe NFTs dentro del ecosistema
  6. Explora el marketplace y participa en subastas si lo desea
  7. Firma todas las transacciones localmente desde su wallet

Subastador de NFTs

El subastador es un usuario que cuenta con activos digitales como NFT´s minteados en otras plataformas y que buscan expandir su público de venta mediante un marketplace.
Su objetivo es vender sus activos como NFTs en el marketplace mediante subastas y sin intermediarios.

Flujo de interacción:

  1. Conecta su wallet a la plataforma
  2. Define las condiciones de venta:
    • precio inicial
    • duración de la subasta
    • precio objetivo de venta inmediata (opcional)
  3. Publica el NFT en el marketplace
  4. Puede cancelar la subasta antes de finalizar si lo desea
  5. Recibe automáticamente los fondos cuando el NFT es vendido

Comprador / Postor

El comprador o postor es un usuario interesado en adquirir NFTs para colección, uso personal o inversión.
Busca explorar los activos disponibles y participar en subastas de manera transparente y segura.

Flujo de interacción:

  1. Conecta su wallet
  2. Explora el catálogo de NFTs disponibles en el marketplace
  3. Consulta información del activo (precio actual, tiempo restante, historial de pujas)
  4. Realiza pujas sobre los NFTs de interés
  5. Espera el cierre automático de la subasta
  6. Si resulta ganador:
    • el NFT se transfiere automáticamente a su wallet
    • el pago se ejecuta de forma automática mediante smart contracts

5. Glosario

  • Blockchain: Registro distribuido, descentralizado e inmutable donde se almacenan transacciones de forma segura y verificable.

  • Smart Contract: Programa desplegado en la blockchain que ejecuta reglas de negocio automáticamente sin intermediarios.

  • DApp (Decentralized Application): Aplicación que opera sobre una red blockchain y cuya lógica principal se ejecuta mediante smart contracts.

  • Wallet: Billetera digital que permite a los usuarios almacenar claves criptográficas, firmar transacciones y gestionar activos digitales.

  • Wallet no custodial: Tipo de wallet donde el usuario mantiene el control exclusivo de sus llaves privadas, sin que un servidor externo las almacene.

  • Token (ERC20): Activo digital fungible que representa una unidad de valor intercambiable dentro de la red Ethereum.

  • NFT (ERC721): Token no fungible que representa un activo digital único con identidad y propiedad verificables.

  • Marketplace: Plataforma digital donde los usuarios pueden comprar, vender o intercambiar activos digitales.

  • Subasta: Mecanismo de venta en el que múltiples usuarios realizan pujas por un activo durante un tiempo determinado.

  • Puja (Bid): Oferta económica realizada por un usuario para intentar adquirir un NFT en una subasta.

  • Transacción P2P: Transferencia directa de activos entre dos usuarios sin intermediarios.

  • MetaMask: Wallet no custodial que permite a los usuarios interactuar con aplicaciones Web3 desde el navegador.

  • IPFS (InterPlanetary File System): Sistema de almacenamiento distribuido utilizado para guardar archivos y metadatos de forma descentralizada.

  • Testnet: Red de prueba de Ethereum utilizada para desarrollar y validar aplicaciones sin usar dinero real.

  • Gas: Costo computacional necesario para ejecutar operaciones y transacciones en la blockchain de Ethereum.

  • Ethereum: Plataforma blockchain descentralizada de código abierto que permite la creación y ejecución de smart contracts y aplicaciones descentralizadas.

  • Solidity: Lenguaje de programación orientado a objetos utilizado para escribir smart contracts en la red Ethereum y blockchains compatibles con la EVM.

  • EVM (Ethereum Virtual Machine): Entorno de ejecución aislado donde se procesan los smart contracts en la red Ethereum, garantizando determinismo y seguridad.

  • Minting (Acuñación): Proceso de crear un nuevo token o NFT y registrarlo en la blockchain, asignándole un identificador único y un propietario inicial.

  • Llave privada (Private Key): Clave criptográfica secreta que permite al usuario firmar transacciones y demostrar la propiedad de una dirección blockchain. Nunca debe ser compartida.

  • Llave pública (Public Key): Clave criptográfica derivada de la llave privada que se utiliza para generar la dirección del usuario y verificar firmas digitales.

  • Dirección (Address): Identificador único derivado de la llave pública que funciona como cuenta dentro de la blockchain para enviar y recibir activos.

  • Wei / Gwei: Unidades de medida de Ether. Wei es la unidad mínima (1 ETH = 10^18 Wei) y Gwei es una unidad intermedia comúnmente usada para expresar costos de gas.

  • ABI (Application Binary Interface): Especificación que define cómo interactuar con un smart contract desde el exterior, describiendo sus funciones, parámetros y tipos de datos.

  • Web3: Paradigma de internet descentralizado donde los usuarios interactúan directamente con protocolos blockchain, manteniendo la propiedad de sus datos y activos sin depender de intermediarios centralizados.

  • WalletConnect: Protocolo abierto que permite conectar wallets móviles con aplicaciones descentralizadas mediante escaneo de código QR o enlaces profundos.

  • Firma digital (Digital Signature): Mecanismo criptográfico mediante el cual un usuario autoriza una transacción usando su llave privada, sin necesidad de revelarla.

  • On-chain: Datos o transacciones que se registran y almacenan directamente en la blockchain, garantizando inmutabilidad y verificabilidad pública.

  • Off-chain: Datos o procesos que ocurren fuera de la blockchain, como almacenamiento en IPFS o cálculos en servidores externos, usados para reducir costos de gas.

  • Metadata (Metadatos): Información descriptiva asociada a un NFT (nombre, descripción, imagen, atributos) que generalmente se almacena en IPFS y se referencia desde el smart contract.

  • Token URI: Referencia almacenada en el smart contract de un NFT que apunta a la ubicación de sus metadatos, típicamente una URL de IPFS.

  • Hardhat: Entorno de desarrollo para Ethereum que facilita la compilación, prueba, depuración y despliegue de smart contracts en redes locales y testnets.

  • Ethers.js: Librería de JavaScript que permite a las aplicaciones web interactuar con la blockchain de Ethereum, enviar transacciones y consultar datos de smart contracts.

  • Hash: Resultado de una función criptográfica que convierte datos de cualquier tamaño en una cadena de longitud fija, utilizado en blockchain para identificar bloques, transacciones y direcciones.

  • Nodo: Computador que participa en la red blockchain almacenando una copia del registro distribuido y validando transacciones según las reglas del protocolo de consenso.