Las criptomonedas, las ICO y la industria de las tecnologías financieras han experimentado un verdadero auge desde la aparición de bitcoin. Sus altibajos atraen la atención no solo de los traders, sino también de emprendedores que lo ven como una oportunidad para crear un negocio exitoso. En este artículo, te explicaremos cómo crear una plataforma de intercambio de criptomonedas desde cero y los pasos necesarios para ello.
Bitcoin ha subido más del 10 000 % desde su lanzamiento, revolucionando el mundo financiero. Los escépticos iniciales cambiaron de opinión al ver las fabulosas ganancias de los primeros inversores. Mucha gente amasó fortunas invirtiendo en criptomonedas: coches de lujo, yates y un estilo de vida libre se convirtieron en símbolos de la nueva generación digital. Sin embargo, el mercado de las criptomonedas ha cambiado significativamente en los últimos años.
A continuación, analizaremos los principales componentes y desafíos que puede encontrar al lanzar una plataforma de criptomonedas.
La situación ha cambiado en los últimos seis meses. Australia abrió sus fronteras a todas las criptomonedas y permitió el pago de facturas, incluidos los servicios públicos, mediante Bitcoin. Ahora es un medio de pago legal. En muchas tiendas y cafeterías de Brisbane, verá letreros que confirman el pago con Bitcoin.
La situación en torno a la mayor plataforma de intercambio de criptomonedas, Binance, hizo que todos comprendieran que Malta es uno de los mejores lugares para operar en la industria de las criptomonedas. Analicemos los tipos de plataformas de intercambio existentes.
1. Plataforma de intercambio de criptomonedas simple (criptomoneda fiduciaria) Este modelo es ideal para principiantes sin experiencia con criptomonedas. Su principal ventaja es una interfaz simplificada y la ausencia de herramientas complejas como órdenes límite o stop-limit. El usuario intercambia directamente con el administrador, lo que garantiza la simplicidad y la rapidez de las transacciones.
2. Intercambio P2P Es un modelo que proporciona una plataforma para que compradores y vendedores interactúen sin la participación directa del intercambio en las transacciones. La plataforma actúa como intermediario, cobrando una comisión por cada transacción.
3. Intercambio Descentralizado (DEX) Este tipo de intercambio trabaja directamente con la blockchain, brindando a los usuarios control total sobre sus fondos. Los DEX se presentan en tres variedades: on-chain (operan en la blockchain), off-chain (fuera de la blockchain) y cross-chain (conectados a múltiples blockchains).
4. Intercambio con margen de negociación El comercio con margen y el apalancamiento se han convertido en una nueva tendencia en la industria. Estos intercambios permiten a los usuarios operar con fondos apalancados, lo que aumenta tanto las ganancias potenciales como los riesgos.
¿Cómo elegir el modelo adecuado? Su elección depende de sus recursos y objetivos comerciales:
Soluciones combinadas
Las tendencias modernas permiten integrar las funciones de diferentes tipos de plataformas. Por ejemplo, crear una plataforma de intercambio centralizada con servicios P2P o añadir operaciones con margen en DEX. Este enfoque no solo atrae a más usuarios, sino que también garantiza la competitividad de la plataforma.
El desarrollo de la industria de las criptomonedas ha abierto nuevos mercados. El NASDAQ funcionó durante 40 años y alcanzó una facturación de 500 millones de dólares diarios, con más de 10 000 empleados. ¿Cuántos empleados se necesitan para gestionar o mantener una plataforma de trading?
Recomiendo, en la primera etapa, contratar un equipo técnico externo con experiencia en el desarrollo y soporte de plataformas de trading. Usted y sus socios deben participar en el marketing y la promoción de la marca.
Monolith. Esta plataforma de trading cuenta con una arquitectura integral. Los módulos de billeteras, pagos, cuentas y administración se encuentran en el mismo servidor. Implementar una plataforma de este tipo es la más rápida. Sin embargo, presenta problemas con las altas cargas. Técnicamente, toda la funcionalidad implementada puede estar en un solo servidor, pero este no podrá atender a miles, ni mucho menos a millones de usuarios.
Arquitectura de microservicio. Se asume que la plataforma de trading consta de módulos independientes y fáciles de administrar. Por ejemplo, el módulo de billeteras, el módulo de usuarios, el motor de trading, etc. Cada módulo se encuentra en un servidor dedicado independiente, lo que le permite soportar altas cargas, especialmente si se utiliza el proveedor de alojamiento adecuado. Cabe destacar que el soporte y la modificación de esta arquitectura son los más convenientes.
Cada una de las arquitecturas mencionadas se adapta bien al tipo de plataforma correspondiente. Monolith es la más efectiva para plataformas pequeñas, mientras que para grandes plataformas de intercambio es la arquitectura de microservicios.
Cabe mencionar que la escalabilidad de las plataformas de intercambio no es algo común. Aunque se puede usar escalado horizontal o vertical. Se logra una mayor productividad incrementando la capacidad del servidor, optimizando scripts, modificando la arquitectura o recodificando módulos individuales a otro lenguaje de programación.
Una vez definidas las funciones clave, puede pasar al desarrollo de los componentes que formarán la base de su plataforma de intercambio. El éxito de la plataforma depende en gran medida de la elección correcta de las tecnologías y su implementación.
Aún es debatible si crear una versión móvil independiente o limitarse a un diseño adaptativo. Sin embargo, algo está claro: una plataforma de intercambio de criptomonedas debe estar optimizada para dispositivos móviles. Con la movilidad global de los usuarios y el rápido crecimiento del tráfico móvil, contar con una versión móvil se convierte no solo en una ventaja, sino en una necesidad para atraer y fidelizar clientes.
Las tendencias actuales sugieren que la interfaz debe ser adaptativa, flexible y tener en cuenta las necesidades tanto de los operadores principiantes como de los experimentados. En la práctica, esto significa que la plataforma debe proporcionar acceso rápido a todas las funciones clave a través de dispositivos móviles, incluyendo trading, monitorización de cotizaciones, gestión de monederos y retiros.
Cada módulo puede ser un monolito, como se mencionó anteriormente, distribuido o descentralizado. Cada tipo tiene sus ventajas y desventajas, por lo que es importante conocer y recordar sus objetivos. Los módulos suelen constar de capas que se comunican internamente. Actualmente, la comunicación API más efectiva se realiza mediante la transferencia de datos en formato JSON. Este es un estándar aceptado que proporciona y acepta datos fácilmente en prácticamente cualquier lenguaje de programación moderno.
El backend es el núcleo del sistema. Todas las operaciones comerciales y los cálculos se realizan mediante scripts centrales. Es fundamental, desde el principio, prestar atención al diseño de la arquitectura del proyecto.
El frontend actúa como el shell que encapsula la aplicación. Una aplicación web, una aplicación móvil para Android o iOS, e incluso una aplicación nativa para macOS o Windows, se ejecutan en el mismo núcleo del backend. Los errores en la arquitectura pueden afectar significativamente la velocidad y reducir el nivel de seguridad. Recomendamos elegir equipos con experiencia en el diseño de sistemas similares.
Si hablamos de aprender sobre moneda fiduciaria, existen dos maneras de integrarla: mediante transferencias bancarias directas (manualmente) o con Visa/Mastercard (automáticamente). La transferencia bancaria es la forma más sencilla de implementar. El dinero se recibe manualmente. Los usuarios reciben una cuenta en el sistema y envían dinero directamente a su cuenta bancaria. Usted ve el importe y confirma el depósito. La ventaja de este método es la facilidad de integración. Los desarrolladores pueden completar esta tarea en una semana. La desventaja es que siempre es necesario verificar la cuenta bancaria para confirmar el depósito.
Por supuesto, se pueden usar transacciones automáticas con Visa/Mastercard. Sin embargo, existen algunas dificultades. Las transacciones automáticas se realizan a través de las pasarelas de pago y muchas de ellas no son compatibles con sistemas de criptomonedas. Se pueden conectar PayPal o Stripe, pero después de un par de horas, la cuenta se bloqueará o no pasará la verificación. Existen varios sistemas que permiten conectar Visa y MasterCard para realizar una transacción.
Por ejemplo, simplex.com, zotapay.com, etc. Sin embargo, por lo general, tienen normas muy estrictas. Si decide usar Visa o Mastercard, le recomendamos buscar una pasarela de pago adecuada y consultar los detalles de la integración.
La primera es elegir un proveedor de liquidez. Este solo puede proporcionar liquidez para ciertos pares de divisas, por ejemplo, BTC/ETH y BTC/USD. En pares menos populares como HKD/XRP y TRY/ETH, es difícil encontrar un proveedor o sus comisiones serán elevadas. Cada proveedor tiene su propia comisión. A veces, los diferentes pares de divisas tienen comisiones diferentes. Al diseñar tu propia criptomoneda, debes tener en cuenta sus comisiones para que tu negocio no pierda rentabilidad.
Creadores de Mercado. En una plataforma de intercambio de criptomonedas, los creadores de mercado son bots de trading diseñados con inteligencia artificial. Realizan operaciones utilizando un algoritmo específico para cada par de divisas. Los creadores de mercado ofrecen las siguientes ventajas:
Merehead ha desarrollado sus propios creadores de mercado, que se utilizan con éxito en los proyectos de nuestros clientes.
¿Qué tipo de liquidez es mejor usar? Esta es una pregunta difícil. Cada uno tiene sus propias ventajas. Los proveedores de liquidez son fáciles de usar y de integrar en la plataforma. Sin embargo, por lo general, la comisión de su plataforma será significativamente mayor que la de la competencia, ya que debe compensar los costos del proveedor y agregar su comisión interna. Si planea conquistar el mercado internacional, aumentar la comisión es un error. Debe ser mínima y atraer usuarios. Además, al trabajar con cualquier proveedor de liquidez, necesita tener reservas internas de dinero. Sin ellas, este método no funcionará.
Por otro lado, existen los creadores de mercado. Su potencial es ilimitado. Los creadores de mercado se pueden usar para cualquier par de divisas. Pueden usarse como bot-bot o bot-usuario. En el primer caso, se crea una emulación de liquidez. No se requieren fondos para el funcionamiento de la plataforma. En el segundo caso, el bot interactuará con los usuarios. Aquí necesitará fondos para realizar transacciones de forma automática. Si tiene alguna pregunta, puede contactar a nuestro experto, quien le explicará en detalle su funcionamiento y qué es lo mejor para usted.
2. Compatibilidad con aplicaciones complejas
Algunos sistemas añaden tipos de órdenes más sofisticados, como stop-limit y stop-loss. Estas herramientas son especialmente útiles para operadores experimentados, ya que les permiten proteger sus posiciones de fluctuaciones repentinas del mercado. Sin embargo, al diseñar una plataforma de intercambio, es importante considerar a su público objetivo. Si en la fase de prueba entre 30 y 100 usuarios potenciales no están familiarizados con estas herramientas o no planean usarlas, puede que valga la pena centrarse en opciones más sencillas. Esto ayudará a evitar sobrecargar la interfaz y a reducir el riesgo de crear una experiencia de usuario compleja y confusa.
3. Rendimiento y escalabilidad
Al diseñar un motor de trading, el rendimiento y la escalabilidad son igualmente importantes. El exchange debe permitir el procesamiento instantáneo de un gran número de órdenes, proporcionando una experiencia fluida a los usuarios incluso con altos volúmenes de negociación. Es fundamental implementar tecnologías que permitan al sistema escalar rápidamente a medida que crece el número de usuarios y el volumen de negociación. Las soluciones basadas en tecnologías distribuidas y arquitectura blockchain pueden mejorar significativamente la estabilidad del sistema.
El panel de administración debería permitirle definir roles para los diferentes empleados, por ejemplo:
Gerentes KYC: con acceso limitado solo para procesar documentos de los usuarios.
Moderadores: responsables de la comunicación y el soporte a los usuarios.
Socios: con acceso a todas las funciones administrativas, si es necesario.
Esta distinción le permite minimizar los riesgos y gestionar eficazmente a su personal.
KYC (conozca a su cliente) es el procedimiento para identificar a su cliente. Se hizo famoso por sus plataformas financieras y se realiza en colaboración con el estado y otras herramientas financieras. Seguramente lo ha visto en otros sistemas, solo que se llamaba de forma diferente.
Su esencia es extremadamente simple: identificarlo como usuario. Conozca su nombre real, fecha de nacimiento, serie y número de documentos de identidad. A menudo se trata de un pasaporte internacional, un documento de identidad o una licencia de conducir. Algunas plataformas de intercambio de criptomonedas requieren un sistema de verificación de usuario multinivel.
El segundo nivel suele requerir una factura de servicios públicos. Permite a la plataforma identificar su lugar de residencia. Un documento con más de 6 meses de antigüedad ya se considera inválido, ya que el usuario podría cambiar su lugar de residencia. Si alquila un apartamento, pero no figura en dichos documentos, lamentablemente no pasará este nivel.
El tercer nivel consiste en una carta de aprobación de su colaboración con el sitio web. En este caso, la plataforma proporciona una plantilla de contrato en la que usted acepta cumplir con los términos del servicio.
Pero ¿por qué necesitamos una identificación de usuario, un contrato y un lugar de residencia? Por lo general, en el 90% de los casos esto es necesario para los servicios financieros. Cada plataforma de intercambio de criptomonedas permite depositar y retirar dinero. El depósito es muy fácil de integrar y ejecutar. Al retirar fondos, existen preguntas a la contraparte. Los sistemas de pago deben comprender a quién envían el dinero y que esta persona no sea un terrorista ni participe en actividades fraudulentas.
Además, la identificación de usuario permite determinar con mayor precisión su ubicación. De esta forma, se puede restringir el acceso a la plataforma manualmente. Por ejemplo, para residentes de China, Corea del Norte o Crimea. Esto puede ser necesario si se coopera con sistemas de pago internacionales que no pueden atender a residentes de ciertos países o regiones. Si se incumple el acuerdo, se podría ser baneado y desconectado del sistema financiero.
Por lo general, se encuentran restricciones en las plataformas de ICO, con mucha menos frecuencia en los exchanges. Para los exchanges, los requisitos no son tan estrictos. Sin embargo, este procedimiento es necesario para las ICO para no infringir las normas de la SEC.
El proceso KYC en un exchange de criptomonedas consta de dos etapas. Primero, un usuario con una cuenta personal completa un formulario y sube documentos para verificar su identidad. Después, estos documentos deben pasar la verificación de identidad.
La integración con el servicio se realiza a través de la API y todos los datos se envían automáticamente. La plataforma de criptomonedas solo recibe la respuesta del estado de verificación. No hay ninguna dificultad. Pero, como se mencionó anteriormente, el costo depende de la base de usuarios y se cobra una tarifa por la verificación de cada usuario.
Por ejemplo, el sistema de Jumio cobra $2-$3 por usuario (dependiendo de los documentos que necesiten ser verificados). Si necesitas verificar de 100 a 200 usuarios cada día, este servicio puede vaciar tu bolsillo rápidamente. Agrega solicitudes repetidas aquí si la verificación falla la primera vez (por ejemplo, un documento de mala calidad). En Merehead entregamos intercambios de criptomonedas y hemos contactado a unos 60 proveedores. Algunos de los más económicos cobran alrededor de $0.6 por usuario.
Pero eso no es todo. Hay un riesgo oculto. Los grandes sistemas ganan enormes sumas de dinero y tienen sus propias reglas del juego. Algunos servicios trabajan con un depósito. El dinero se gasta en la verificación de usuarios. Se ve algo así:
El proveedor requiere un depósito de $50,000. Cada usuario te cuesta $2. Así que puedes verificar 25,000 usuarios. Parece que todo está bien, pero el dinero en el depósito solo dura un tiempo.
Por lo general, es de 3 meses. Si no los has gastado durante este período, se pierden y debes pagar nuevamente. Estos gastos, en la etapa inicial del desarrollo de un intercambio de criptomonedas, afectarán seriamente el proceso. Por lo tanto, recomendamos verificar a los usuarios por tu cuenta y luego acudir al proveedor.
Entre las ventajas de trabajar con un proveedor está que, cuanto más grande sea, mayor será su base de usuarios. Esto significa que la verificación ocurrirá casi instantáneamente si el usuario ya existe. Pasemos a la siguiente pregunta sobre cómo desarrollar nuestro propio software de exchange de criptomonedas.
Cualquier plataforma que trabaje con dinero real o criptomonedas debe estar protegida con métodos modernos. Veamos los métodos más populares para hackear una plataforma de intercambio de criptomonedas.
Recomendamos excluir el acceso a los fondos a través del sistema de administración. Puedes preguntarte, ¿cómo retirar tu propio dinero? La respuesta es simple: un almacenamiento híbrido de billeteras, basado en almacenamiento en frío. No recomendamos el uso de un servidor offline o una red interna (Intranet) que contenga todo el dinero. Este no es un método eficaz.
Actualmente, una solución más conveniente y flexible es el uso de billeteras de hardware como Ledger o Trezor. Ambas son modernas, protegidas interna y externamente, y tienen soporte para múltiples monedas (más de 500). El tamaño del dispositivo es similar a una unidad USB. Es fácil de transportar y cómodo. Además, las billeteras se generan mediante una frase semilla, lo que significa que, si se pierde la billetera, se puede recuperar fácilmente.
Hackeo de usuarios. El usuario es el primer objetivo de cualquier intruso. En primer lugar, los hackers eligen cuidadosamente a su víctima, ya que es extremadamente difícil hackear a todos. Además, en promedio, un usuario maneja un presupuesto pequeño de hasta $1,000. El objetivo del hacker es encontrar a los usuarios más ricos, aquellos con un saldo superior a $10,000. Analizan en detalle la información disponible. Si con frecuencia publicas en redes sociales y en la comunidad cripto sobre inversiones, o incluso compartes capturas de pantalla de tu portafolio, eres un objetivo atractivo para los hackers. Especialmente en Reddit, ya que la comunidad cripto es una de las más grandes.
Siempre asegúrate de que el anti-phishing esté activado y el 2FA habilitado. Además, verifica el correo electrónico utilizado para el 2FA. Generalmente, los hackers comienzan el ataque a través del correo electrónico.
El peligro de la ingeniería social. Lamentablemente, no hay una cura para este tipo de hackeo, y depende completamente de la disciplina y la atención del usuario. Nunca envíes tus contraseñas a nadie (ni siquiera del correo electrónico). Incluso compartir tu dirección de correo puede ser peligroso, ya que los datos en Internet son casi imposibles de eliminar. En este caso, es mejor ser anónimo, no divulgar información sobre ti ni sobre tu dinero. El dinero ama el silencio.
Recomendamos tener funciones para rastrear la autorización del dispositivo, ubicación, duración de la sesión y dirección IP. Con estos datos, el administrador o el sistema pueden detectar actividad sospechosa del usuario. En tales casos, se puede solicitar información adicional para la autorización.
Ingeniería social. Somos seres sociales y tenemos la necesidad de comunicarnos, cuidar y experimentar otras emociones humanas. Muchas personas perciben a los demás como buenos por defecto hasta que se demuestre lo contrario. Este es uno de los problemas más serios en la ingeniería social: el llamado "hackeo humano". Es una táctica común de estafadores en la industria financiera que buscan obtener datos personales de tarjetas. Los estafadores suelen hacerse pasar por empleados de un banco u otra institución financiera en la que el usuario está registrado. Ten cuidado al enviar cualquier dato personal. No recomendamos hacerlo.
Procesos fraudulentos basados en permisos. El sistema de permisos en la administración está estructurado para crear roles y dividir tareas entre los empleados. Por ejemplo, en el sistema de administración pueden existir roles como moderador, administrador, superadministrador, financiero, etc. Además, puedes crear cualquier otro usuario (admin) con permisos personalizados.
Esto puede generar un abuso de confianza. Los permisos asignados pueden permitir que un administrador filtre datos a un atacante, facilitando el hackeo de la plataforma. Por lo general, una plataforma de criptomonedas acumula grandes cantidades de dinero de los usuarios. Ten cuidado al seleccionar empleados y delegar permisos.
Hackeo del servidor. Este es un problema grave, y para evitarlo, es mejor no ahorrar en el proveedor. No recomendamos usar servidores propios ni servicios de proveedores pequeños. La seguridad es lo más importante. Puedes considerar proveedores como Amazon Web Services o Microsoft Azure. Actualmente, el ecosistema de AWS es uno de los mejores y ofrece muchas herramientas de protección: protección contra ataques DDoS, servicio de correo, migración, servicios multimedia, firewall, etc.
Procesos maliciosos. Los programas maliciosos pueden causar daños a tu plataforma de criptomonedas, pero ¿cómo protegerse? Primero, hay que pensar en cómo estos programas pueden ingresar a tu servidor.
El método más común es la carga de archivos maliciosos a través de herramientas externas de la plataforma. Si el sistema permite subir fotos para KYC, estos archivos deben almacenarse en algún lugar. Una arquitectura débil brinda muchas oportunidades a los atacantes. Por eso, un exchange de criptomonedas de código abierto es extremadamente peligroso. Según un análisis de 2015, el 88% de los exchanges construidos con código abierto o que utilizan una plataforma de trading de white label tienen vulnerabilidades. Implementar validaciones permite evitar la carga de archivos maliciosos, códigos binarios o programas ejecutables.
Además, cabe mencionar que algunos programas maliciosos son introducidos por freelancers. Tuvimos un caso en el que un cliente acudió a nosotros con problemas de rendimiento en su sistema. Tras un análisis detallado de los procesos en el servidor, detectamos un pequeño script de minería. Este estuvo funcionando durante aproximadamente dos meses, afectando el rendimiento del servidor. Aunque el cliente no sufrió daños significativos, hay que ser precavido y confiar el desarrollo solo a equipos confiables.
Vulnerabilidades a través de sistemas o herramientas externas. Este punto es menos obvio, pero igual de peligroso que los anteriores. Rara vez un exchange puede operar como una unidad independiente. Seamos realistas: en la actualidad, casi ninguna plataforma funciona de manera completamente autónoma. Pasarelas de pago, integración de sistemas de autenticación en redes sociales, email, llamadas y SMS, CRM, servicio de soporte, son solo algunas de las funciones que dependen de servicios externos.
Si analizas más a fondo, puedes ver la integración de scripts de intercambio de bitcoin, CDN, la integración de bibliotecas y otras herramientas. Cualquiera de estos sistemas o complementos puede ser hackeado y, por lo tanto, todas las plataformas en las que están instalados quedan automáticamente en peligro. ¿Hay alguna solución? Solo algunas: mantente al día con las actualizaciones, elige solo servicios confiables y usa un número limitado de herramientas externas. Debe haber una solución sólida entre velocidad y seguridad.
Por último, sobre la seguridad. Siempre activa la 2FA; conviértela en un hábito al trabajar con dinero. Puedes usar Google o SMS. No importa.
He hablado extensamente sobre la seguridad de un intercambio de criptomonedas, las etapas de desarrollo y la arquitectura. Sin embargo, ahora analicemos los costos y las estimaciones. ¿Qué se necesita para desarrollar una plataforma de intercambio de criptomonedas? ¿Puedo hacerlo solo o con un amigo?