Mientras que todas las demás industrias experimentaron una severa desaceleración en su crecimiento, el sector fintech experimentó un auge durante la pandemia, disfrutando de una inversión masiva y una mayor adopción de sus servicios. Sin embargo, no todas las empresas de tecnología financiera sobreviven; si bien ya hay 473 unicornios de tecnología financiera en todo el mundo, según ABN Amro Ventures, muchas nuevas empresas prometedoras están condenadas al fracaso. ¿Cómo hacer una aplicación criptográfica que tenga ventaja sobre la competencia y satisfaga las necesidades de los clientes? Para muchos fundadores de negocios, puede ser un desafío crear un plan universal paso a paso y comenzar su propio viaje de desarrollo criptográfico.
Con una vasta experiencia en la creación de soluciones fintech, MobiDev reúne fácilmente todos los conocimientos valiosos sobre este tema. Hemos preparado una guía definitiva de desarrollo de aplicaciones de criptocomercio para ayudar a los entusiastas de fintech a evitar errores comunes y crear un criptoproducto exitoso.
Antes de sumergirse en el asombroso mundo del comercio de criptomonedas y responder a la pregunta de cómo crear una plataforma de comercio de criptomonedas, veamos algunas estadísticas del mercado de criptomonedas.
Existen varios tipos de aplicaciones y plataformas de comercio de criptomonedas para satisfacer las demandas de los clientes.
Los principales tipos de aplicaciones de comercio de criptomonedas son los siguientes:
A medida que el mercado de aplicaciones y plataformas criptográficas continúa desarrollándose y las demandas de los clientes continúan aumentando, la mayoría del software criptográfico combina varios tipos para satisfacer a los clientes.
En principio, los intercambios de criptomonedas se distinguen ampliamente como intercambios centralizados (CEX) o intercambios descentralizados (DEX).
Los intercambios de criptomonedas centralizados funcionan de manera similar a las bolsas de valores. Los compradores y vendedores se reúnen mientras que la plataforma desempeña el papel de intermediario. En otras palabras, "centralizado" significa que alguien tiene la autoridad para administrar una red de transacciones.
Los intercambios de criptomonedas descentralizados tienen como objetivo seguir el principio fundamental detrás de la industria de las criptomonedas. Un DEX no depende de un intermediario para operar y administrar transacciones. Funciona como un mercado donde los compradores y vendedores se unen e intercambian criptomonedas directamente entre sí.
Antes de decidirse a crear una plataforma de comercio de criptomonedas, aquí hay una comparación rápida de los siguientes tipos.
Criterios | Intercambio centralizado | Intercambio descentralizado |
---|---|---|
Liquidez | Alto | Bajo |
Tarifa | Medio | Bajo |
titular de la moneda | Intercambio | Usuario |
Disponibilidad de monedas fiduciarias | Sí | No |
Ejemplos | Binance, Kraken, Bitfinex | IDEX, Tokenlon, PancakeSwap |
Las principales ventajas de las plataformas centralizadas son la disponibilidad de monedas fiduciarias y la falta de problemas de liquidez. Es el tipo de plataforma criptográfica más común y popular, por lo que nos centraremos en el desarrollo de aplicaciones de comercio criptográfico, en general, y analizaremos en detalle la creación de un intercambio CEX.
El desarrollo de aplicaciones de criptocomercio es algo complejo, sin embargo, desde el principio, debe comenzar a pensar en cómo se mejorará la experiencia de criptocomercio de sus futuros clientes. Una vez que decida construir una plataforma de comercio de criptomonedas, defina exactamente cómo atraerá a los clientes. Si bien siempre es una buena idea agregar características agradables, algunas características clave son imprescindibles cuando hablamos del desarrollo de una plataforma de comercio de criptomonedas.
La autorización y verificación del usuario es donde todo comienza. Los principales factores que determinan la calidad de esta característica son la simplicidad, la confiabilidad y la seguridad .
Es posible crear una autenticación de múltiples factores desde cero o usar servicios de terceros para garantizar altos estándares de seguridad para el cliente. Ambas opciones tienen sus ventajas y desventajas. Construir el módulo de autenticación para una aplicación criptográfica desde cero le permite utilizar esquemas de autenticación únicos, controlar toda la funcionalidad e implementar funciones de autenticación gradualmente. Elegir un servicio de terceros puede ser mucho más simple, ya que esas soluciones ya están repletas de funciones, probadas y sólidas. Sin embargo, este enfoque es costoso: dichos servicios generalmente se facturan por usuario, lo que significa que el costo aumentará significativamente una vez que el producto tenga más usuarios activos.
Adoptar una solución de terceros parece ser una buena opción para las primeras etapas del desarrollo de aplicaciones de criptomonedas. Cuando la cantidad de usuarios no es muy grande, este enfoque aún puede ser asequible y, al mismo tiempo, obtiene el mejor servicio de autenticación de su clase desde el principio. Un ejemplo de soluciones de terceros es Auth0. Este servicio ofrece un conjunto completo de funciones que incluyen autenticación de dos factores, autenticación sin contraseña, autenticación de redes sociales y control de sesión avanzado, mientras que cada uno de estos componentes por sí solo suele tardar al menos un par de semanas en desarrollarse, probarse e implementarse en producción. .
Cuando se trata de verificación, debe garantizar la confiabilidad de su solución de criptomonedas con un procedimiento KYC (Conozca a su cliente) bien diseñado. Si bien podría ir en contra del principio original de anonimato en las transacciones de criptomonedas, la mayoría de las aplicaciones de criptomonedas utilizan KYC para garantizar la confiabilidad y atraer a más clientes. Es posible verificar los documentos enviados por los nuevos usuarios manualmente o puede usar servicios de terceros (por ejemplo, Sumsub, Trulioo o Veriff para KYC). Sin embargo, también está disponible una opción más avanzada como construir desde cero un módulo de verificación con un procedimiento de identificación mediante bases de datos (PEP, listas de sanciones, etc.).
Para las empresas emergentes en etapa inicial sin una idea de negocio validada y con un equipo pequeño, es mejor automatizar los procesos de rutina tanto como sea posible, por lo que utilizar servicios de terceros para la verificación y detección de identidad puede ser la opción más adecuada. Crear un sistema KYC desde cero es razonable solo si opta por la verificación manual, lo que significa que debe contratar a alguien que revise los documentos y las fotos y los compare con la información en las bases de datos.
La creación de un módulo de verificación automatizado requiere el desarrollo de sistemas complicados de IA/ML, la implementación de compatibilidad con el formato de identificación internacional, etc., lo que no es una opción económica ni económica para una startup. La integración de una solución de terceros puede llevar solo una o dos semanas y el precio puede ser asequible, especialmente para una empresa nueva con una base de clientes pequeña. Por otro lado, la creación de módulos personalizados debe incluirse en la hoja de ruta como una opción. Todo esto quiere decir que cualquier característica de IA debe planificarse en las primeras etapas en términos de recopilación de datos relevantes.
El motor comercial es responsable de la funcionalidad principal de cualquier aplicación de comercio criptográfico. Los principales factores que determinan la calidad de esta función son la fiabilidad y la velocidad . En pocas palabras, la característica incluye:
Desde el punto de vista del desarrollo, el motor de comparación es uno de los componentes más complejos relacionados con la creación de una plataforma de comercio de criptomonedas y, por lo general, este es el lugar donde se guardan la mayoría de los secretos de "saber hacer". Solo un ejemplo: un buen motor comercial debería ser capaz de ejecutar más de 100 000 órdenes por segundo en promedio.
Dependiendo de sus objetivos, puede ser necesario (o no) crear su propio motor de emparejamiento. Si considera que el motor de operaciones es la característica principal de su sistema y desea destacarse de la competencia proporcionando las transacciones más rápidas, escribir un motor de coincidencia desde cero es para usted. Al mismo tiempo, si no es su característica más crítica y la velocidad de ejecución de la orden puede verse comprometida, se pueden usar algunas soluciones listas para usar, como OpenDAX.
OpenDAX es un software híbrido de código abierto que consta de bibliotecas públicas y privadas, diseñado para crear un servicio de intercambio con todas las funciones. Es uno de los productos más sofisticados que se pueden comprar como una solución rica en funciones que ofrece diferentes componentes conectables, con rendimiento básico y ultraalto, y varias opciones de precios correspondientes al nivel de rendimiento deseado.
La complejidad del motor comercial depende de los tipos de órdenes admitidos. Por lo general, hay al menos dos tipos de órdenes:
Hay otros tipos de órdenes, por ejemplo, las órdenes Stop limit que permiten a los usuarios comprar/vender tanto como sea posible cuando el precio cruza X, pero detenerse cuando el precio sube/baja Y. Cuanto más avanzados sean los tipos de órdenes que se planean implementado, más complejo será el motor comercial.
Otra característica esencial de su intercambio de criptomonedas es una billetera de criptomonedas. Puede crear y personalizar esta función para ofrecer a los clientes la mejor experiencia de usuario, incluidas pasarelas de pago convenientes y funcionalidad de múltiples criptomonedas, manteniendo altos estándares de seguridad.
El proceso de retiro de fondos es arriesgado, ya que en realidad es la forma de obtener fondos de su plataforma, y se deben tomar muchas precauciones y verificaciones para evitar robos. Una de las formas de hacer esto es implementar la aprobación manual para los retiros (al menos para evitar que los piratas informáticos tomen cantidades significativas de dinero rápidamente). Por lo general, se aplica un enfoque de diversificación de riesgos: una pequeña cantidad de criptografía se puede retirar de forma automática y rápida, pero cantidades más grandes requieren algunas verificaciones de reputación automatizadas (historial de éxito/calificación/KYC/KYT y otros).
Una billetera criptográfica es en realidad una dirección criptográfica que se asigna a un usuario, donde se realizan los depósitos. Además, mientras los usuarios interactúan con las direcciones designadas "por usuario", toda la plataforma de intercambio realiza conciliaciones periódicas con "la billetera de una gran plataforma", ya que necesita operar con la cantidad total de criptografía depositada en la plataforma. Estas "grandes ollas de criptografía" son el mayor riesgo de seguridad.
En este sentido, las billeteras criptográficas son un objetivo lucrativo para los piratas informáticos: por ejemplo, en 2020, según Atlasvpn, los delincuentes lanzaron 27 ataques exitosos dirigidos a las billeteras criptográficas, obteniendo $ 3,03 mil millones o alrededor de $ 112,12 millones por pirateo. Es por eso que aquí se están inventando diferentes esquemas de almacenamiento de fondos "por etapas". Es aconsejable no almacenar todos sus fondos en una billetera, sino usar al menos 3 tipos de almacenamiento:
Para su aplicación criptográfica, puede crear su propia billetera desde cero o integrar billeteras de terceros.
Por lo general, las nuevas empresas de fintech construyen billeteras calientes y cálidas por su cuenta: todo el proceso lleva desde varias semanas hasta un par de meses. Aún así, la solución personalizada le permite tener total flexibilidad y control. Desde el punto de vista de la ingeniería, solo requiere conocimientos generales de desarrollo de aplicaciones criptográficas (sin embargo, mucho depende de la cantidad de criptomonedas que desee admitir desde el principio).
Los servicios de billetera de terceros tienen sus ventajas y desventajas. Por un lado, estas soluciones se pueden integrar en su aplicación de comercio de criptomonedas muy rápidamente. Ofrecen un alto nivel de estabilidad y confiabilidad en las primeras etapas (en comparación con las soluciones locales). Por otro lado, vienen con tarifas altas (que pueden poner en duda la rentabilidad de la startup) y no pueden ofrecer una velocidad de procesamiento predecible. Después de todo, depender de una solución de terceros en su principal flujo comercial podría no ser la mejor opción para usted.
Cuando se trata de monederos fríos, cooperar con un proveedor externo puede ser más útil, ya que hacer que el almacenamiento en frío sea realmente confiable y verificable es una tarea complicada para una startup en etapa inicial. Idealmente, requiere que participen varias personas (para evitar la posibilidad de que una de las partes interesadas robe todos los fondos), una infraestructura "sin aire", hardware confiable y un almacenamiento físico realmente seguro para almacenar ese hardware. Ejemplos de tales productos son las soluciones de Fireblocks, Knox y BitGo. Todos estos servicios son algo parecidos pero proporcionan conjuntos de funciones que son más adecuados para un caso particular. Por lo tanto, elegir un proveedor de billetera fría de terceros siempre es una cuestión de selección selectiva.
El éxito de su plataforma criptográfica dependerá en gran medida de la liquidez: qué tan pronto puede ocurrir un intercambio. Los clientes siempre elegirán un intercambio con buena liquidez que pueda ofrecer una alta velocidad de transacciones.
Hay varias opciones entre las que puede elegir:
Como es poco probable que tenga suficiente volumen de negociación para proporcionar una venta/intercambio instantáneo de criptomonedas, la segunda opción, que podría ser una decisión inteligente, es conectarse a un fondo de liquidez externo para satisfacer las necesidades de los clientes. Existen intercambios de criptomonedas como Kraken, Binance y Gemini que dan acceso a sus mercados. Por ejemplo, decidimos construir una integración con Kraken desempeñando el papel de proveedor de liquidez para uno de nuestros proyectos debido a los estrictos requisitos de presupuesto y cronograma.
La utilización de proveedores de liquidez externos permite a los fundadores de negocios fintech lanzar el producto rápidamente y obtener pares comerciales desde el comienzo de la vida del producto. Los nuevos clientes tendrán una experiencia comercial y de mercado atractiva desde el primer segundo. Sin embargo, en este caso, su plataforma no generará muchas ganancias y ofrecerá precios un poco más altos (o al menos no menos) que los de sus competidores. Como enfoque alternativo, puede optar por desarrollar y utilizar los bots de creación de mercado antes mencionados, pero es un proceso difícil. Se requiere experiencia específica en desarrollo y conocimiento empresarial para crearlos y organizarlos correctamente.
A las personas les gustan las aplicaciones que son fáciles de usar y que les facilitan la vida. Asegúrese de que su aplicación de comercio de criptomonedas tenga una interfaz simple y atractiva que ayude a lidiar con los aspectos más difíciles del comercio de criptomonedas. Los principales factores que determinan la calidad de esta función son la simplicidad, la comodidad, la velocidad y el compromiso . ¿Qué significa esto en la práctica?
Su aplicación de comercio de criptomonedas debe tener:
Una de las partes cruciales de una interfaz suficiente es la visualización. Sus clientes probablemente querrán tener datos y gráficos convenientes que muestren las fluctuaciones de precios, varios indicadores de análisis técnico y estadísticas detalladas sobre mercados o activos seleccionados.
En la mayoría de los casos, las características básicas no son suficientes para crear la experiencia de usuario perfecta. Aquí hay una lista de funciones que pueden hacer que su aplicación de intercambio de criptomonedas se destaque entre la competencia o al menos esté a la par con ellos. Podría pensar en desarrollar características tales como:
Al crear su aplicación de criptomonedas, piense en algunas funciones innovadoras que convertirán una aplicación comercial básica en una solución comercial escalable:
Por ejemplo, eToro tiene una función llamada sistema CopyTrader™. Encuentra similitudes en los hábitos comerciales de los comerciantes exitosos al analizar su comportamiento en la plataforma y permite que otros usuarios copien sus elecciones automáticamente y en tiempo real.
Si bien las criptomonedas aún pueden tener una imagen de 'Salvaje Oeste', el cumplimiento normativo es crucial para esta industria. Al desarrollar su futura aplicación de criptomonedas, y dependiendo de la jurisdicción en la que vaya a trabajar, tenga en cuenta varios principios y procesos normativos.
Nombre | Definición | Requisitos a cumplir |
---|---|---|
RGPD | Es una regulación en la ley de la UE con respecto a la protección de datos y la privacidad en la Unión Europea y el Espacio Económico Europeo que debe cumplir si planea tener clientes en Europa. | Almacenar los datos de los usuarios de la UE en ubicaciones de servidores de la UE Agregar funcionalidad para que el usuario tenga un mejor control sobre sus propios datos Ofrecer una opción de eliminación de cuenta |
KYC (Conozca a su cliente) | Es un procedimiento esencial para la identificación de contrapartes para operaciones con criptomonedas. Abarca los procedimientos de selección (no todo el mundo puede convertirse en cliente) e identificación (datos personales, datos biométricos). | Implemente su propio sistema KYC que permita a los usuarios cargar ID y adoptar un proceso de verificación manual O use/cree sistemas AI/ML que verifiquen automáticamente fotos/ID |
AML (Anti-Lavado de Dinero) | Se trata de una serie de procedimientos destinados a detectar esquemas de blanqueo de capitales a partir del análisis de datos agregados. KYC cae dentro de las medidas AML. | Tener límites de transferencia de divisas efectivamente aplicados (por ejemplo, no más de $10000 por día para retirar) Tener la capacidad de bloquear usuarios particulares si están siendo acusados por la ley Tener la capacidad de limitar/bloquear ciudadanos de ciertos países o clientes de ciertos bancos para enviar o recibir dinero |
KYT (Conozca su transacción) | Describe medidas y procedimientos para detectar e identificar transacciones fraudulentas sospechosas y bloquearlas. | Tener técnicas para rastrear el origen de la transacción (cuando recibimos un depósito) y el destino ANTES de realizar un retiro. |
La implementación de los procedimientos KYT en su aplicación puede ser una de las partes más desafiantes del desarrollo de aplicaciones de criptomonedas. Para las monedas fiduciarias, significa la posibilidad de bloquear a determinadas personas, bancos o países para que no participen en las transacciones. Para las criptomonedas, significa la posibilidad de verificar si una billetera criptográfica en particular está "limpia" (no marcada como potencialmente conectada con el "mercado oscuro", delincuentes, etc.) o no.
Hacer un seguimiento de esto por su cuenta puede ser bastante difícil, ya que requiere crear o tener una enorme base de datos revisada manualmente, recopilando todas las "carteras malas" y rastreando todas las transacciones conectadas a ellas. En este caso, los proveedores externos como Chainalysis KYT pueden ayudar. Ofrece monitoreo continuo de transacciones para todos los activos de criptomonedas para reducir los flujos de trabajo manuales y detectar actividades sospechosas.
A medida que los reguladores de todo el mundo navegan por el mundo de las criptomonedas, es obvio que su principal objetivo es crear un sistema regulatorio preciso y sólido para esta joven industria. Las reglas pueden variar de un país a otro, pero la mayoría de los organismos reguladores destacan la importancia de pilares como los procedimientos KYC/AML/KYT, la mejora de los protocolos de seguridad y también la protección de los inversores.
El desarrollo de la plataforma de comercio criptográfico es similar al desarrollo de cualquier otra aplicación, solo que se enfoca en la tecnología blockchain y la seguridad adicional. Se necesitan todos los pasos comunes de desarrollo:
Cualquiera que sea el tipo de aplicación de comercio de criptomonedas que planee crear, el desarrollo de la parte frontal será casi el mismo. El objetivo principal es diseñar una interfaz de usuario fácil de usar y fácil de navegar con la ayuda de diseñadores experimentados de UX/UI y desarrolladores front-end.
El desarrollo del lado del servidor de la aplicación es una tarea más compleja que se puede resolver utilizando diferentes enfoques y herramientas. El back-end de la aplicación debe proporcionar un procesamiento de pedidos rápido y eficiente y seguridad de datos. Además, debe ser escalable para admitir cargas crecientes a medida que su producto gana popularidad.
El diseño de la arquitectura se basa en los requisitos del negocio, ya que cada proyecto es único y no existe una única solución multipropósito. En MobiDev, sugerimos un enfoque de desarrollo, una hoja de ruta técnica y un enfoque de arquitectura solo después de aclarar los objetivos comerciales y los requisitos principales para los productos de comercio de criptomonedas.
Para algunos de los productos, confiamos en un enfoque de base de datos en memoria para generar pedidos y procesarlos rápidamente. A diferencia de las bases de datos que almacenan datos en discos o SSD, una base de datos en memoria almacena y procesa datos exclusivamente en la memoria principal de la computadora, lo que garantiza un tiempo de respuesta mínimo. Esto permite realizar ofertas en tiempo real en las que una aplicación puede procesar las solicitudes de ofertas de todos los compradores, seleccionar una oferta ganadora en función de varios criterios y procesarla.
Líder de grupo JavaScript
Gracias a esta tecnología, la base de datos puede ser accedida por diferentes servidores en diferentes regiones o puede ser utilizada por un número diferente de usuarios, lo que hace que la solución sea eficiente y escalable. Puede encontrar una ilustración de dicha arquitectura a continuación.
Pero esto es solo un ejemplo. Investigando en cada caso específico en la etapa de descubrimiento, se deben considerar varios factores:
Este análisis permite seleccionar una solución que satisfará los requisitos del cliente y le permitirá tener exactamente aquellas características que ayudarán a que un producto funcione sin problemas y de manera eficiente.
Revisado por: Maksym Bielai , líder del equipo BA, analista de mercado Fintech
Escrito por Dmitriy Kisil , ingeniero de IA en MobiDev .
El artículo completo se publicó originalmente aquí y se basa en la investigación tecnológica de MobiDev.