MINE: MarketPlace de NFT para títulos de propiedad de bienes muebles físicos (vehículos, motos, botes, entre otros).
MINE es una plataforma que permite hacer transacciones sin necesidad de presencia física de los compradores y vendedores en las localidades o países donde se realice la operación, con transacciones de compra/ventas pagadas en criptomonedas, con compras protegidas para el resguardo de la seguridad tanto del comprador como del vendedor.
Esta solución está basada en tecnologías de la Web3, mediante la creación de una DApp desplegada en la Blockchain de Ethereum.
Los Usuarios (compradores, vendedores) deben conectar su Wallet para:
Registrarse.
Autenticarse.
Registrar nuevos bienes para la venta.
Comprar bienes.
Adicionalmente deben tener datos de contacto para negociar bienes y los precios:
DNI / Cédula.
Nombre.
Apellido.
Teléfono.
Correo electrónico.
Habrá una exhibición pública de los bienes. Los observadores también necesitan una Wallet para consultar y ver.
Los Bienes serán mostrados por categorías.
La moneda para mostrar los precios de los Bienes será US Dollar y la de intercambio oficial será el ETH.
Inicialmente estará solamente disponible en Medellín, Colombia.
Se asociará una comisión a cada uno de los NFT registrados en la DApp para que cada vez que se transfiera este NFT envíe un porcentaje al propietario del Smart Contract.
Se cobrará una comisión por cada venta realizada.
¿Cuál problema soluciona el proyecto?
¿Te ha pasado que quieres comprar o vender un vehículo fuera de tu localidad y no encuentras las personas o herramientas necesarias para poder realizar la transacción?
¿Estás cansado de los Marketplaces en redes sociales que no entregan la información verdadera de lo que buscas, y si ofreces un producto no se le da la suficiente visibilidad?
¿Estás cansado de pagar altas comisiones por transferencias bancarias para pagar bienes?
¿Cómo solucionarlo?
MINE: Una plataforma que permite hacer transacciones sin necesidad de presencia física de los compradores y vendedores en las localidades o países donde se realice la operación, con transacciones de compra/venta pagadas en criptomonedas, con compras protegidas para el resguardo de la seguridad tanto del comprador como del vendedor.
Esta solución está basada en tecnologías de la web3, mediante la creación de una DApp desplegada en la Blockchain de Ethereum.
Impacto para la Sociedad
En Latinoamérica no hay un Marketplace de NFT de bienes físicos como este.
Ahorro de Tiempo: comprador y vendedor pueden hacer las transacciones sin salir de casa/oficina.
Confianza y credibilidad entre las partes: porque los Bienes son auditados por peritos certificados, y estos Peritos pueden ser escogidos por los compradores.
No pasar por bancos: evitando así intermediarios.
Evitar altos “fees” de grandes transacciones y/o transferencias internacionales.
Valor Agregado respecto a la Web2
Descentralización:
La lógica de negocios es un Smart Contract.
El Frontend del App no puede ser censurado.
Los datos no están bajo control de los desarrolladores.
La Blockchain donde está desplegado el Smart Contract es Ethereum.
El Frontend está construido un de código abierto.
Trazabilidad de bienes, transacciones, firmas de involucrados.
Transparencia.
Actores
Comprador:
Pone el dinero de la compra del Bien.
Debe tener los fondos en su Wallet.
Paga el impuesto.
Vendedor:
Dueño del Bien.
Debe cubrir los gastos de la publicación del contrato y minteo (emisión) del NFT, con las características especificadas más adelante.
Paga el fee (comisión) del Perito o la certificación.
Peritos / Certificadores:
Certificar la validez del Bien, luego podrá venderse.
Firma la transacción cuando se cambia el Bien de dueño en el mundo real.
Cobrar fee de transacciones.
Servicio de creación de documentos digitales: si un producto no tiene título de propiedad, se genera.
El perito es el responsable legal de la transacción.
Notario:
A nivel físico-legal, realiza el cambio de los documentos.
A nivel digital, firma la transacción con su dirección / Wallet.
Recibe los impuestos.
Administrador (nuestra Wallet):
Cobrar comisiones.
Manda a ejecutar transferFrom de la cuenta del comprador a la del vendedor.
Aparte de la foto principal, puede haber fotos adicionales (ejemplo: moto, vehículo, bote: desde distintos ángulos).
Un apartado de fotos solo visible para el vendedor y el comprador que ya de su visto bueno de intención de compra, y de los peritos, en donde estará el documento de propiedad.
Posibles Problemas
Conversión de ETH a USD/COP u otra moneda, y viceversa.
NFT duplicados (que se publique el mismo Bien para la venta varias veces).
Más de un dueño.
Penalizaciones en caso de fraude en las propiedades.
Arquitectura
Planes a Futuro
Los bienes solamente podrán ser vendidos siempre que estén verificados por un Perito certificado. Los Peritos deben tener una certificación oficial para ejercer sus funciones, validados por las entidades reguladoras a nivel de la región donde ejerzan sus actividades. Para esto aparecerá una insignia al mostrar el Bien que indique tal condición.
Los Peritos serán los encargados de auditar y certificar que los Bienes existan y estén en regla. Sobre ellos recaerá la responsabilidad legal de legitimidad de los Bienes. Podrán interactuar con el sistema usando sus Wallets y ganando una comisión por las compras y las ventas.
Compra/venta de bienes inmuebles: propiedades raíz, locales comerciales, entre otros agregando a la Metadata dirección, coordenadas GPS, fotos de exteriores e interiores.
Compra/venta de activos virtuales: parcelas en el Metaverso, obras de arte NFT, entre otros.
Compra/venta de Joyas.
Subasta de bienes y activos.
Expandir la operación a otros países de Latinoamérica.
Utilizar como medio de pago Stable Coins cómo Tether(USDT).
Fotos adicionales en la Metadata de los Bienes, así como las fotos privadas.
Encriptaciones de datos sensibles de los usuarios (PII) almacenados en el IPFS.
Mostrar los precios en moneda local (por ejemplo, COP).
Herramientas utilizadas
Frontend
ReactJs
Web3.js (Wallet connection)
Chakra-UI (maquetación)
Mocha (testing)
HTML
CSS
JavaScript
VS Code (coding & peer programming)
Backend
Solidity
Hardhat
Open Zeppelin
Chain.link (integración de tasa cambiaria entre ETH – y USDT)
Nuestra convocatoria como equipo fue bastante espontánea. Eimer convocó a Carlos, luego ambos convocaron en el canal #General del Discord del reto #EthDevProgram y así aparecieron Javier, José y Fidelina. Finalmente, el grupo adoptó el nombre GOF5 (Gang of Five).
Entre nosotros hay un espíritu de igualdad y se respetan las intervenciones de cada quién. Esto surgió de manera natural desde el principio.
Comenzamos a reunirnos para ver cuáles ideas teníamos. Cada uno expuso su idea, y con mente maestra íbamos agregando detalles y otras cosas que fueron apareciendo.
Dejamos aterrizar la idea un día o dos, y luego se sometió a votación. Nadie hizo presión, ni publicidad, ni lobby. No se compraron votos. No importó tampoco de quién fueron las ideas.
Acordamos comenzar a hacer reuniones diarias para poder alcanzar las metas. Las primeras reuniones duran menos de 1 hora para poner a funcionar la mente maestra y darle forma al proyecto. Luego de establecer el tablero Jira, comenzar a crear y asignar tareas en el Backlog, nos reunimos diariamente en Stand Ups de 15-20 minutos para hacer el seguimiento, viendo que se hizo el día anterior, que se planea hacer el día de hoy y la existencia de algún bloqueo.
Comenzamos a trabajar en el Whitepaper, en reuniones un tanto maratónicas (3-5 horas) pero muy productivas. Delimitamos el proyecto, describimos actores, procedimientos, y sobre todo, la parte conceptual: la historia, el impacto, valor agregado de la Web 3 sobre hacerlo en la Web 2, posibles problemas, marco legal, el pitch, las tecnologías, entre otras cosas.
En un momento dado perdimos la fe en el proyecto, porque llegamos a pensar que no tenía mucho sentido la parte conceptual respecto a las ventajas de la Blockchain vs las aplicaciones actuales de la Web 2.0 y la complejidad de los asuntos legales implicados en el traspaso de bienes, sin embargo, logramos establecer bien el valor agregado que podemos dar solucionando el problema con nuestra plataforma que facilitaría y daría seguridad en la compra/venta de bienes de los usuarios.
En otra sesión maratónica definimos el Pitch Elevator de 90 segundos, la presentación del proyecto, los logos para el Dapp y el grupo, y una maqueta con el diseño de las pantallas.
Ya con la agenda para las próximas 2 semanas más clara, comenzamos a trabajar en equipos para el Frontend, Backend y Operaciones.
Nuestro slogan oficial: “Resolvamos con lo que hay”.
Metodología de trabajo, Seguimiento y Entregables
Establecimos Scrum como metodología de trabajo ágil y Jira como herramienta para hacer el seguimiento.
Establecimos Sprint de 1 semana a partir del 23 de agosto de 2022.
Se hizo en 2 Sprint y al final de cada uno hubo un entregable:
Se convoca cada año para educar y capacitar a la comunidad para construir y usar sistemas descentralizados.
Es una conferencia para constructores de todo tipo: desarrolladores, diseñadores, investigadores, implementadores de clientes, ingenieros de pruebas, operadores de infraestructura, organizadores comunitarios, economistas sociales, artistas y más.
Para mí fue magia pura. Las palabras no son suficientes para describir esta increíble experiencia. Gracias al apoyo total recibido por Source Meridian, con el cual esta experiencia fue posible para mí.
Devcon Bogota 2022 Carlos J Ramirez – Una Experiencia Inolvidable
Aparte de toda la gente nueva que conocí de la comunidad y el ecosistema, aparte de encontrarme con muchos de los compañeros, mentores y profesores del Ethereum Developer Program, fue darme cuenta del camino a seguir para consolidarme como Blockchain Developer.
Participantes del Platzi Ethereum Developer Program compartiendo en la Chiva Chillout de ETH Latam en la Devcon Bogota 2022
Preámbulo a la Devcon Bogota 2022
Terminé el Ethereum Developer Program el 13 de septiembre de 2022. Fueron 3 meses intensos en los que volví a sentirme como un estudiante universitario, con el rush de las entregas de trabajos, cursos, prácticas y el proyecto final.
La gente de Platzi nos consiguió entradas a precios de Developer para la Devcon y pensé “quiero estar allí, quiero ser parte de eso”. Le pedí apoyo a Source Meridian, la empresa en donde tengo el privilegio de trabajar desde 2019, y me apoyaron en todo; cómo es su costumbre, fue un apoyo por todo lo alto: inmejorable hospedaje, pasajes de avión, viáticos y traslados, todo.
El lunes antes de la Devcon asistí a un día completo de evento en español de ETH Latam.
Es difícil seleccionar la mejor presentación, pero una de las que más me impactó fue la de JJ Campusano, sobre ¿Qué es Ethereum? historia y futuro, desde 2013 hasta el 2030, la evolución de una red planetaria de coordinación humana.
Algunos de mis compañeros del Ethereum Developer Program de Platzi participaron como Developers y colaboradores y pude conocer de primera mano sus experiencias, que me animaron a participar en los próximos eventos de este tipo.
Pude ver la cantidad y la calidad de los proyectos, destacando los de Push.org (para enviar notificaciones entre usuarios vía Wallets) y Lit Protocol (encriptación de archivos en IPFS).
La Sustracción se trata de no dar mucho poder a las instituciones o grupos de personas, como sucede en el mundo de las empresas y gobiernos. “Sustraer no significa hacer menos, significa sustraer tu poder para poder lograr más educación, comunicación, coordinación e investigación”.
Otra charla en la apertura fue la de Vitalik Buterin “Ethereum en 30 Minutes”, donde explica aspectos conceptuales y técnicos de la Blockchain, el nuevo mecanismo de consenso PoS (Proof of Stake), el flujo de las transacciones, la estructura de los bloques, los Merkle Trees, los lenguajes de alto nivel, y los siguientes pasos luego de The Merge.
El archivo de Charlas y Workshops se puede acceder mediante la dirección:
Recuerdo uno en particular, el de “DAO Governance Design Jam” sobre la dinámica de la toma de decisiones en una DAO, en la que tuvimos oportunidad de compartir con @LayerOne de la MakerDAO, quien compartió experiencias de la vida real en una organización autónoma descentralizada.
Tuve oportunidad de asistir a Workshops sobre la nueva forma de llegar a consensos mediante el PoS (Proof of Stake), donde pude entender entre otras cosas el concepto del MEV (Maximal Extractable Value), que se refiere al valor máximo que se puede extraer de la producción de bloques por encima de la recompensa de estos, y las tarifas de gas estándares incluyendo, excluyendo y cambiando el orden de las transacciones en un bloque. Es una manera que tienen los validadores o participantes del PoS para priorizar los bloques que van a procesar, maximizando sus ganancias.
En el workshop “Demystifying Ethereum Assembly” aprendimos como incrustar Assembly en Solidity (el lenguaje de programación para crear Smart Contracts en la EVM de Ethereum). Aunque es un poco más difícil de entender e implementar, esta forma de programar ahorra los GAS fees, que son un tema de gran debate en la comunidad Ethereum por los altos costos de operación; un punto álgido en la adopción de esta Blockchain.
En el workshop “Hunting and Monitoring for On-Chain Attacks”, aprendimos a diseccionar un ataque en cadena del mundo real, clasificando cada paso que puede tomar el atacante en cuatro etapas distintas (financiación, preparación, explotación y lavado de dinero) y recorrimos el desarrollo de un enfoque heurístico/ML para identificar estos ataques utilizando la red Forta.
En el workshop “Build a DApp on Optimism: How to Conquer L2 Bridging”, aprendimos cómo crear fácilmente una DApp que aproveche L2 Bridge Box de Truffle, que ayuda a configurar rápidamente una DApp para manejar todas las complejidades que conlleva el puente L2. Estos puentes permiten descargar a la Mainnet (L1) de operaciones costosas, realizando los cálculos y actualizando el estado de la L1 únicamente con los resultados, y dejando el cómputo y el detalle de los resultados en la L2.
Finalmente, uno de los Workshops más espectaculares fue “Danksharding + Data Availability Sampling (DAS) Workshop”, donde estuve muy cerca de Vitalik Buterin (creador de Ethereum), de Dankrad Feist (creador del Danksharding) y del equipo detrás de esta tecnología en desarrollo.
El Danksharding es básicamente una propuesta para poder aumentar la cantidad de datos que se pueden almacenar en la Blockchain, para que se pueda utilizar como las bases de datos de nuestros tiempos. Esto debido a que el costo de almacenamiento en Ethereum es costoso, lo cual limita su uso y tamaño.
Side Events
Hubo gran cantidad de eventos paralelos a la Devcon.
Tuve oportunidad de ir a varios, entre ellos el Workshop de Chain.Link sobre NFT Dinámicos en las oficinas de Platzi, el evento de Platzi y NEAR en el hotel Hilton, el encuentro de Open Zeppelin en el Hyatt Grand Bogotá.
Los alumnos de Platzi tuvimos oportunidad de conocer a los mentores, profesores y representantes de la plataforma que llevaron el Ethereum Developer Program, al igual que toda la gente de la Ethereum Foundation.
La Devcon y el lugar de los SWAGs. Se trata de obsequios que dan los proveedores de servicios, patrocinadores, o personas que promueven sus proyectos. Los regalos son más que todo franelas, gorras, sweaters, tazas de café, entre otros. Tuve que comprar una maleta más grande para poder traerme todo lo que me regalaron.
Uno de mis preferidos fue el SWAG de ENS por tener mi nombre de dominio “carlosjramirez.eth”. El regalo consistió en una escarapela con mi avatar y la experiencia de un dispositivo NFC que genera un POAP (Proof of Attendance Protocol) al acercar el smartphone a la escarapela. El POAP lleva el mensaje “I met carlosjramirez.eth at Devcon 6”. Los POAPs se usan como constancia de que se estuvo en un lugar, se asistió a un evento o se conoció a alguien.
Otro SWAG interesante fue el café “ETHER Coffee: Devcon Bogotá Special Blend” que dieron como parte del paquete de inscripción en la Devcon. Un detallazo sin duda.
El cierre del Evento
“Ethereum no es sólo una tecnología, Ethereum es una comunidad, es un movimiento, y así como todos los movimientos, todas las comunidades, nosotros tenemos valores. Y uno de esos valores son las libertades civiles, derechos civiles”.
Kurt Opssahl habló sobre “Privacy and Free Expression” y la importancia de ampliar la comunidad de desarrolladores de Ethereum, de mantenernos unidos, de seguir desarrollando aplicaciones y protocolos para poder fortalecer el paradigma descentralizado, la unión y poder contrarrestar las acciones de censura del sistema en contra el movimiento.
Destacó el caso de Tornado Cash, en el que uno de los programadores, Alexey Pertsev, fue detenido en Holanda y está en la cárcel sin cargos formales ni fecha de juicio. Acusado por la OFAC (Office of Foreign Assets Control) en agosto 2022 de lavado de dinero por la naturaleza de la Dapp que desarrolló junto a Roman Semenov y Roman Storm, y su papel en el lavado de más de $ 455 millones en criptomonedas robadas por la organización de piratería Lazarus Group, vinculada a Corea del Norte.
El developer que detuvieron en Holanda por contribuir al desarrollo de Tornado cash es Alexey Pertsev. En la foto de la derecha lo pueden ver presentando en EthCC. Lo que se viene no va a ser fácil para los que están construyendo este nuevo sistema. 🪖 https://t.co/g6AQCArhswpic.twitter.com/u1tiD1L6p8
Según el blog de Chainalysis: “Tornado Cash puede ser una solución práctica para usuarios legítimos que buscan privacidad financiera, como aquellos que desean donar a causas políticas sin hacer públicos los detalles o aquellos que desean mantener la información sobre su riqueza privada. Pero también es atractivo para los ciberdelincuentes que buscan lavar dinero. El comunicado de prensa del Tesoro anunciando las sanciones de Tornado Cash señaló específicamente el papel de Tornado Cash en el lavado de más de $ 455 millones en criptomonedas robadas del protocolo Ronin Bridge de Axie Infinity por la organización de piratería afiliada a Corea del Norte, Lazarus Group, y su recepción de fondos robados de Harmony Bridge y Nomad Bridge en junio y agosto de este año. Desde 2019, casi el 30% de los fondos enviados a través de él han estado vinculados a actores ilícitos, y la República Popular Democrática de Corea ha sido uno de sus principales beneficiarios.”
La sorpresa más grande fue el fin, cuando Skylar dijo “bueno, con esto concluimos la Devcon, así que gracias por todo y ahora, retornemos a construir”. Todo parecía un final medio vacío y sin emoción, cuando de repente alguien dijo “hola, eh, tengo una pregunta… ¿estamos melos?” y comenzó el espectacular cierre con una parranda al estilo Carnaval de Barranquilla.
Fue increíble toda la energía que había en el evento.
El Networking era brutal. En los almuerzos tuvimos la oportunidad de conocer a muchos developers y dueños de proyectos y protocolos, así como también inversionistas.
Después de las presentaciones, charlas y workshops, la parte más importante de la Devcon es el networking, conocer gente, hacer contactos, compartir experiencias y hacer comunidad.
Algunos de los proyectos con los que hice contacto:
Dapp de Ethereum NFT Dinámico con Chainlink Keeper e IPFS
NFT Dinámico con Chainlink Keeper e IPFS: Aplicación tipo Dapp para crear un NFT dinámico, que cambia su metadata dependiendo de ciertas condiciones que definamos, en este caso un lapso de tiempo. Utiliza servicio Keeper de Chainlink, IPFS, Hardhat, React, Faucet Goerli y Solidity.
Solidity es un lenguaje de alto nivel orientado a contratos.
Su sintaxis es similar a la de JavaScript y está enfocado específicamente a la Máquina Virtual de Ethereum (EVM).
Solidity está tipado de manera estática y acepta, entre otras cosas, herencias, librerías y tipos complejos definidos por el usuario.
Que es el Automation de Chainlink
Chainlink Automation (previamente llamado Keeper de Chainlink) es una capa de computación off-chain descentralizada para automatizar las funciones de los contratos inteligentes e introducir nuevas prestaciones a las dApp.
Los desarrolladores ya no tienen que llevar a cabo procesos de forma manual, ni confiar en servidores centralizados, ni llevar a cabo cambios en su protocolo para poder automatizar funciones on-chain cuando se cumplan ciertas condiciones: en vez de eso pueden delegar esa tarea a los Keepers de Chainlink.
IPFS o InterPlanetary File System, es un sistema de archivo descentralizado que busca garantizar la seguridad, privacidad y resistencia a la censura de tus datos.
Es el mecanismo que se usa en la Web3 y Blockchain para hacer persistencia de archivos sin tener que utilizar servicios centralizados como AWS S3 Buckets.
Pokémon Factory: contrato inteligente para generar Pokemones
Pokémon Factory: contrato inteligente de Ethereum para generar Pokemones, con sus habilidades, tipos y debilidades. Desarrollado mediante el lenguaje Solidity.
Práctica con una Pantalla de Login para Flutter, utilizando JWT y una API desarrollada en Python, Flask y la base de datos MongoDB.
Al utilizar Flutter como Framework de desarrollo, se generan automáticamente los códigos fuentes para Xcode (iOS) y Java (Android), con lo cual se obtiene un App de excelente rendimiento para cada plataforma.
Debe estar conectado para enviar un comentario.