Mt. Gox tournait sur une base de code initialement conçue pour le trading de cartes Magic: The Gathering. Le moteur de matching était une application PHP mono-thread capable de traiter peut-être quelques centaines d’ordres par seconde dans de bonnes conditions. Quand le volume de trading Bitcoin augmentait, toute la plateforme s’effondrait. C’était l’état de la technologie des exchanges crypto en 2013.
Les exchanges crypto modernes comme Binance traitent des pics de plus de 100 milliards d’ordres par jour. Leurs moteurs de matching sont écrits dans des langages à faible latence comme C++ ou Rust, fonctionnent sur du matériel sur mesure avec un réseau en kernel bypass. L’écart technologique entre les premiers exchanges et les plateformes actuelles est à peu près équivalent à la différence entre une calculatrice et un supercalculateur.
Le moteur de matching est le cœur de tout exchange. Il prend les ordres d’achat et de vente entrants, les appareille selon la priorité prix-temps et produit des trades. Les premiers exchanges crypto utilisaient des implémentations simples qui vérifiaient les ordres séquentiellement. Les moteurs de matching actuels utilisent des structures de données sophistiquées comme les arbres rouge-noir pour le carnet d’ordres, leur permettant de trouver le meilleur prix et d’exécuter les matchings en microsecondes.
Les moteurs de risque fonctionnent en parallèle du moteur de matching en temps réel. Ces systèmes calculent les exigences de marge, vérifient les limites de position et déclenchent les liquidations si nécessaire. Sur les plateformes de trading avec effet de levier, le moteur de risque doit traiter chaque ordre et chaque tick de prix pour s’assurer que l’exchange reste solvable. Se tromper, même brièvement, peut entraîner des pertes socialisées sur l’ensemble de la plateforme.
L’infrastructure de données derrière un grand exchange est tout aussi complexe. Chaque ordre, annulation, trade et mise à jour de solde doit être enregistré de manière fiable. Les exchanges utilisent généralement une combinaison de bases de données en mémoire pour les opérations en temps réel et de systèmes distribués comme Kafka pour le streaming d’événements. Les données de marché doivent être distribuées simultanément à des milliers de clients connectés avec une latence minimale.
Les connexions WebSocket gèrent la distribution de données en temps réel. Un grand exchange peut maintenir des centaines de milliers de connexions WebSocket simultanées, chacune recevant des flux personnalisés de mises à jour du carnet d’ordres, de flux de trades et de notifications de compte. Le défi d’ingénierie n’est pas seulement le débit mais la cohérence, en s’assurant que chaque client voit la même séquence d’événements dans le même ordre.
L’infrastructure de wallet est une autre couche technologique critique. Les hot wallets doivent traiter les retraits rapidement tout en maintenant la sécurité. Les systèmes de cold storage utilisent des schémas multi-signatures, des modules de sécurité matériels et des processus de signature air-gapped. Le pont entre les hot wallets et les cold wallets est l’un des systèmes les plus sensibles dans toute architecture d’exchange.
La technologie des DEX a suivi sa propre voie évolutive. Les premiers DEX comme EtherDelta utilisaient de simples carnets d’ordres on-chain qui étaient coûteux et lents. Uniswap a introduit les automated market makers qui ont éliminé le besoin de carnets d’ordres. Les designs actuels de DEX explorent des approches hybrides, utilisant des carnets d’ordres off-chain avec règlement on-chain, ou des modèles de liquidité concentrée qui améliorent l’efficience du capital.
La convergence est intéressante. Les exchanges centralisés ajoutent des options de règlement on-chain. Les DEX ajoutent des composants off-chain pour de meilleures performances. La technologie évolue vers un juste milieu où les utilisateurs obtiennent la vitesse des systèmes centralisés avec la transparence et l’auto-garde des systèmes décentralisés. Savoir si cette convergence fonctionne réellement en pratique est l’une des questions ouvertes les plus importantes dans l’infrastructure crypto.