Enquanto todas as outras indústrias testemunharam uma forte desaceleração em seu crescimento, o setor de fintech experimentou um boom durante a pandemia, desfrutando de investimentos maciços e aumentando a adoção de seus serviços. No entanto, nem todas as empresas fintech sobrevivem – embora já existam 473 unicórnios fintech globalmente, de acordo com o ABN Amro Ventures, muitas startups promissoras estão fadadas ao fracasso. Como fazer um aplicativo criptográfico que tenha vantagem sobre os concorrentes e atenda às necessidades dos clientes? Para muitos fundadores de negócios, pode ser um desafio criar um plano passo a passo universal e iniciar sua própria jornada de desenvolvimento de criptografia.
Com vasta experiência na criação de soluções fintech, a MobiDev reúne facilmente todos os insights valiosos sobre esse tópico. Preparamos um guia definitivo de desenvolvimento de aplicativos de negociação de criptomoedas para ajudar os entusiastas de fintech a evitar armadilhas comuns e criar um produto criptográfico de sucesso.
Antes de mergulhar no incrível mundo da negociação de criptomoedas e responder à questão de como criar uma plataforma de negociação de criptomoedas, vamos verificar algumas estatísticas do mercado de criptomoedas.
Existem vários tipos de aplicativos e plataformas de negociação de criptografia para atender às demandas dos clientes.
Os principais tipos de aplicativos de negociação de criptografia são os seguintes:
À medida que o mercado de aplicativos e plataformas criptográficas continua a se desenvolver e as demandas dos clientes continuam a aumentar, a maioria dos softwares criptográficos combina vários tipos para satisfazer os clientes.
Em princípio, as trocas de criptomoedas são amplamente distinguidas como trocas centralizadas (CEXes) ou trocas descentralizadas (DEXes).
As trocas centralizadas de criptomoedas funcionam de maneira semelhante às bolsas de valores. Os compradores e vendedores são reunidos enquanto a plataforma desempenha o papel de intermediário. Em outras palavras, “centralizado” significa que alguém tem autoridade para gerenciar uma rede de transações.
As trocas de criptomoedas descentralizadas visam seguir o princípio fundamental por trás da indústria de criptomoedas. Uma DEX não depende de um intermediário para operar e gerenciar transações. Ele funciona como um mercado onde compradores e vendedores se reúnem e negociam criptomoedas diretamente entre si.
Antes de decidir criar uma plataforma de negociação de criptomoedas, aqui está uma comparação rápida dos seguintes tipos.
Critério | Câmbio centralizado | Troca descentralizada |
---|---|---|
Liquidez | Alto | Baixo |
Honorários | Médio | Baixo |
Porta-moedas | Intercâmbio | Do utilizador |
Disponibilidade de moedas fiduciárias | Sim | Não |
Exemplos | Binance, Kraken, Bitfinex | IDEX, Tokenlon, PancakeSwap |
As principais vantagens das plataformas centralizadas são a disponibilidade de moedas fiduciárias e a ausência de problemas de liquidez. É o tipo mais comum e popular de plataforma criptográfica, por isso vamos nos concentrar no desenvolvimento de aplicativos de negociação criptográfica, em geral, e dar uma olhada na criação de uma troca CEX em detalhes.
O desenvolvimento de aplicativos de negociação de criptografia é uma coisa complexa, no entanto, desde o início, você precisa começar a pensar em como a experiência de negociação de criptografia de seus futuros clientes será melhorada. Depois de decidir construir uma plataforma de negociação de criptomoedas, defina exatamente como ela atrairá clientes. Embora seja sempre uma boa ideia adicionar recursos interessantes, alguns recursos importantes são obrigatórios quando falamos sobre o desenvolvimento de plataformas de negociação de criptomoedas.
A autorização e a verificação do usuário são onde tudo começa. Os principais fatores que determinam a qualidade desse recurso são simplicidade, confiabilidade e segurança .
É possível criar autenticação multifator do zero ou usar serviços de terceiros para garantir altos padrões de segurança para o cliente. Ambas as opções têm suas vantagens e desvantagens. Construir o módulo de autenticação para um aplicativo criptográfico do zero permite que você utilize esquemas de autenticação exclusivos, controle todas as funcionalidades e implemente recursos de autenticação gradualmente. Escolher um serviço de terceiros pode ser muito mais simples, pois essas soluções já são repletas de recursos, testadas e robustas. No entanto, essa abordagem é cara - esses serviços geralmente são cobrados por usuário, o que significa que o custo aumentará significativamente quando o produto tiver mais usuários ativos.
Adotar uma solução de terceiros parece ser uma boa opção para os primeiros estágios do desenvolvimento de aplicativos de criptomoeda. Quando o número de usuários não é muito grande, essa abordagem ainda pode ser acessível e, ao mesmo tempo, você obtém o melhor serviço de autenticação da categoria desde o início. Um exemplo de soluções de terceiros é Auth0. Este serviço oferece um conjunto completo de recursos, incluindo autenticação de dois fatores, autenticação sem senha, autenticação de rede social e controle de sessão avançado, enquanto cada um desses componentes sozinho normalmente leva pelo menos algumas semanas para desenvolver, testar e lançar na produção .
Quando se trata de verificação, você precisa garantir a confiabilidade de sua solução de criptomoeda com um procedimento KYC (Know Your Customer) bem projetado. Embora possa ser contra o princípio original do anonimato nas transações de criptomoeda, a maioria dos aplicativos de criptografia usa KYC para garantir a confiabilidade e atrair mais clientes. É possível verificar os documentos enviados pelos novos usuários manualmente ou você pode usar serviços de terceiros (por exemplo, Sumsub, Trulioo ou Veriff for KYC). No entanto, também está disponível uma opção mais avançada, como construir um módulo de verificação do zero com um procedimento de identificação usando bancos de dados (PEP, listas de sanções, etc.).
Para startups em estágio inicial sem ideia de negócio validada e uma equipe pequena, é melhor automatizar os processos de rotina o máximo possível, portanto, usar serviços de terceiros para verificação e triagem de identidade pode ser a opção mais adequada. Criar um sistema KYC do zero é razoável apenas se você optar pela verificação manual, o que significa que você precisa contratar alguém que revise os documentos e fotos e os compare com as informações nos bancos de dados.
Construir um módulo de verificação automatizado requer o desenvolvimento de sistemas complicados de IA/ML, implementação de suporte ao formato de ID internacional e assim por diante, o que não é uma opção econômica e econômica para uma startup. A integração de uma solução de terceiros pode levar apenas uma ou duas semanas e o preço pode ser acessível, especialmente para uma startup com uma pequena base de clientes. Por outro lado, a criação de módulos personalizados deve ser colocada no roteiro como uma opção. Isso tudo para dizer que qualquer recurso de IA deve ser planejado nos estágios iniciais em termos de coleta de dados relevantes.
O mecanismo de negociação é responsável pela funcionalidade principal de qualquer aplicativo de negociação de criptografia. Os principais fatores que determinam a qualidade desse recurso são a confiabilidade e a velocidade . Em poucas palavras, o recurso inclui:
Do ponto de vista do desenvolvimento, o mecanismo de correspondência é um dos componentes mais complexos relacionados à criação de uma plataforma de negociação para criptomoedas e geralmente é o local onde a maioria dos segredos de “know-how” são mantidos. Apenas um exemplo - um bom mecanismo de negociação deve ser capaz de executar mais de 100.000 ordens por segundo, em média.
Dependendo de seus objetivos, criar seu próprio mecanismo de correspondência pode ser necessário (ou não). Se você considera o mecanismo de negociação como o principal recurso do sistema e deseja se destacar dos concorrentes, fornecendo as transações mais rápidas, criar um mecanismo de correspondência do zero é para você. Ao mesmo tempo, se não for o seu recurso mais crítico e a velocidade de execução do pedido puder ser comprometida, algumas soluções prontas para uso, como o OpenDAX, podem ser usadas.
O OpenDAX é um software híbrido de código aberto que consiste em bibliotecas públicas e privadas, projetado para criar um serviço de troca completo. É um dos produtos mais sofisticados que podem ser adquiridos como uma solução rica em recursos que oferece diferentes componentes conectáveis, com desempenho básico e ultra-alto, e várias opções de preços correspondentes ao nível de desempenho desejado.
A complexidade do mecanismo de negociação depende dos tipos de ordens suportados. Normalmente, existem pelo menos dois tipos de ordem:
Existem outros tipos de ordens, por exemplo, ordens Stop limit que permitem aos usuários comprar/vender tanto quanto possível quando o preço cruza X, mas param quando o preço sobe/desce Y. Quanto mais avançados os tipos de ordens planejados para serem implementado, mais complexo será o mecanismo de negociação.
Outra característica essencial da sua troca de criptomoedas é uma carteira criptográfica. Você pode criar e personalizar esse recurso para oferecer aos clientes a melhor experiência de usuário, incluindo gateways de pagamento convenientes e funcionalidade multicriptomoeda, mantendo altos padrões de segurança.
O processo de retirada de fundos é arriscado, pois é na verdade a maneira de obter fundos de sua plataforma, e muitas precauções e verificações devem ser feitas para evitar roubos. Uma das maneiras de fazer isso é implementar a aprovação manual para retiradas (pelo menos para impedir que os hackers peguem quantias significativas de dinheiro rapidamente). Normalmente, uma abordagem de diversificação de risco é aplicada - uma pequena quantidade de criptografia pode ser retirada automaticamente e rapidamente, mas quantidades maiores - requerem algumas verificações automatizadas de reputação (histórico/classificação de sucesso /KYC/KYT e outros).
Uma carteira criptográfica é, na verdade, um endereço criptográfico atribuído a um usuário, onde os depósitos são feitos. Além disso, enquanto os usuários interagem com endereços "por usuário" designados - toda a plataforma de troca faz reconciliação regular com "uma grande carteira da plataforma" - pois precisa operar com toda a quantidade de criptografia depositada na plataforma. Esses “grandes potes de criptografia” são o maior risco de segurança.
A esse respeito, as carteiras criptográficas são um alvo lucrativo para os hackers: por exemplo, em 2020, de acordo com a Atlasvpn, os criminosos lançaram 27 ataques bem-sucedidos direcionados a carteiras criptográficas, arrecadando US$ 3,03 bilhões ou cerca de US$ 112,12 milhões por hack. É por isso que diferentes esquemas de armazenamento de fundos “faseados” estão sendo inventados aqui. É aconselhável não armazenar todos os seus fundos em uma carteira, mas usar pelo menos 3 tipos de armazenamento:
Para seu aplicativo de criptografia, você pode criar sua própria carteira do zero ou integrar carteiras de terceiros.
Normalmente, as carteiras quentes e quentes são construídas por startups fintech por conta própria – todo o processo leva de várias semanas a alguns meses. Ainda assim, a solução personalizada permite que você tenha total flexibilidade e controle. Do ponto de vista da engenharia, requer apenas conhecimento geral de desenvolvimento de aplicativos criptográficos (no entanto, depende muito do número de criptomoedas que você deseja oferecer suporte desde o início).
Os serviços de carteira de terceiros têm suas vantagens e desvantagens. Por um lado, essas soluções podem ser integradas ao seu aplicativo de negociação de criptomoedas muito rapidamente. Eles oferecem um alto nível de estabilidade e confiabilidade nos estágios iniciais (em comparação com soluções caseiras). Por outro lado, eles vêm com altas taxas (que podem colocar a lucratividade da startup em questão) e não podem oferecer uma velocidade previsível de processamento. Afinal, confiar em uma solução de terceiros em seu principal fluxo de negócios pode não ser a melhor opção para você.
Quando se trata de carteiras frias, cooperar com um fornecedor terceirizado pode ser mais útil, pois tornar o armazenamento frio realmente confiável e verificável é uma tarefa complicada para uma inicialização em estágio inicial. Idealmente, requer o envolvimento de várias pessoas (para evitar a possibilidade de uma das partes interessadas roubar todos os fundos), infraestrutura “air-gapped”, hardware confiável e armazenamento físico realmente seguro para armazenar esse hardware. Exemplos de tais produtos são soluções de Fireblocks, Knox e BitGo. Todos esses serviços são um pouco parecidos, mas fornecem conjuntos de recursos mais adequados para um caso específico. Portanto, a escolha de um fornecedor terceirizado de cold wallet é sempre uma questão de seleção criteriosa.
O sucesso de sua plataforma criptográfica dependerá muito da liquidez: em quanto tempo uma troca pode acontecer. Os clientes sempre escolherão uma exchange com boa liquidez que possa oferecer alta velocidade nas transações.
Existem várias opções que você pode escolher:
Como é improvável que você tenha volume de negociação suficiente para fornecer venda/troca instantânea de criptomoeda, a segunda opção que pode ser uma jogada inteligente é conectar-se a um pool de liquidez externo para atender às necessidades dos clientes. Existem trocas de criptografia existentes como Kraken, Binance e Gemini que dão acesso a seus mercados. Por exemplo, optamos por construir uma integração com a Kraken desempenhando o papel de provedor de liquidez para um de nossos projetos devido aos rígidos requisitos de orçamento e cronograma.
A utilização de provedores de liquidez terceirizados permite que os fundadores de fintechs lancem o produto rapidamente e obtenham pares de negociação desde o início da vida útil do produto. Novos clientes terão um mercado envolvente e uma experiência de negociação desde o primeiro segundo. No entanto, neste caso, sua plataforma não terá muito lucro e você oferecerá preços um pouco mais altos (ou pelo menos não menos) que os de seus concorrentes. Como uma abordagem alternativa - você pode optar por desenvolver e utilizar os bots de criação de mercado mencionados acima, mas é um processo difícil. Requer experiência específica de desenvolvimento e conhecimento de negócios para criá-los e organizá-los corretamente.
As pessoas gostam de aplicativos simples de usar e que facilitam suas vidas. Certifique-se de que seu aplicativo de negociação de criptomoedas tenha uma interface simples e atraente que ajude a lidar com os aspectos mais difíceis da negociação de criptomoedas. Os principais fatores que determinam a qualidade desse recurso são simplicidade, conveniência, rapidez e engajamento . O que isso significa na prática?
Seu aplicativo de negociação de criptografia deve ter:
Uma das partes cruciais de uma interface suficiente é a visualização. Seus clientes provavelmente desejarão ter dados e gráficos convenientes que mostrem flutuações de preço, vários indicadores de análise técnica e estatísticas detalhadas sobre mercados ou ativos selecionados.
Na maioria dos casos, apenas os recursos básicos não são suficientes para criar a experiência de usuário perfeita. Aqui está uma lista de funções que podem fazer seu aplicativo de negociação de criptografia se destacar entre os concorrentes ou pelo menos estar no mesmo nível deles. Você pode pensar em desenvolver recursos como:
Ao criar seu aplicativo de criptomoeda, pense em alguns recursos avançados que transformarão um aplicativo de negociação básico em uma solução de negociação escalável:
Por exemplo, o eToro tem um recurso chamado sistema CopyTrader™. Ele encontra semelhanças nos hábitos de negociação de traders bem-sucedidos ao analisar seu comportamento na plataforma e permite que outros usuários copiem suas escolhas automaticamente e em tempo real.
Embora a criptografia ainda possa ter uma imagem de 'Velho Oeste', a conformidade regulatória é crucial para esse setor. Ao desenvolver seu futuro aplicativo de criptomoeda, e dependendo da jurisdição onde você vai trabalhar, tenha em mente vários princípios e processos regulatórios.
Nome | Definição | Requisitos a cumprir |
---|---|---|
RGPD | É um regulamento da lei da UE com relação à proteção de dados e privacidade na União Europeia e no Espaço Econômico Europeu que você precisa cumprir se planeja ter clientes na Europa. | Armazenar dados de usuários da UE em locais de servidores da UE Adicionar funcionalidade para que o usuário tenha melhor controle sobre seus próprios dados Oferecer uma opção de exclusão de conta |
KYC (Conheça seu cliente) | É um procedimento essencial para identificar contrapartes para operações com criptomoedas. Abrange os processos de seleção (nem todos podem ser clientes) e de identificação (dados pessoais, dados biométricos). | Implemente seu próprio sistema KYC que permite aos usuários fazer upload de IDs e adotar um processo de verificação manual Ou use/crie sistemas AI/ML que verificam fotos/IDs automaticamente |
AML (Anti-Lavagem de Dinheiro) | É uma série de procedimentos destinados a detectar esquemas de lavagem de dinheiro com base na análise de dados agregados. KYC se enquadra nas medidas AML. | Ter limites de transferência de moeda efetivamente aplicados (por exemplo, não mais de $ 10.000 por dia para saque) Ter a capacidade de bloquear usuários específicos se eles estiverem sendo indiciados por lei Ter a capacidade de limitar/bloquear cidadãos de determinados países ou clientes de determinados bancos para enviar ou receber dinheiro |
KYT (Conheça sua transação) | Descreve medidas e procedimentos para detectar e identificar transações fraudulentas suspeitas e bloqueá-las. | Tenha técnicas para rastrear a origem da transação (quando recebemos um depósito) e o destino ANTES de fazer um saque. |
A implementação dos procedimentos KYT em seu aplicativo pode ser uma das partes mais desafiadoras do desenvolvimento de aplicativos de criptomoeda. Para moedas fiduciárias, significa a possibilidade de impedir que pessoas, bancos ou países específicos participem das transações. Para criptomoedas, significa a possibilidade de verificar se uma carteira criptográfica específica está “limpa” (não marcada como potencialmente conectada ao “mercado negro”, criminosos e assim por diante) ou não.
Rastrear isso por conta própria pode ser bastante difícil, pois requer criar ou ter um enorme banco de dados revisado manualmente, coletando todas as “carteiras ruins” e rastreando todas as transações conectadas a elas. Nesse caso, provedores terceirizados como Chainalysis KYT podem ajudar. Ele oferece monitoramento contínuo de transações para todos os ativos de criptomoeda para reduzir fluxos de trabalho manuais e detectar atividades suspeitas.
À medida que os reguladores de todo o mundo navegam pelo mundo criptográfico, é óbvio que seu principal objetivo é criar um sistema regulatório preciso e forte para esta jovem indústria. As regras podem variar de um país para outro, mas a maioria dos órgãos reguladores destaca a importância de pilares como os procedimentos KYC/AML/KYT, melhorando os protocolos de segurança e também a proteção do investidor.
O desenvolvimento da plataforma de negociação de criptomoedas é semelhante a qualquer outro desenvolvimento de aplicativo, apenas com foco na tecnologia blockchain e segurança extra. Todas as etapas comuns de desenvolvimento são necessárias:
Qualquer que seja o tipo de aplicativo de negociação de criptografia que você planeja criar, o desenvolvimento da parte frontal será quase o mesmo. O objetivo principal é projetar uma interface de usuário amigável e fácil de navegar com a ajuda de designers experientes de UX/UI e desenvolvedores front-end.
O desenvolvimento do lado do servidor do aplicativo é uma tarefa mais complexa que pode ser resolvida usando diferentes abordagens e ferramentas. O back-end do aplicativo deve fornecer processamento de pedidos rápido e eficiente e segurança de dados. Além disso, ele precisa ser escalável para suportar cargas crescentes à medida que seu produto ganha popularidade.
O desenho da arquitetura é baseado nos requisitos do negócio, pois cada projeto é único e não existe uma única solução multifuncional. Na MobiDev, sugerimos uma abordagem de desenvolvimento, um roteiro técnico e uma abordagem de arquitetura somente após esclarecer os objetivos de negócios e os principais requisitos para produtos de negociação de criptomoedas.
Para alguns dos produtos, contamos com uma abordagem de banco de dados na memória para gerar pedidos e processá-los rapidamente. Ao contrário dos bancos de dados que armazenam dados em discos ou SSDs, um banco de dados na memória armazena e processa dados exclusivamente na memória principal do computador, garantindo um tempo de resposta mínimo. Isso permite lances em tempo real, onde um aplicativo pode processar solicitações de lances de todos os compradores, selecionar um lance vencedor com base em vários critérios e processá-lo.
Líder do Grupo JavaScript
Graças a essa tecnologia, o banco de dados pode ser acessado por diferentes servidores em diferentes regiões ou pode ser utilizado por um número diferente de usuários, o que torna a solução eficiente e escalável. Você pode encontrar uma ilustração dessa arquitetura abaixo.
Mas este é apenas um exemplo. Investigando em cada caso específico na fase de descoberta, vários fatores devem ser considerados:
Essa análise permite selecionar uma solução que satisfaça os requisitos do cliente e permita que eles tenham exatamente os recursos que ajudarão um produto a funcionar de maneira suave e eficiente.
Avaliado por: Maksym Bielai , BA Team Leader, Fintech Market Analyst
Escrito por Dmitriy Kisil , engenheiro de IA da MobiDev .
O artigo completo foi originalmente publicado aqui e é baseado na pesquisa da tecnologia MobiDev.