Bitcoin Forum

Local => Débutants => Topic started by: Beauzebut on January 23, 2021, 05:20:09 PM



Title: synchronisation
Post by: Beauzebut on January 23, 2021, 05:20:09 PM
Bonsoir !

Je viens de voir cet article :
https://journalducoin.com/actualites/2-blocs-mines-meme-temps-bitcoin-fonctionne/

Justement, je me demandais comment fonctionne la synchronisation des nœuds. Je me disais : bon ! quand un mineur a fini un block, comment le protocole averti les autres qu’il est inutile de traiter les transactions qui viennent d’être minées. Je suppose que le mineur les enlève de sa liste d’attente et après ? Comment se propage l’information : « ajoutez mon nouveau block à votre copie de la blockchain et raccourcissez votre liste d’attente. » ?


Title: Re: synchronisation
Post by: elma on January 24, 2021, 07:42:04 PM
J'en sais rien du tout.
Mais ça fait plaisir à voir, un gars motivé comme toi et qui pose plein de questions ! :D


Title: Re: synchronisation
Post by: Beauzebut on January 24, 2021, 08:05:49 PM
J'en sais rien du tout.
Mais ça fait plaisir à voir, un gars motivé comme toi et qui pose plein de questions ! :D
;D
C’est vrai que je ne fais que poser des questions. Je ne suis pas très utile, pour l’heure. Je me demande comment j’ai pu récupérer des merit, vu que je ne sers à rien !


Title: Re: synchronisation
Post by: GrosWesh on January 24, 2021, 08:11:24 PM
C’est vrai que je ne fais que poser des questions. Je ne suis pas très utile, pour l’heure. Je me demande comment j’ai pu récupérer des merit, vu que je ne sers à rien !

Ca ne sert pas à rien, si les questions sont bonnes (et c'est souvent le cas) ça ouvre des discussions et ça enrichit le forum, c'est cool ! :)

Et après c'est toi qui aidera les autres haha !





Title: Re: synchronisation
Post by: Beauzebut on January 24, 2021, 08:15:53 PM
Et après c'est toi qui aidera les autres haha !

Du coup, j’ai hâte d’être en mesure d’expliquer comment fonctionne la synchronisation, à ceux ou celles qui demanderont. :)


Title: Re: synchronisation
Post by: LeGaulois on January 24, 2021, 08:58:54 PM
Lors du démarrage d'un nœud, il envoie une requête aux pairs pour qu'ils l'informent de la dernière version de la blockchain. En utilisant "GetHeaders" https://developer.bitcoin.org/reference/p2p_networking.html#getblocks
Les autres nœuds répondent ensuite avec la dernière version dont ils ont connaissance

Regarde Getheaders et Getblocks sur le lien

C'est comme si tu étais absent de ton travail et que tu revenais 1 semaine après à la machine à café en demandant
"Alors?! Racontez moi les potins pendant mon absence"
Et qu'ils te donnent la dernière version connue


Title: Re: synchronisation
Post by: GrosWesh on January 24, 2021, 09:03:44 PM
Du coup, j’ai hâte d’être en mesure d’expliquer comment fonctionne la synchronisation, à ceux ou celles qui demanderont. :)

Tu lis l'anglais ou pas ? Si c'est le cas, la ressource suivante t'intéressera fortement, en complément de la réponse que le Gaulois vient de t'apporter. Ca rentre vraiment dans les détails.

https://www.oreilly.com/library/view/mastering-bitcoin/9781491902639/ch08.html


Title: Re: synchronisation
Post by: Beauzebut on January 25, 2021, 02:13:35 PM
Lors du démarrage d'un nœud, il envoie une requête aux pairs pour qu'ils l'informent de la dernière version de la blockchain. En utilisant "GetHeaders" https://developer.bitcoin.org/reference/p2p_networking.html#getblocks
Les autres nœuds répondent ensuite avec la dernière version dont ils ont connaissance

Regarde Getheaders et Getblocks sur le lien

C'est comme si tu étais absent de ton travail et que tu revenais 1 semaine après à la machine à café en demandant
"Alors?! Racontez moi les potins pendant mon absence"
Et qu'ils te donnent la dernière version connue

Oui, ça je m'en doutais. Ce qui m'interroge c'est que, vu que ce n'est pas centralisé, où envoyer cette requête ? La machine à café, je sais où elle est, m'y rendre et rencontrer des gens à qui parler. Mais, là, à qui m'adresser. Je veux dire, comment Bitcoin Core sait-il à quelle (ou quelles) adresses ip, il peut demander où on en est ? Comment un "annuaire" peut-il être consultable, si la décentralisation fait qu'on ne sait pas où il peut être ? La machine à café n'est pas une bonne image pour représenter la décentralisation.


Title: Re: synchronisation
Post by: Beauzebut on January 25, 2021, 02:21:15 PM
Du coup, j’ai hâte d’être en mesure d’expliquer comment fonctionne la synchronisation, à ceux ou celles qui demanderont. :)

Tu lis l'anglais ou pas ? Si c'est le cas, la ressource suivante t'intéressera fortement, en complément de la réponse que le Gaulois vient de t'apporter. Ca rentre vraiment dans les détails.

https://www.oreilly.com/library/view/mastering-bitcoin/9781491902639/ch08.html

Je le lis, mais moins facilement que le français. Je vais regarder cependant.
Je progresse, je lis des infos sur la plus longue chaine… tout ça… :-)
--
Petit hors sujet parce que faire un post pour ça est sans doute inutile : on ne peut parler que de Bitcoin ici, ou on peut aussi parler de Etherum de temps en temps, à titre de comparaison technique par exemple. ?


Title: Re: synchronisation
Post by: perl on January 25, 2021, 03:03:40 PM
Oui, ça je m'en doutais. Ce qui m'interroge c'est que, vu que ce n'est pas centralisé, où envoyer cette requête ? La machine à café, je sais où elle est, m'y rendre et rencontrer des gens à qui parler. Mais, là, à qui m'adresser. Je veux dire, comment Bitcoin Core sait-il à quelle (ou quelles) adresses ip, il peut demander où on en est ? Comment un "annuaire" peut-il être consultable, si la décentralisation fait qu'on ne sait pas où il peut être ? La machine à café n'est pas une bonne image pour représenter la décentralisation.

On va dire que dans le code bitcoin , il y a des dns qui sont des serveurs connu et fiable et qui permette de se connecter la première fois.
Par contre des que tu chope un serveur tu lui demande des information sur d'autre serveurs et ainsi de suite. Et la prochaine fois tu pourra te connecter directement sans utiliser uniquement les serveur seeds.

https://github.com/bitcoin/bitcoin/blob/master/src/chainparamsseeds.h
 


Title: Re: synchronisation
Post by: Halab on January 25, 2021, 03:13:53 PM
Petit hors sujet parce que faire un post pour ça est sans doute inutile : on ne peut parler que de Bitcoin ici, ou on peut aussi parler de Etherum de temps en temps, à titre de comparaison technique par exemple. ?

Oui tu peux parler d'ETH ou autre ici. La description de cette section est un peu ancienne et ne correspond plus trop à la réalité d'aujourd'hui. Je suis un peu plus tatillon sur d'autres sections, si tu veux donner une news uniquement sur ETH ou spéculer sur ETH, là je déplacerai dans la section Alts.
Par contre, Ô malheureux, prends bien l'habitude d'éditer ton dernier message plutôt que de faire 2 posts en 8 minutes :). Pour le multi-quotage, j'ai donné une petite astuce ici (https://bitcointalk.org/index.php?topic=4964698.msg54587744#msg54587744).


Title: Re: synchronisation
Post by: Beauzebut on January 25, 2021, 04:09:25 PM
Oui tu peux parler d'ETH ou autre ici. La description de cette section est un peu ancienne et ne correspond plus trop à la réalité d'aujourd'hui. Je suis un peu plus tatillon sur d'autres sections, si tu veux donner une news uniquement sur ETH ou spéculer sur ETH, là je déplacerai dans la section Alts.
OK

Par contre, Ô malheureux, prends bien l'habitude d'éditer ton dernier message plutôt que de faire 2 posts en 8 minutes :). Pour le multi-quotage, j'ai donné une petite astuce ici (https://bitcointalk.org/index.php?topic=4964698.msg54587744#msg54587744).

Dac ! Je vais essayer tout de suite. Mais… "campagne de signature" ?


On va dire que dans le code bitcoin , il y a des dns qui sont des serveurs connu et fiable et qui permette de se connecter la première fois.
Par contre des que tu chope un serveur tu lui demande des information sur d'autre serveurs et ainsi de suite. Et la prochaine fois tu pourra te connecter directement sans utiliser uniquement les serveur seeds.

https://github.com/bitcoin/bitcoin/blob/master/src/chainparamsseeds.h
 

dns hard codés ! OK, merci, tout s'explique. Whaaa ! Il y en a une belle liste en effet ! Il y a de quoi trouver une machine à café avec tout ça ! :-)




Title: Re: synchronisation
Post by: Saint-loup on January 25, 2021, 06:33:31 PM
Code:
/**
 * List of fixed seed nodes for the bitcoin network
 * AUTOGENERATED by contrib/seeds/generate-seeds.py
 *
 * Each line contains a 16-byte IPv6 address and a port.
 * IPv4 as well as onion addresses are wrapped inside an IPv6 address accordingly.
 */

Ce ne sont pas des serveurs dns si c'est justement leur adresse IP qui est utilisée.


Title: Re: synchronisation
Post by: Halab on January 25, 2021, 06:36:23 PM
Dac ! Je vais essayer tout de suite. Mais… "campagne de signature" ?
Essai réussi :).
Pour les campagnes, ton âme ici est encore vierge et pure, reste sur la voie de la connaissance. Plus tard (quand tu seras plus haut rang) peut être, tu comprendras que si certains arborent des signatures chatoyantes, ce n'est pas toujours sans raison désintéressée. Un topic (https://bitcointalk.org/index.php?topic=615953.0) pour commencer à comprendre. Après tu fais en ton âme et conscience.
Mais là n'est pas le sujet de ton topic :)


Title: Re: synchronisation
Post by: Beauzebut on January 25, 2021, 07:56:27 PM
Pour les campagnes, ton âme ici est encore vierge et pure, reste sur la voie de la connaissance. Plus tard (quand tu seras plus haut rang) peut être, tu comprendras que si certains arborent des signatures chatoyantes, ce n'est pas toujours sans raison désintéressée. Un topic (https://bitcointalk.org/index.php?topic=615953.0) pour commencer à comprendre. Après tu fais en ton âme et conscience.
Mais là n'est pas le sujet de ton topic :)

Houla ! C’est tout un monde !
Pour ma part, si je peux seulement poser quelques questions et éventuellement répondre à d’autres, ça me suffira.

Code:
/**
 * List of fixed seed nodes for the bitcoin network
 * AUTOGENERATED by contrib/seeds/generate-seeds.py
 *
 * Each line contains a 16-byte IPv6 address and a port.
 * IPv4 as well as onion addresses are wrapped inside an IPv6 address accordingly.
 */

Ce ne sont pas des serveurs dns si c'est justement leur adresse IP qui est utilisée.

C'est vrai, tu as raison ! Juste des IP



Title: Re: synchronisation
Post by: F2b on January 29, 2021, 09:13:07 PM
Du coup, j’ai hâte d’être en mesure d’expliquer comment fonctionne la synchronisation, à ceux ou celles qui demanderont. :)

Tu lis l'anglais ou pas ? Si c'est le cas, la ressource suivante t'intéressera fortement, en complément de la réponse que le Gaulois vient de t'apporter. Ca rentre vraiment dans les détails.

https://www.oreilly.com/library/view/mastering-bitcoin/9781491902639/ch08.html

Juste pour info (et c'est l'URL qui m'a mis la puce à l'oreille), il s'agit d'un extrait de l'excellent Mastering Bitcoin d'Andreas Antonopoulos, qui est un ouvrage de référence regroupant tout un tas de connaissances techniques sur Bitcoin, de manière relativement accessible.
Cet ouvrage étant sous licence libre, il est téléchargeable gratuitement et il existe même une traduction française (communautaire) :
https://bitcoin.fr/wp-content/uploads/2016/01/Mastering-Bitcoin.pdf

Pour retrouver la section correspondant au lien donné par GrosWesh, il suffit de rechercher "Minage et consensus".


Title: Re: synchronisation
Post by: Beauzebut on January 29, 2021, 09:15:35 PM
Du coup, j’ai hâte d’être en mesure d’expliquer comment fonctionne la synchronisation, à ceux ou celles qui demanderont. :)

Tu lis l'anglais ou pas ? Si c'est le cas, la ressource suivante t'intéressera fortement, en complément de la réponse que le Gaulois vient de t'apporter. Ca rentre vraiment dans les détails.

https://www.oreilly.com/library/view/mastering-bitcoin/9781491902639/ch08.html

Juste pour info (et c'est l'URL qui m'a mis la puce à l'oreille), il s'agit d'un extrait de l'excellent Mastering Bitcoin d'Andreas Antonopoulos, qui est un ouvrage de référence regroupant tout un tas de connaissances techniques sur Bitcoin, de manière relativement accessible.
Cet ouvrage étant sous licence libre, il est téléchargeable gratuitement et il existe même une traduction française (communautaire) :
https://bitcoin.fr/wp-content/uploads/2016/01/Mastering-Bitcoin.pdf

Pour retrouver la section correspondant au lien donné par GrosWesh, il suffit de rechercher "Minage et consensus".

Merci beaucoup !