RS

Le format d’adresse Reed-Solomon

La forme abrégée des numéros de compte Burstcoin (adresses) est de la forme: RAFALE-XXXX-XXXX-XXXX-XXXXX

Ce format est appelé une adresse Reed-Solomon. C’est le format par défaut dans le client officiel, où X est un nombre ou un caractère alphabétique non ambigu (les lettres I et O et les chiffres 1 et 0 ne sont pas utilisés). Les adresses sont toujours précédées de «BURST-» et des tirets sont utilisés pour séparer l’adresse en 4, 4, 4 et 5 caractères. Les adresses ne sont PAS sensibles aux cas.

Ce formulaire améliore la fiabilité en introduisant une redondance pour détecter et corriger les erreurs lors de la saisie et de l’utilisation des numéros de compte Burstcoin.

Fond

Le format interne des numéros de compte Burstcoin est un identifiant 64 bits entièrement numérique dérivé de la clé privée du compte. Ce format est sujet aux erreurs parce qu’une seule erreur lors de la saisie d’un personnage peut entraîner l’envoi involontaire de transactions vers le mauvais compte.

Les codes de correction des erreurs De Reed-Solomon corrigent en grande partie ce problème en ajoutant des redondances aux adresses. Le format Reed-Solomon a été choisi parce que:

  • le taux de collision du compte est le même que le format d’adresse par défaut ;
  • la correction d’erreur de base du système peut être utilisée pour aider les utilisateurs à taper des adresses ;
  • certaines langues de programmation n’ont pas de fonction de hhissement MD5 natif, et l’implémentation Reed-Solomon est plus simple que MD5.

Avantages des adresses Reed-Solomon

  • La probabilité d’une collision d’adresses aléatoires, en utilisant l’implémentation de Burstcoin de 4 «bits de contrôle», est de 1 sur un million (redondance de 20 bits).
  • Il permet de corrigerjusqu’à 2 fautes de frappe dans une adresse.
  • Il garantit que jusqu’à 4 erreurs typographiques peuvent être détectées.
  • La longueur de l’adresse est toujours de 17 caractères.
  • Le préfixe «BURST» rend les adresses facilement reconnaissables comme appartenant à Burstcoin.

Encodage des adresses Burstcoin Reed-Solomon

  • La casse n’est pas appliquée dans ce format, mais pour l’unification, toutes les adresses sont affichées en majuscules.
  • Les tirets divisent les adresses en groupes de 4 caractères et en un dernier groupe de 5 caractères, mais cela n’est pas appliqué lors de la saisie d’adresse.
  • Les anciennes adresses numériques sont également reconnues et prises en charge pour la compatibilité vers l’arrière.

Exemple d’adresses RS :

  • BURST-3DH5-DSAE-4WQ7-3LPSE
  • BURST-K4G2-FF32-WLL3-QBGEL

Détails techniques

La première et la plus importante règle est qu’aucun schéma de correction d’erreurs n’est infaillible: la correction d’erreurs est un outil utile, mais on ne peut pas s’y fier au hasard.

Le problème est quelque peu contre-intuitif: soit vous pouvez faire un simple oui / non vérification de la validité de l’adresse, qui vous donnera un sur un million de collision, ou vous pouvez essayer de corriger les erreurs. Vous ne pouvez pas faire les deux.

Le problème ici est que l’algorithme Reed-Solomon n’est garanti que pour corriger jusqu’à 2 erreurs. Si plus de 2 erreurs sont présentes dans une entrée d’adresse, cela produira des faux positifs avec une probabilité d’environ 10%, et les transactions seront toujours envoyées à des adresses incorrectes.

Pensez à l’algorithme comme erreur de deviner, au lieu de cela, pour aider les utilisateurs avec des erreurs de repérage.

Les adresses Reed-Solomon (RS) pour Burstcoin sont codées comme suit:

  • Prenez l’ID de compte 64 bits d’origine, ajoutez 1 bit zéro pour obtenir 65, puis divisez-le en treize «symboles» de 5 bits (65/5 = 13).
  • Classez les symboles du bit le plus bas au bit le plus élevé, dans l’ordre petit-boutiste, c’est-à-dire les bits 0-4, 5-9, 10-14, etc., jusqu’à 60-64.
  • Annexez 4 symboles de parité (20 bits), produits par le Encodage Reed-Solomon de nos 13 symboles de l’étape 1 (qui ne sont pas touchés). Cela produit un mot de code symbole de 13 à 4 et 17.
  • Brouillez les symboles de mots de code dans un ordre prédéfini et codez-les 1 à 1 avec un alphabet de 32 caractères, en les divisant en groupes par des tirets.

11 + 5 =

Pour contacter l’équipe de développement ou demander de l’aide pour tout ce qui concerne ce projet, veuillez nous contacter sur le canal Burstcoin Discord.