>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
Rust

Comment fonctionne la couche de calcul décentralisée dans Bittensor

Récemment, je suis tombé sur le dépôt subtensor. C'est le cœur du projet Bittensor, qui fait beaucoup de bruit dans l'espace de l'IA décentralisée. En résumé, c'est une blockchain basée sur Substrate qui tente de transformer la puissance de calcul—de l'inférence de réseaux de neurones au stockage de données—en commodity numérique.

L'idée semble surchargée, mais techniquement le projet est implémenté de manière intéressante. C'est un monorepo contenant le nœud blockchain lui-même, un SDK Python, la documentation, et même le code du site web. Les gens de Rao Foundation ont décidé que tout garder au même endroit est la meilleure façon d'éviter de casser la compatibilité lors des mises à jour de la chaîne.

Qu'est-ce que c'est exactement

Bittensor fonctionne sur la logique des sous-réseaux. Imaginez que vous avez un marché où certains participants (mineurs) fournissent des ressources, et d'autres (validateurs) vérifient la qualité de leur travail. Pour les actions utiles, le réseau attribue des jetons TAO.

Subtensor agit ici comme le coordinateur. Il ne gère pas les calculs réels—entraîner un modèle ou stocker des fichiers sur la blockchain serait de la folie. Au lieu de cela, la chaîne enregistre l'état des neurones, gère le staking, distribue les émissions et maintient le consensus. Le travail réel se fait off-chain, à l'intérieur de sous-réseaux spécifiques.

Intéressamment, plusieurs mondes coexistent à l'intérieur de subtensor. D'un côté, il y a Substrate natif avec ses extrinsics. De l'autre—le support complet de l'EVM (via Frontier) et les smart contracts en ink!/Wasm. Ce qui signifie que vous pouvez écrire de la logique en Solidity qui interagira avec le staking ou les soldes dans le réseau principal.

Ce qu'il y a à l'intérieur du dépôt

La structure du projet est assez transparente malgré la quantité de code :

  • pallets/subtensor/ — la logique centrale réside ici : comment fonctionnent les sous-réseaux, comment les poids sont accumulés, et comment les récompenses sont distribuées.
  • sdk/python/ — le package bittensor et l'utilitaire btcli. La bibliothèque est générée à partir des métadonnées de la chaîne, ce qui minimise les écarts entre les versions.
  • node/ — le binaire du nœud lui-même, responsable du réseau et du RPC.
  • precompiles/ — les ponts qui exposent les fonctions blockchain à l'environnement EVM.

Au fait, concernant la génération du SDK. C'est une approche assez pragmatique : quand vous mettez à jour le runtime, la documentation et les bibliothèques clientes suivent. La CI comprend des tests sur une "copie" du mainnet qui vérifient les migrations sur des données réelles avant de les déployer en production.

Comment l'exécuter en local

Le moyen le plus rapide d'explorer subtensor est de lancer un réseau local dans Docker. Les développeurs ont préparé une image prête à l'emploi qui vous épargne une demi-heure de compilation de code Rust.

docker run --rm --name local_chain \
  -p 9944:9944 -p 9945:9945 \
  ghcr.io/raofoundation/subtensor-localnet:devnet

Après cela, vous pouvez vous connecter via btcli ou le client Python :

import bittensor
client = bittensor.Client("local")
print(client.get_block_number())

Si vous voulez plongez dans les entrailles, il y a un script pour initialiser l'environnement Rust et lancer un réseau local "rapide" :

./scripts/init.sh
./scripts/localnet.sh

Cela vaut-il la peine de s'y plonger

Le projet est de niche. Si vous avez juste besoin d'exécuter un LLM, Bittensor peut sembler inutilement compliqué à cause de la composante crypto. Cependant, subtensor est intéressant comme exemple de système complexe sur Substrate avec une architecture hybride.

Qui devrait regarder le code :

  1. Ceux qui écrivent du Rust pour Substrate et veulent voir des pallets personnalisés pour des modèles économiques complexes implémentés.
  2. Les développeurs cherchant des moyens de combiner des contrats Solidity avec la logique blockchain native.
  3. Ceux qui conçoivent des systèmes où vous devez valider le travail effectué off-chain (off-chain workers).

L'inconvénient est une barrière d'entrée assez élevée. La documentation dans le dépôt est clairsemée par endroits, et pour comprendre la logique de distribution des poids, vous devrez passer beaucoup de temps dans le dossier pallets. Mais si le sujet des marchés de ressources décentralisées vous tient à cœur, subtensor est l'un des exemples les plus vivants de comment cela est construit aujourd'hui.

Commencez votre exploration par la documentation, puisque le readme décrit principalement la structure du dépôt et les processus de développement, pas la théorie réelle du fonctionnement du réseau.

Projets similaires