Author

Topic: informations contradictoires (Read 3939 times)

hero member
Activity: 585
Merit: 500
newbie
Activity: 1
Merit: 0
December 21, 2015, 11:53:20 AM
#9
Une adresse bitcoin est composée de 27 à 34 caractères choisi parmi les 58 possibles de l'encodage base58check (https://en.bitcoin.it/wiki/Base58Check_encoding).

-L'adresse bitcoin à toujours une longueur de 25 octets. C'est la conversion en base58check qui donne une adresse qui contient entre 27 et 34 caractères (cela dépends de la valeur binaire de l'adresse).

Bonjour,

au sujet de la longueur d'une adresse, on voit de tout, parfois entre 27 et 34, parfois entre 26 et 35, etc...

Qu'en est-il exactement ?

Par exemple ici : https://en.bitcoin.it/wiki/Address  paragraphe What's in an address, ca dit entre 26 et 34.
Quote
Most Bitcoin addresses are 34 characters. They consist of random digits and uppercase and lowercase letters, with the exception that the uppercase letter "O", uppercase letter "I", lowercase letter "l", and the number "0" are never used to prevent visual ambiguity.

Some Bitcoin addresses can be shorter than 34 characters (as few as 26) and still be valid. A significant percentage of Bitcoin addresses are only 33 characters, and some addresses may be even shorter. Every Bitcoin address stands for a number. These shorter addresses are valid simply because they stand for numbers that happen to start with zeroes, and when the zeroes are omitted, the encoded address gets shorter.

As quelle étape du processus de passage de la clé publique à l'adresse, correspond le "nombre débutant par 0" dont il est question dans l'explication ci-dessus ?
Car le résultat d'une fonction de hachage produit toujours un résultat de longueur fixe, donc ca ne peut être que la conversion en base58check qui induit la réduction de la longueur de l'adresse, exact ?

C'est donc si le résultat de l'étape 6 donne un nombre commencant par des zéros, que l'adresse sera plus courte ?

Quote
Pour déduire une adresse bitcoin à partir de là clé public, il faut appliquer l'algorithme suivant:
1: Calculer le hash de la clé public avec SHA-256
2: Calculer le hash du précédent hash avec RIPEMD-160
3: Ajouter la version du réseau au début du hash (0x00 pour les adresses "classiques")
4: Calculer le hash du résultat précédent avec SHA-256
5: Calculer un nouveau hash à partir du hash précédent avec SHA-256 (oui oui on fait bien deux hash SHA-256 à suivre)
6: Ajouter les 4 derniers octets du résultat précédent à la fin du résultat obtenu à l'étape 3 (le hash RIPEMD-160 avec la version ajoutée au début). On obtient l'adresse bitcoin sous forme binaire sur 25 octets.
7: Et enfin, convertir ce dernier résultat en base58check (cette conversion donne l'adresse telle qu'on peut la voir partout)

Et pourquoi ca ne descend pas à moins de 26 ?

Si quelqu'un peut donner la démonstration. Merci.
full member
Activity: 217
Merit: 100
July 31, 2014, 04:09:09 PM
#8
Pas de problème. Les informations, c'est fait pour circuler  Smiley
member
Activity: 95
Merit: 10
July 31, 2014, 02:52:42 PM
#7
Oui !!
Moi aussi, je redis encore une fois merci beaucoup.
J'avais encore plus mal à la tête de ne pas comprendre.

legendary
Activity: 1090
Merit: 1089
July 31, 2014, 02:47:56 PM
#6
Merci beaucoup !

Quote
les clé publique (= les adresses bitcoin)
Alors ça, c'est un vrai plaisir de le lire ! Tout deviens plus simple à comprendre.


La phrase que tu sites est la plus précise: Une adresse bitcoin est un hash SHA-256 d’un hash RIPEMD-160 encodé en base58check d’une clé publique.

En fait, l'adresse Bitcoin n'est pas directement la clé public. Il arrive que l'on dise que l'adresse est la clé public par souci de simplification car l'adresse est effectivement calculée à partir de la clé public et dépend donc directement de celle-ci: Une clé public unique -> une adresse bitcoin unique.

Une adresse bitcoin est composée de 27 à 34 caractères choisi parmi les 58 possibles de l'encodage base58check (https://en.bitcoin.it/wiki/Base58Check_encoding).

Pour déduire une adresse bitcoin à partir de là clé public, il faut appliquer l'algorithme suivant:
1: Calculer le hash de la clé public avec SHA-256
2: Calculer le hash du précédent hash avec RIPEMD-160
3: Ajouter la version du réseau au début du hash (0x00 pour les adresses "classiques")
4: Calculer le hash du résultat précédent avec SHA-256
5: Calculer un nouveau hash à partir du hash précédent avec SHA-256 (oui oui on fait bien deux hash SHA-256 à suivre)
6: Ajouter les 4 derniers octets du résultat précédent à la fin du résultat obtenu à l'étape 3 (le hash RIPEMD-160 avec la version ajoutée au début). On obtient l'adresse bitcoin sous forme binaire sur 25 octets.
7: Et enfin, convertir ce dernier résultat en base58check (cette conversion donne l'adresse telle qu'on peut la voir partout)


Quelques précisions:
-Les adresses bitcoin "classiques" commencent toujours par 1 (celles qui commencent par 3 sont des adresses multi-signatures) car l'étape 3 ajoute 00 au début de chaque adresse. Ce 00 converti en base58check donne 1. .
-L'adresse bitcoin à toujours une longueur de 25 octets. C'est la conversion en base58check qui donne une adresse qui contient entre 27 et 34 caractères (cela dépends de la valeur binaire de l'adresse).




Merci pour cette réponse plus que précise.
Un bon mal de crane, mais j'ai pigé.  Huh
member
Activity: 95
Merit: 10
July 31, 2014, 05:10:57 AM
#5
Bonjour !
Ouhaaa !!
J'étais justement entrain de partir de ça :

Public Key of
16jFovZho4ZyLy7WqQ8hsEoUrScPFWELNH
 is 044d0432f512c279ea68f5bc929c0289324b85dc5857a0891053685d51c9f72057d4fb98e16869f abb85b294841d14c6c9db53c29aadda61975b75abcb687eaf5a

Que j'ai découvert ce matin sur blockchain.info/wallet pour essayer de trouver l'adresse à partir de la clé publique en essayant les différants encodages.

Merci beaucoup pour tes explications, vraiment !
full member
Activity: 217
Merit: 100
July 31, 2014, 05:00:48 AM
#4
Merci beaucoup !

Quote
les clé publique (= les adresses bitcoin)
Alors ça, c'est un vrai plaisir de le lire ! Tout deviens plus simple à comprendre.


La phrase que tu sites est la plus précise: Une adresse bitcoin est un hash SHA-256 d’un hash RIPEMD-160 encodé en base58check d’une clé publique.

En fait, l'adresse Bitcoin n'est pas directement la clé public. Il arrive que l'on dise que l'adresse est la clé public par souci de simplification car l'adresse est effectivement calculée à partir de la clé public et dépend donc directement de celle-ci: Une clé public unique -> une adresse bitcoin unique.

Une adresse bitcoin est composée de 27 à 34 caractères choisi parmi les 58 possibles de l'encodage base58check (https://en.bitcoin.it/wiki/Base58Check_encoding).

Pour déduire une adresse bitcoin à partir de là clé public, il faut appliquer l'algorithme suivant:
1: Calculer le hash de la clé public avec SHA-256
2: Calculer le hash du précédent hash avec RIPEMD-160
3: Ajouter la version du réseau au début du hash (0x00 pour les adresses "classiques")
4: Calculer le hash du résultat précédent avec SHA-256
5: Calculer un nouveau hash à partir du hash précédent avec SHA-256 (oui oui on fait bien deux hash SHA-256 à suivre)
6: Ajouter les 4 derniers octets du résultat précédent à la fin du résultat obtenu à l'étape 3 (le hash RIPEMD-160 avec la version ajoutée au début). On obtient l'adresse bitcoin sous forme binaire sur 25 octets.
7: Et enfin, convertir ce dernier résultat en base58check (cette conversion donne l'adresse telle qu'on peut la voir partout)


Quelques précisions:
-Les adresses bitcoin "classiques" commencent toujours par 1 (celles qui commencent par 3 sont des adresses multi-signatures) car l'étape 3 ajoute 00 au début de chaque adresse. Ce 00 converti en base58check donne 1. .
-L'adresse bitcoin à toujours une longueur de 25 octets. C'est la conversion en base58check qui donne une adresse qui contient entre 27 et 34 caractères (cela dépends de la valeur binaire de l'adresse).

member
Activity: 95
Merit: 10
July 30, 2014, 04:21:33 AM
#3
Merci beaucoup !

Quote
les clé publique (= les adresses bitcoin)
Alors ça, c'est un vrai plaisir de le lire ! Tout deviens plus simple à comprendre.
hero member
Activity: 585
Merit: 500
July 30, 2014, 04:15:01 AM
#2
Les articles vulgarise Bitcoin généralement pour en faciliter la compréhension.

Globalement:
 - un wallet bitcoin contient seulement un ensemble de clés privées
 - les clé publique (= les adresses bitcoin) sont déduites des clés privés, pas par une magie mathématique, mais pas un algorithme
 - le logiciel bitcoin retrouve dans la blockchain les transactions qui concerne les clés publiques que le wallet détient
 - parmis ces transactions, celle qui n'ont pas été dépensées constitue le solde du porte monnaie (un wallet ne contient pas de bitcoin, c'est ce qu'on dit pour le vulgariser)
 
member
Activity: 95
Merit: 10
July 30, 2014, 03:44:11 AM
#1
Quand on découvre, il faut arriver à choisir parmi les informations contradictoires que l’on voit ici et là.

Exemple 1 :

 ici :
http://www.bitcoin.fr/pages/Qu-est-ce-que-Bitcoin#main
Il est écrit :
La possession des bitcoins est matérialisée par une suite de chiffres et de lettres qui constituent un porte-monnaie virtuel (ou compte).

Ce n’est pas une adresse, plutôt qu’un porte-monnaie, qui est matérialisée par une suite de chiffres et de lettres ?

Le porte-monnaie comporte le montant en bitcoins de l'argent qu'il contient, une clef publique qu'on peut laisser circuler et une clef privée

Ce n’est pas une adresse, plutôt qu’un porte-monnaie, qui contient, une clef publique et une clef privée



Exemple 2 :

http://www.bitcoin.fr/pages/Vocabulaire#main
Il est écrit :
une adresse Bitcoin et sa clé privée sont liés par la magie de la mathématique. Quand un logiciel Bitcoin signe une transaction avec la clé privée appropriée, le réseau Bitcoin peut vérifier que la signature correspond à l'adresse Bitcoin dans la transaction.

On ne parle pas de clé publique.

Alors que ici :
http://achat-bitcoin.fr/cle-publique-et-cle-privee-kesako-40430.html

Il est écrit :
La clé publique est une chaîne de 256 bits également, calculée depuis la clé privée

et plus loin :
Une adresse bitcoin est un hash SHA-256 d’un hash RIPEMD-160 encodé en base58check d’une clé publique.

Il semble donc que l’adresse est autre chose que la clé publique.
Alors quelle relation est-elle vérifiée ? Adresse-clé privée ? ou clé publique-clé privée ?

Jump to: