• [^] # Re: J'ai jamais tout compris aux chaines de blocs!

    Posté par . En réponse au journal Microsoft s'intéresse au blockchain. Évalué à 10.

    Le premier bloc est créé comment?

    Manuellement

    Quand on mine, on résout quoi exactement?

    Version simple: On fait un hash de l'en-tète du prochain bloc, on compare la valeur de ce hash avec une valeur arbitraire et si ce hash y est inférieur, bravo, tu as un nouveau bloc. Par nature, on ne peut pas connaitre la valeur de ce hash sans le calculer, donc il faut essayer encore et encore et encore et encore...
    Le truc, c'est que le système ajuste la difficulté si on rajoute de la puissance de calcul, ce qui conduit a une ridicule course à l'armement entre mineurs. Bien entendu, ça coute cher en électricité et aujourd'hui presque toute la puissance est entre les mains de quelques mineurs en Chine...

    Si toutes les transactions jamais faites par BC sont gardées sur une chaîne, quelle taille fait cette chaîne aujourd'hui? Quelle taille ferait-elle si elle devait absorber les échanges quotidiens en $ ou €?

    La blockchain de bitcoin ne fait que ~70Go aujourd'hui, mais c'est plus le résultat du fait que personne n'utilise bitcoin. En pratique, une transaction bitcoin moyenne fait ~500 octets. Pour info, Visa peut en moyenne traiter 30000 transactions à la seconde, ce qui équivaudrait à plus d'un To par jour (et on ne parle que de Visa). Bitcoin en est toujours à 2,7 maximum par seconde....
    Bref, non, ça ne scale pas.

    Comment peut-on demander à un réseau de 1 milliards de noeuds de rester synchronisé sans que des bouts soient ajoutés ici et là dans plusieurs branches?

    Partons de l'idée ridicule que bitcoin puisse prendre une ampleur mondiale. La réponse à la question précédente prouve que maintenir un noeud sera prohibitif et il n'y en aura donc pas des millions.

    Comment peut-on savoir si la majorité du réseau approuve la transaction sans savoir combien de noeuds existent?

    Le contenu des blocs est décidé par les mineurs. Théoriquement, un groupe de noeuds et mineurs peuvent refuser les blocs d'un autre mineur ce qui crée un fork dans la chaine. Et la c'est le bordel: le système continuera à marcher avec deux chaines, le seul problème est que les utilisateurs se retrouveront à interagir avec l'une ou l'autre chaine sans vraiment savoir ce qui se passera au final. Magique, hein?

    Si un État créé 10millions d'"utilisateurs" et donc autant de noeuds, peut-il saborder le système en invalidant les transactions qui lui déplaisent?

    Encore une fois, les transactions inclues dans les blocs sont décidées par les mineurs. Il y a deux vecteurs d'attaque toutefois:
    - Attaque Sybil sur les noeud qui permet théoriquement de stopper la propagation des "mauvais" blocs. C'est d'autant plus facile qu'il est trivial de simuler un noeud. Il n'y a à ma connaissance pas de solution.
    - Attaque 51%: Si un mineur controle un majorité absolue de la puissance de minage, il peut théoriquement invalider rétroactivement les blocs (et donc transactions) de la chaine. Cette attaque nécessite un certain investissement initial (quelques centaines de millions d'euros à ce jour). Bref, pas de quoi stopper un état...

    On dit que les utilisateurs restent anonymes derrière une clé publique, mais si l'autre partie identifie l'utilisateur de la clé, il peut ensuite pister toutes ses transactions en surveillant la chaîne?

    Oui

    Je laisse la dernière question à ceux que ça intéresse, j'ai personnellement perdu tout intérêt dans la chose.
    L'idée originale du fonctionnement de la blockchain était certainement intelligente mais je peine sérieusement à voir une application qui ne peut être mieux réalisée en utilisant d'autres idées bien plus éprouvées.
    Pendant quelques années, tout le monde parlait de bitcoin, mais une fois la curiosité passée, tout le monde à vu que ça n'apportait strictement rien et l'extrême toxicité de la communauté a fait le reste. Aujourd'hui, on tente de vendre la blockchain parce que bitcoin ne vend plus. C'est le même produit, on a juste changé le nom.