Bijou64: un encodage d'entier à longueur variable
Original : Bijou64: A variable-length integer encoding
Pourquoi c'est important
Résout les vulnérabilités de canonicalisation dans les protocoles sécurisés
Ink & Switch développe Bijou64, un nouvel encodage varint qui garantit une représentation unique pour chaque nombre, résolvant les problèmes de canonicalité de LEB128 tout en offrant de meilleures performances.
Bijou64 est un encodage d'entier à longueur variable développé pour le protocole de synchronisation CRDT Subduction. Contrairement à LEB128 qui permet plusieurs représentations pour le même nombre (0 peut être 0x00, 0x80 0x00, ou toute séquence plus longue), Bijou64 assure qu'chaque nombre n'a qu'une seule représentation possible. Cette contrainte de canonicalité résout les problèmes de sécurité dans les protocoles signés où des bytes différents produisent des signatures différentes. L'encodage s'avère également plusieurs fois plus rapide que LEB128 car sa structure nécessite moins de travail de décodage.