A. La Seed
Définition
Voyez votre seed comme étant une combinaison d'un nom d'utilisateur et d'un mot de passe qui vous donne accès à votre compte en banque. Si quelqu'un met la main dessus, il pourra alors accéder à vos avoirs. Et si vous l'égarez, il vous sera impossible d'y avoir accès.
Une seed est une suite aléatoire de 81 caractères formée uniquement des lettres A à Z (en majuscules) et du chiffre 9 (pas les autres chiffres). Il est impératif pour la sécurité de cette seed que ces trois critères (longueur, caractères et aléatoire) soient réunis. C'est sur base de cette seed que seront générées vos adresses IOTA ainsi que les signatures de vos transactions.
Remarque, la seed ne doit pas nécessairement faire 80 caractères et se terminer par le 9 comme beaucoup semblent comprendre. Le 9 peut se placer n'importe ou et de multiples fois (tout commes les autres lettres d'ailleurs). C'est un peu comme si vous aviez 27 cartons (26 lettres et le 9) que vous mélangiez puis en sortiez un à la fois, le remettiez dans le tas et recommenciez l'opération 81 fois.
Générer une seed
Il existe une multitude de façon de générer une seed. L'important est de s'assurer qu'elle a un caractère aléatoire d'une part et qu'elle soit générée dans de bonnes conditions de sécurité. Afin d'avoir des conditions de sécurité optimales, il est conseillé de générer sa seed sur un ordinateur hors-ligne, et de changer manuellement quelques caractères de la seed une fois celle-ci générée. Il existe également d'autres méthodes de génération (à l'aide d'un dé et d'un bic par exemple).
Les méthodes présentées ci-après ont été vérifiées et validées par la communauté comme étant sures. En fonction de votre système d'exploitation vous pouvez utiliser des systèmes préinstallés dans l'OS pour générer cette seed.
Linux - Terminal (infos)
cat /dev/urandom |tr -dc A-Z9|head -c${1:-81}
Mac - Terminal (infos)
cat /dev/urandom |LC_ALL=C tr -dc 'A-Z9' | fold -w 81 | head -n 1
Windows
Il a été démontré que les commandes PowerShell ne sont pas sécurisée.NE LES UTLIISEZ PAS !
Sous windows, il n'y a pas de ligne de commande miracle. Il faut donc s'orienter vers une autre méthode.
Attention : N'UTILISEZ SURTOUT PAS DE GENERATEUR EN LIGNE, CEUX-CI SONT BIEN SOUVENT DES ARNAQUES QUI COPIERONT VOTRE SEED ET VIDERONS TOUS LES IOTAS QUE VOUS Y DEPOSEREZ. (le Site qui était proposé dans ce guide avant est sur et l'a toujours été, son code est auditable et il est possible d'en télécharger une version hors-ligne. Toutefois pour éviter toute confusion j'ai retiré les liens y faisant référence. Il est préférable de s'en tenir au fait que les services de génération de seed en ligne sont très très probablement des arnaques et qu'il ne faut pas y faire confiance).
Autres méthodes
Une autre méthode fiable et sécurisée de générer une seed est tout simplement de le faire à l'aide d'un bic et d'un dé, en suivant le tableau ci-dessous Cette méthode est relativement simple et elle permet d'avoir une seed bien aléatoire ainsi que de s'assurer elle n'a pas été générée sur une machine potentiellement infectée par un virus. C'est sans doute à ce jour la méthode la plus sure existante. Il faut par contre faire très attention de ne pas se tromper en l'insérant dans le wallet.
Les logiciels gestionnaires de mot de passe tels Keepass et Lastpass disposent également de générateurs de mots de passe. Ceux-ci peuvent être utilisés sans souci pour générer une clé aléatoire de manière sécurisée. Ils offrent également l'avantage de pouvoir retenir cette clé de manière totalement cryptée.
Sécurité de la seed
Toutes les seeds devraient être formées de 81 caractères aléatoires composés des lettres A à Z (en majuscule) et du chiffre 9.
Règles de sécurité
- Ne communiquez votre seed à PERSONNE
- Ne gardez pas votre seed dans un document non-crypté
- N'entrez pas votre seed sur des sites auxquels vous n'avez pas confiance
- Ne vous trompez pas entre l'adresse et la seed quand vous entrez votre adresse pour recevoir des IOTA
- N'utilisez pas votre seed si vous êtes sur un wifi public, elle pourrait être interceptée.
Ma seed est-elle sure ? Quelqu'un peut-il la deviner ?
Commençons d'abord par immaginer un cas classique nom d'utilisateur et mot de passe. Considérons qu'un nom d'utilisateur moyen fait 15 caractères de long et qu'un mot de passe moyen fait également 15 caractères de long. Considérons également que vous pouvez utiliser les caractères suivant : a-z, A-Z, 0-9 et 10 symboles différents pour votre nom d'utilisateur et votre mot de passe. Tout ceci se traduit mahtématiquement par combinaisons possibles pour trouver votre nom d'utilisteur et votre mot de passe
Dans le cas du IOTA, votre seed fait 81 caractères de long et est composée de A-Z et 9. Ce qui donne mathématiquement combinaisons possibles pour une seed IOTA, soit bien plus que le nombre total d'atomes dans l'univers tout entier (estimé a ). Ce nombre faramineux de combinaisons possibles ne correspond non pas au double, mais à un milliard de milliard de milliard de milliard de milliard de milliard de fois plus de possibilités que pour le cas précédent avec nom d'utilisateur/mot de passe.
Considérons tout de même que vous puissiez construire un ordinateur colossal, composé de toute la matière du système solaire et qui fonctionne en récupérant toute l'énergie produite par le soleil. Admettons qu'un tel ordinateur puisse générer et lire un trillion (mille milliards) de seeds par seconde. Dans ce cas, on aurait
( seeds) / ( seeds par secondes) = secondes = ANNÉES pour tout vérifier. Pour info, l'univers tout entier n'est agé "que" de années.
En conclusion, même si le nombre de seeds est fini, il est tellement grand qu'il est virtuellement impossible de tomber deux fois sur la même seed (une chance sur ). On peut donc considérer ce système comme suffisament sur. Pour donner un autre exemple d'ordre de grandeur, il est plus probable de gagner 12 fois d'affilée a l'euromillion que de deviner une seed en particulier.
Changer de seed
Vous pouvez à tout moment changer de seed. Pour ce faire, il suffit de générer une nouvelle seed comme précédemment, et d'y transférer vos IOTAs.
Vous pouvez également posséder plusieurs seeds et répartir vos IOTAs entre celles-ci.
Accéder à une seed courte
Les seeds de moins de 60 caractères ne sont pas autorisées par l'interface du light wallet à moins d'opérer un changement dans les préférences du wallet :
"Tools" > "Options" > "Allow short seed"
Ces seeds ont été générées sous d'versions du protocole. Il est HAUTEMENT RECOMMANDÉ que toutes les seeds fassent 81 caractères afin de maximiser la sécurité ! Après avoir accédé à votre seed courte, il convient de créer une nouvelle seed de 81 caractères, de générer une addresse de réception et d'y transférer tous les iotas de la seed courte vers la nouvelle seed de 81 caractères.