Je soupçonne que bencode
est utilisé pour des raisons historiques et pour alléger la charge des développeurs qui souhaitent mettre en œuvre l'extension DHT. Étant donné que tous les clients BitTorrent doivent disposer d'un serveur de bencode
pour travailler avec des fichiers torrent (qui sont simplement des dictionnaires de métadonnées codés en binaire), en implémentant la DHT avec bencode
ne nécessiterait aucune nouvelle dépendance du projet.
De plus, considérez que la DHT utilise bencode
ainsi que le codage binaire. Entre autres, la chaîne d'identifiant de nœud de 26 octets (20 octets pour l'identifiant de nœud, 6 octets pour l'adresse ipv4 / port) est stockée sous forme de chaîne binaire (voir : http://bittorrent.org/beps/bep_0005.html#contact-encoding ), donc, en fait, une compression minimale des données est déjà en cours.