Journal Comment fonctionne Bitcoin

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
65
12
juil.
2013

Sommaire

Dans ce journal je vais essayer d'expliquer les mécanismes derrière Bitcoin.

Je couvre ici uniquement les aspects techniques. Pour bien comprendre ce journal, il est préférable d'avoir des notions de base de cryptographie, en particulier comprendre ce qu'est une Fonction de hachage et une signature numérique.

Bitcoin c'est quoi ?

Le but de Bitcoin est une monnaie et un moyen de payement sur internet décentralisé hors du contrôle des gouvernements, des banques, ou d'une seule société.

Le mot « Bitcoin » fait référence au protocole décrivant cette monnaie virtuelle ainsi qu'à son implantation de référence. C'est aussi le nom de l'unité de cette monnaie.

Bitcoin est décentralisé. Tout qui le souhaite peux devenir un nœud du réseau en installant le logiciel.

La blockchain

Bitcoin se base sur une base de données distribuée: la blockchain. Elle est à voir comme un gros registre qui contient toutes les transactions effectuées. Cette base de donnée est répliquée sur tous les nœuds.
La blockchain étant accessible à tous, tout le monde peux voir combien de Bitcoins possède chacun :

image 1

Quand Alice veut donner 0.3 Bitcoin à Bob, elle diffuse sa transaction aux différents nœuds. Après un certain temps, un des nœuds (dit « mineur ») va vérifier la transaction et l'ajouter dans la blockchain. Dans mon exemple, c'est Victor qui valide la transaction, et se donne 25 bitcoins en récompense. Ce sont ces récompenses qui « créent » de nouveaux bitcoins. Et c'est pour cela que les nœuds qui vérifient les transactions sont appelés des mineurs (par analogie aux mineur d'or).

image 2

Cette analogie est une simplification. En réalité, les noms n'apparaissent pas en clair dans la blockchain. À la place, on a des adresses bitcoin, que l'on peut considérer comme des numéros de compte. Une adresse bitcoin encode le hash d'une clef publique.

Voici donc une image un peu moins simplifiée de ce à quoi ressemble un bloc de la blockchain:

image 3

Dans mon analogie, chaque bloc de la blockchain est une page du registre des transactions. La page contient une liste des transactions et quelques autres méta données. La transaction en rouge¹ est une transaction spéciale qui crée des bitcoins et les donne à l'auteur du bloc.

Le bloc contiens aussi un hash du bloc précédent (en vert¹ sur mon image). Le mineur a aussi dû vérifier que la page précédente est valide, c-à-d que toute les transactions sur la page sont valides, que le mineur précédent ne s'est pas attribué plus de bitcoins que prévu par le protocole et que le hash de la page précédente est suffisamment petit.

Difficulté

En effet, le hash d'un bloc doit être plus petit qu'une certaine valeur. Pour ce faire, le mineur doit trouver et ajouter une nonce dans le bloc (en bleu¹ sur mon image) de manière à ce que le hash (SHA-256) soit suffisamment petit. La seule façon de trouver cette nonce est d'en essayer plein jusqu'à en trouver une qui convient (brute force). Cela demande beaucoup de CPU et de chance.

C'est ici que réside l'aspect innovant du système. Cette preuve de travail fait que tous les nœuds votent avec leur CPU, et qu'il est difficile pour une seule entité qui voudrait tricher de le faire.

La difficulté est ajustée automatiquement de manière à ce que il y ai en moyenne un bloc qui soit créé toute les 10 minutes. Elle est recalculée tout les 2016 blocs et est basée sur le temps qu'il a fallu pour trouver les 2016 blocs précédents. Cela répond aux questions du genre « que se passe-t-il quand les PC deviendront plus puissants ou que plus de monde essaieront de miner ? » Les bitcoins ne se créeront pas plus vite, mais créer des bitcoins deviendra plus difficile.

Récompense et frais de transactions

En plus de la récompense de 25 bitcoins, les mineurs reçoivent les frais de transactions. Lorsqu'on effectue une transaction, on peut donner aussi une petite somme au mineurs pour les inciter à prendre en compte la transaction. Cela signifie que les transactions ne sont pas gratuite, mais les frais de transactions sont négligeables.

Le but des mineurs est d'arriver à publier un bloc (une page du registre). Ils ont un intérêt à trouver un bloc grâce à la récompense de qu'ils sont autorisé à se donner.

Si deux mineurs publient un bloc en même temps, c'est celui qui sera contenu dans la plus grande chaîne qui gagne (dans le livre avec le plus de page qui se suivent). En pratique il s'agit souvent du premier qui publie un bloc.

Bitcoin a été annoncé en 2008. Le premier bloc de la blockchain principale fut créé en janvier 2009. La récompense pour trouver un bloc était de 50 bitcoin et est divisée par deux tous les 210000 blocs (environ tous les 4 ans). Depuis décembre 2012, la récompense est de 25 bitcoin. En 2140, il n'y aura plus de récompense, et le nombre de bitcoin aura atteint un maximum de 21 millions.

Ramifications

Si l'on souhaite changer le protocole il faut mettre tous les nœuds d'accord. Si une partie des nœuds désire faire des changements dans le protocole, il y aura une ramification de la chaîne (deux registres différents). Si cela devait se produire, les gens ne feront confiance qu'à l'une des ramifications et c'est celle-là qui gagnera.
Une ramification s'est déjà produite à cause d'un bug, corrigé dans la version 0.8 de bitcoin. Les mineurs qui tournaient encore sur de vielles versions du logiciel n'ont pas accepté certains blocs.

Comment est déterminé le prix du bitcoin ?

Le cours du bitcoin dépend de ce que le marché lui donne comme valeur. Pour acheter ou vendre des bitcoins il faut se rendre sur un site d'échange. Personnellement, j'utilise http://bitcoin.de

Sur ces sites, les utilisateurs peuvent mettre des offres d'achat et de vente au prix qu'ils souhaitent. Le prix du bitcoin se trouve au milieu : un prix auquel les vendeurs acceptent de vendre et que les acheteurs acceptent de payer. Vu qu'il existe de nombreux sites d'échange, le bitcoin reste décentralisé. Cependant Mtgox est le plus gros site d'échange de bitcoins et quand ce dernier éprouve des problèmes, cela se répercute sur le cours du bitcoin.

Le cours du bitcoin a été très volatile ces derniers temps. La volatilité du prix est un léger problème pour la bonne utilisation du bitcoin. Mais on peut espérer que cette volatilité est due aux fait que le bitcoin est encore jeune.

Pour aller plus loin : transaction scriptées.

J'ai volontairement simplifié le format des transactions dans mon explication. Les adresses bitcoin que j'ai décrites plus haut ne sont qu'une convention entre les clients existants. Une transaction n'est pas le transfert d'un certain montant d'un compte à un autre. Une transaction doit plutôt être vu comme une liste d'_input_ et une liste d'_output_. Pour la blockchain et les mineurs, les adresses n'existent pas. Tout est une question d'_input_ et d'_output_.

Un output est en réalité un petit programme sous forme de script qui détermine comment une certaine somme peut être dépensée. Un input fait référence à un précédent output de la blockchain et passe les bons paramètres au scripts.

Oui, vous avez bien compris, chaque transaction est un petit programme en lui-même.

Le langage de script est un langage basé sur une pile et un bytecode assez simple. Il n'est pas Turing-complet (pas de boucle), mais il est tout de même assez puissant pour ouvrir pas mal de possibilités. Les primitives cryptographiques ont leur propre op-codes.

Quasiment toutes les transactions effectuées sont du type standard qui fait passer des bitcoins d'une adresse à une autre.

Le script de sortie ressemble donc à quelque chose comme ceci (en pseudo-code à la Javascript) :

function(sig, pubKey) {
    return HASH160(pubkey) == "<Adresse de Bob>" && CHECKSIG(sig, pubKey)
}

La fonction CHECKSIG est une fonction qui vérifie que sig est la signature de la transaction avec la clef publique donnée.

Mais on peux réaliser plein de truc cools. Par exemple : des transactions qui ne peuvent pas être exécutées avant une certaine date (utile pour un héritage) ou des transactions qui nécessitent plusieurs signatures (utile pour un compte de caution, ou dépôt avec une tierce partie de confiance).
Tous ces exemples et d'autres sont expliqué ici : https://en.bitcoin.it/wiki/Contracts

Dérivés

L'idée des bitcoins a donné naissance à des dérivés.

Namecoin permet d'avoir un DNS décentralisé.

D'autres alternatives changent la manière dont sont minés les bitcoins. Il est critiqué le fait de calculer des SHA-256 est un gaspillage d'électricité, mais aussi que ça favorise les gens ayant du matériel puissant comme des ASIC conçu pour.
Litecoin utilise un autre algorithme de hashage qui demande beaucoup de mémoire en plus du CPU. Ils ont aussi réduit le temps de confirmation à 2,5 minutes en moyenne.
PPCoin utilise un système de Proof of stake.
PrimeCoin se base sur le calcul des nombre premiers pour faire avancer les mathématiques.

Conclusion

J'espère avoir donné une bonne introduction technique du bitcoin.
Le bitcoin soulève aussi pas mal de questions d'ordre économique ou politique que je n'aborde pas dans ce journal.
Merci à nud< et Krunch< pour la relecture.

¹ Pardon aux daltoniens

  • # Concept

    Posté par  . Évalué à 4.

    Je trouve ce concept vraiment intéressant et je me régale à lire des news ou articles traitant du Bitcoin.
    Le fait que son "inventeur" soit anonyme apporte un soupçon de mystère.

    J'ai appris récemment que Paypal interdisait les transfert vers ou depuis la monnaie Bitcoin.

    Il est compréhensible que les systèmes actuels soient prêt à sortir les armes le jour ou un tel système commencerait à prendre de l'ampleur.

    En tout cas merci pour ce journal!

    • [^] # Re: Concept

      Posté par  . Évalué à 2.

      Il est compréhensible que les systèmes actuels soient prêt à sortir les armes le jour ou un tel système commencerait à prendre de l'ampleur.

      Voudrais tu développer un peu pour voir ?

      • [^] # Re: Concept

        Posté par  . Évalué à 4.

        Je pense qu'ils ne voudraient pas d'un système qui ne soit pas aussi facilement contrôlable (voir pas du tout) que les systèmes bancaires actuels.
        Si Visa/CB perdaient leur 1 à 2% de comm sur les transactions ils seraient embêtés.
        Quand aux "armes" c'est de la persuasion de masse :
        - attention c'est un système sans annulation possible
        - c'est utilisé uniquement par la mafia ( ça rappelle les début d'internet avec les pédophiles et les pirates)
        - c'est un système trop volatile.

        Même si ces arguments sont vrais ou en partie, ils seront utilisé pour essayer de garder leurs clients.

        Ensuite, il pourrait y avoir des attaques officielles (tentatives de poursuites, interdictions de transactions vers ou depuis cette monnaie de manière plus généralisée) ou souterraine via des attaques ou intrusions dans le système.

        pas besoin d'être accro aux théories du complot pour s'imaginer tout cela :)

        • [^] # Re: Concept

          Posté par  (site web personnel) . Évalué à 3.

          c'est utilisé uniquement par la mafia

          Attention à cet argument en effet. C'est le même argument utilisé contre la liberté d'expression ou la protection de la vie privée. Mais la « liberté bancaire » pourrait être vue comme tout aussi importante pour le bon fonctionnement d'un état démocratique.

          • [^] # Re: Concept

            Posté par  . Évalué à 2.

            Il est surtout très con puisque toutes les transactions sont publiques… On a vu mieux pour le blanchiment ou autre.

            D'ailleurs qui voudrait d'un tel système ? Mafia ou pas.

            • [^] # Re: Concept

              Posté par  (site web personnel) . Évalué à 5.

              En pratique, tout le monde a plein d'adresses. (On génère une nouvelle adresse pour chaque payement.)
              On ne sait pas savoir facilement qui à quelle adresse.
              En utilisant des système qui mélanges les bitcoins il est possible d'être assez anonyme.

              • [^] # Re: Concept

                Posté par  . Évalué à 5.

                Tu pariais dessus ? On fait des trucs pas mal avec les graphes, surtout quand on a quelques années pour les analyser.

                • [^] # Re: Concept

                  Posté par  (site web personnel) . Évalué à 3.

                  Je sais que c'est difficile et qu'il faut effectivement faire très attention. Mais il y a moyen de bien dissimuler ses transactions.

                  Sinon, si on veux une non-traçabilité, il y a zerocoin qui est une tentative de rendre bitcoin moins traçable.

        • [^] # Re: Concept

          Posté par  (site web personnel) . Évalué à 6.

          Si Visa/CB perdaient leur 1 à 2% de comm sur les transactions ils seraient embêtés.

          C'est un argument des plus fallacieux : si le but était réellement de faire des transactions de gré à gré moins cher, il n'y aurait pas tout ce système de minage et de cours du bitcoin, ça pourrait fonctionner sans, juste en faisant des transactions gratuites.

          Mais faire des transactions gratuites n’intéresse pas les gens à l'origine de la chose (ni à ceux qui essayent de faire monter le cours de bitcoin).

          • attention c'est un système sans annulation possible

          Pareil pour un virement. Autre argument fallacieux "contre" le systèmes "actuel".

          ils seront utilisé pour essayer de garder leurs clients.

          Non : juste parce que le système actuel tout malhonnête qu'il est, est plus honnête que bitcoin.

          Je rêve d'un système d'échange moins cher, pour le moment l'Euro me permet déjà d'avoir des transactions gratuites (pas de 1% ou que sais-je, c'est gratuit) avec une sécurité bien meilleure (perdre sa clé? Plus de bitcoins! un vol? plus de bitcoin! Nous voila au retour du bas de laine sous le matelas présenté comme une révolution…) en Union Européenne, ça serait pas mal si un jour on conçoit un système ayant pour réel but des échanges monétaires moins chers (encore faut-il pouvoir motiver les gens pour développer alors qu'il y a moins d'argent à se faire que le système bitcoin).

          • [^] # Re: Concept

            Posté par  (site web personnel) . Évalué à 2.

            si le but était réellement de faire des transactions de gré à gré moins cher, il n'y aurait pas tout ce système de minage et de cours du bitcoin,

            Quel est le système de « cours du bitcoin » dont tu parles ?

            ça pourrait fonctionner sans, juste en faisant des transactions gratuites.

            Comment ?
            Les frais de transaction dans le bitcoins sont négligables comparés aux alternatives.

            Pareil pour un virement. Autre argument fallacieux "contre" le systèmes "actuel".

            Le message auquel tu réponds donnait donnais cet argument comme exemple d'argument contre le bitcoin pouvant être utilisé comme paypal. As tu mal lu ?

            Non : juste parce que le système actuel tout malhonnête qu'il est, est plus honnête que bitcoin.

            En quoi est-ce que bitcoin est malhonnête ?

            Euro me permet déjà d'avoir […]

            En Europe, oui. Mais Bitcoin ne se limite pas à l'europe.

            Comment transferts tu de l'argent à quelqu'un au Kenya par exemple ?

            encore faut-il pouvoir motiver les gens pour développer alors qu'il y a moins d'argent à se faire que le système bitcoin

            Peux tu élaborer ?

          • [^] # Re: Concept

            Posté par  (site web personnel) . Évalué à 4.

            C'est un argument des plus fallacieux : si le but était réellement de faire des transactions de gré à gré moins cher, il n'y aurait pas tout ce système de minage et de cours du bitcoin, ça pourrait fonctionner sans, juste en faisant des transactions gratuites.

            J'aimerais beaucoup, mais vraiment beaucoup que tu m'expliques comment ça marcherait, techniquement.

          • [^] # Re: Concept

            Posté par  . Évalué à 10.

            C'est un argument des plus fallacieux : si le but était réellement de faire des transactions de gré à gré moins cher, il n'y aurait pas tout ce système de minage et de cours du bitcoin, ça pourrait fonctionner sans, juste en faisant des transactions gratuites.

            Pour le "minage", c'est un mal nécessaire. La fiabilité du système dépend du fait que des machines - si possible pas toutes entre les mêmes mains - font de la vérification de hash de manière intensive. Le fait de miner, ce n'est rien d'autre que ça. Le système de récompense n'est là que pour encourager des gens à dépenser de l’électricité pour ça. C'est le principe du libéralisme économique : on considère que les gens ne font pas d'efforts pour rien, et comme on a besoin d'un effort on met une récompense en face (plutôt que de les forcer, par exemple). Si réellement l'algorithme d'adaptation de la récompense tient ses promesses durablement, c'est assez admirable.

            Pour les cours, c'est assez difficile à éviter dans un système aussi polyvalent que Bitcoin : il y a toujours des andouilles pour spéculer sur les évolutions des chiffres (et si on veut des andouilles pour spéculer sur tout et n'importe quoi, il suffit de traverser la Manche).

            • [^] # Re: Concept

              Posté par  . Évalué à 2.

              Il n'y a alors pas de nécessité à augmenter la difficulté, ou de réduire le nombre de bitcoins gagnés.
              On peut également imaginer que si un ou des états veulent vraiment mettre fin aux bitcoins, il leur "suffira" d'investir dans une ferme de fpga, rendant le "minage" sans interêt pour tout les autres utilisateurs, et l'état virtuellement capable de controller les cours.

              • [^] # Re: Concept

                Posté par  (site web personnel) . Évalué à 2.

                il leur "suffira" d'investir dans une ferme de fpga, rendant le "minage" sans interêt pour tout les autres utilisateurs, et l'état virtuellement capable de controller les cours.

                Je ne vois pas comment, même en ayant une très grosse force de minage, il peuvent contrôler le cours.

                • [^] # Re: Concept

                  Posté par  . Évalué à 2.

                  car dans ce scénario les états posséderaient rapidement la majorité des ressources, selon ce qu'ils en font, ils influent tres fortement le cour

                  • [^] # Re: Concept

                    Posté par  (site web personnel) . Évalué à 2.

                    Je pense que tu comprends mal le but des mineurs.
                    Les mineurs font que vérifier les transactions. Il ne contrôlent rien.

                    Au pire, un mineur peut refuser certaines transactions. Mais un autre mineur finira par l'accepter.

                    • [^] # Re: Concept

                      Posté par  . Évalué à 3.

                      A moins que j'ai mal compris (cest tout à fait possible), il y a 2 types de mineurs dans ce monde, ceux qui vérifient la chaine pour valider les nouvelles transactions, ceux qui creusent dans du sha256 pour y trouver un pattern (rapportant 25 bt)

                      • [^] # Re: Concept

                        Posté par  . Évalué à 2.

                        Non, c'est la même chose. Pour valider les transactions il faut trouver le "nonce" et tu es autorisé ajouter une transaction de 25BTC venant du néant vers une adresse bitcoin.

                        • [^] # Re: Concept

                          Posté par  . Évalué à 2.

                          ok
                          ce qui ne change pas grand chose a mon post de base: il me parait plausible que des états rajoutent au réseau une énorme puissance de calcul leur permettant de trouver plus de nonce et ainsi le "minage" virtuellement inintéressant pour les utilisateurs lambda

                          • [^] # Re: Concept

                            Posté par  . Évalué à 2.

                            Le minage est déjà inintéressant pour les utilisateurs lambda. Même les plus grosses cartes graphiques ne sont plus rentables, et les FPGA sont quasiment obsolète devant la vague de ASIC spécialisés qui sortent.Même les gens qui y trouvent une rentabilités le font en "pool" parce que obtenir un bloc tout seul demande des mois même avec des très grosses machines.

              • [^] # Re: Concept

                Posté par  (site web personnel) . Évalué à 0.

                Il n'y a alors pas de nécessité à augmenter la difficulté, ou de réduire le nombre de bitcoins gagnés.

                Augmenter la difficulté est nécessaire, à moins que tu ne veuilles devoir gérer des centaines de blocs par seconde… l'idée des blocs, c'est de mettre tout le monde d'accord, alors si y a plusieurs dizaines de branches alternatives, ça le fait pas…

                Mais en effet, en ce qui concerne la réduction du nombre de bitcoins gagnés, j'ai du mal à en voir la raison…

                On peut également imaginer que si un ou des états veulent vraiment mettre fin aux bitcoins, il leur "suffira" d'investir dans une ferme de fpga, rendant le "minage" sans interêt pour tout les autres utilisateurs, et l'état virtuellement capable de controller les cours.

                Pourquoi des fpga ? Il existe des circuits intégrés pour ça :)

          • [^] # Re: Concept

            Posté par  (site web personnel) . Évalué à 0.

            il n'y aurait pas tout ce système de minage et de cours du bitcoin, ça pourrait fonctionner sans, juste en faisant des transactions gratuites

            Euh, je ne suis pas bien sûr de saisir ce que tu veux dire par « cours du bitcoin »… tu parles des places d'échanges et du fait que ça fluctue sévère ? Si oui, ça n'a pas grand chose à voir avec bitcoin, en fait.

            Le « mining » est nécessaire pour la sécurité du réseau. Il pourrait se faire sans rémunération, par contre, mais celle-ci est un moyen comme un autre de répartir le bitcoin (si tu trouves un autre moyen, plus égalitaire et tout aussi fonctionnel, je pense qu'y a pas mal d'intéressés) qui en plus encourage à miner.

            Pour le coût des transactions… les frais sont entièrement décidés par l'utilisateur à l'origine de la transaction (mais ça influe sur la priorité donnée à la transaction) et sont entre autres là pour limiter le remplissage de la chaîne avec des transactions « inutiles » qui prennent de la place pour rien (exemple : SPAM, etc). Les frais déterminent (avec l'âge, la taille, et la quantité de BTC échangés) la priorité de la transaction. Une transaction « normale » n'a pas besoin de frais, une grosse transaction (beaucoup de destinataires par rapport à la quantité de BTC échangés, par ex) nécessitera par contre des frais.

          • [^] # Re: Concept

            Posté par  . Évalué à 2.

            Non : juste parce que le système actuel tout malhonnête qu'il est, est plus honnête que bitcoin.

            J'avoue que je comprend pas bien en quoi il est malhonnête. Certes pour l'instant sa volatilité le rend pas trop utilisable, il est utilisé uniquement comme de la spéculation. Mais malhonnête alors que tout est transparents, je vois pas bien. Tu sais toujours exactement ce qu'il se passe dans Bitcoin.

            • [^] # Re: Concept

              Posté par  (site web personnel) . Évalué à 3.

              Mais malhonnête alors que tout est transparents, je vois pas bien.

              C'est tellement transparent qu'on ne connait pas le nom de celui qui a initié le cycle (et donc qui a un max de bitcoins, les plus faciles)

              Tu sais toujours exactement ce qu'il se passe dans Bitcoin.

              Tu ne sais pas qui se fait un max de thune… Par exemple.

              Comme on a déjà parlé du piège de la chose dans les autres journaux : tu peux lire les autres journaux, rien de nouveau dans la malhonnêteté du système car rien n'a changé (et toujours des présentations de la chose toute idéaliste).

          • [^] # Re: Concept

            Posté par  (site web personnel) . Évalué à 2.

            Je rêve d'un système d'échange moins cher, pour le moment l'Euro me permet déjà d'avoir des transactions gratuites (pas de 1% ou que sais-je, c'est gratuit)

            Je serais très intéressé par ces transactions gratuites, quelles sont elles ?

            Je ne connais que le virement SEPA, qui nécessite un compte bancaire (difficile d'avoir un compte à moins de 30€ par an je pense), et prend plusieurs jours à s'exécuter ; et encore, on parle de jours ouvrés. Pour un virement à un Européen non-français, ma banque m'impose un délai de 24 heures supplémentaires.

            avec une sécurité bien meilleure

            Ma banque ne me protège qu'avec un « mot de passe » de 6 chiffres et utilise un très mauvais algorithme de chiffrement pour le SSL.

            Le site est une horreur, heureusement weboob permet de contourner ça, je peux faire des virements assez simplement (il reste tout de même l'ajout de bénéficiaire qui est difficile à implémenter).

            • [^] # Re: Concept

              Posté par  (site web personnel) . Évalué à 3.

              Je ne connais que le virement SEPA, qui nécessite un compte bancaire (difficile d'avoir un compte à moins de 30€ par an je pense),

              Je sais pas quelle banque tu as, mais les miennes sont à 0€/an.

              Je ne connais que le virement SEPA,

              Qui est gratuit dans la plupart des banques.

              Ma banque ne me protège qu'avec un « mot de passe » de 6 chiffres

              Ce qui est plus que suffisant (on ne peut pas "casser" par brute force)

              • [^] # Re: Concept

                Posté par  (site web personnel) . Évalué à 0.

                Tu ne réponds absolument pas à mes questions, pourtant c'est simple : quelles sont les méthodes gratuites, quelles sont les banques gratuites, etc. Je sais bien que le virement SEPA est gratuit, c'est pour cela que je le mentionne. Mais il est très peu pratique pour les raisons que j'ai énoncé juste après, auxquelles tu ne réponds pas non plus.

                Ce qui est plus que suffisant (on ne peut pas "casser" par brute force)

                9⁶. À raison d'un essai par seconde, c'est moins d'une semaine.
                Alors évidemment, ma banque me « protège » en bloquant mon compte au bout d'un certain nombre d'essais. Ce qui veut dire que je dois attendre le renvoi d'un nouveau code par courrier non recommandé.

                • [^] # Re: Concept

                  Posté par  (site web personnel) . Évalué à 2.

                  quelles sont les méthodes gratuites

                  Tu l'as indiqué toi-même!

                  quelles sont les banques gratuites, etc

                  Je te laisse regarder. J'en ai plusieurs à 0€/mois avec accès Internet, et elles ne sont pas petites. Tu ne t’intéresses pas réellement à la question.

                  Mais il est très peu pratique pour les raisons que j'ai énoncé juste après, auxquelles tu ne réponds pas non plus.

                  Mais c'est parce qu'il n'y a jamais eu de limitation "pratiques". Oui, SEPA a une tonne de limites, et c'est pour ça que Visa/Mastercard sont très utilisés. A ta charge de créer l'équivalent moins cher (Non, bitcoin, outil fait pour la spéculation, ne répond pas à ce besoin).

                  À raison d'un essai par seconde, c'est moins d'une semaine.

                  Sérieusement, tu comprends quelques choses à la sécurité?
                  J'ai précisé : pas possible par brute-force

                  Alors évidemment, ma banque me « protège » en bloquant mon compte au bout d'un certain nombre d'essais.

                  Tu t'auto-réponds…

                  Ce qui veut dire que je dois attendre le renvoi d'un nouveau code par courrier non recommandé.

                  chose qui ne m'est jamais arrivée. Merci de confirmer que c'est largement suffisant.

                  • [^] # Re: Concept

                    Posté par  (site web personnel) . Évalué à 2.

                    Quel concentré de mauvaise foi - pourquoi ne pas les mentionner quand je pose la question ? Tu refuse donc de mentionner une seule banque (même pas la tienne ?) et tu avoue qu'il n'y a que SEPA, qui ne permet qu'à envoyer à un Européen avec d'énormes délais.

                    chose qui ne m'est jamais arrivée

                    Ça m'est arrivé deux fois ! Et il faut appeller la banque à une heure ouvrée pour demander le renvoi évidemment.
                    Ce n'est pas une bonne expérience, surtout si je dois payer quelqu'un à ce moment là.

                    Moi, je ne voulais que découvrir un moyen de paiement que je ne pensais pas connaitre. En fait, je n'ai eu affaire qu'à un champion de la mauvaise foi qui en plus se permet de me prendre de haut.

                    • [^] # Re: Concept

                      Posté par  (site web personnel) . Évalué à 3. Dernière modification le 14 juillet 2013 à 19:20.

                      pourquoi ne pas les mentionner quand je pose la question ?

                      parce qu'un peu de recherche te donne la réponse.
                      Bon, faut vraiment t'aider en te tenant la main? Les miennes sont Boursorama, SG (limité à 4000€/jour), CE (de souvenir il y a une limitation pour ajouter un compte, mais pas regardé depuis des années), CIC (CIC a une limitation toutefois, de souvenir 5 jours/mois pour l'accès Internet gratuit, je l'utilise donc que ce pourquoi j'ai un compte chez eux).
                      Perso, c'est la base quand je cherche une banque. Chacun ses priorités.

                      Moi, je ne voulais que découvrir un moyen de paiement que je ne pensais pas connaitre. En fait, je n'ai eu affaire qu'à un champion de la mauvaise foi qui en plus se permet de me prendre de haut.

                      Tu as demandé "Je serais très intéressé par ces transactions gratuites, quelles sont elles ?" suivi de "Je ne connais que le virement SEPA", SEPA est une réponse 100% valide à la question posée.
                      Qui est de mauvaise foi? Je prend de haut quand on se fout de ma gueule.

                      Ça m'est arrivé deux fois !

                      Je ne sais pas ce que tu fais de ton login, mais la base est de le garder secret. Je ne connais personne d'autre ayant eu ce genre de problème.

                      • [^] # Re: Concept

                        Posté par  . Évalué à 2.

                        Je ne connais personne d'autre ayant eu ce genre de problème.

                        Ah ba c'est que ça arrive à personne alors, tout vas bien.

                      • [^] # Re: Concept

                        Posté par  . Évalué à 1.

                        On peut aussi ajouter Crédit à bricole (sûr), et sans doute Banque populiste (à vérifier).

                    • [^] # Commentaire supprimé

                      Posté par  . Évalué à 0.

                      Ce commentaire a été supprimé par l’équipe de modération.

          • [^] # Re: Concept

            Posté par  . Évalué à 0.

            Je rêve d'un système d'échange moins cher, pour le moment l'Euro me permet déjà d'avoir des transactions gratuites (pas de 1% ou que sais-je, c'est gratuit) avec une sécurité bien meilleure (perdre sa clé? Plus de bitcoins! un vol? plus de bitcoin! Nous voila au retour du bas de laine sous le matelas présenté comme une révolution…) en Union Européenne, ça serait pas mal si un jour on conçoit un système ayant pour réel but des échanges monétaires moins chers (encore faut-il pouvoir motiver les gens pour développer alors qu'il y a moins d'argent à se faire que le système bitcoin).

            Il est des gens qui pense que le système de paiement, détenu à ce jour par les banques, devrait être socialiser car c'est vital au bon fonctionnement de la société.
            Ce qui, avec de bons dirigeants, pourrait facilement permettre d'avoir un système gratuit et efficace.

            Mais bon vu qu'ils sont tous pourris, sans rire, bah c'est mort, on repassera par la case $$

          • [^] # Re: Concept

            Posté par  . Évalué à 2.

            Quelques raison pour lesquelles je préfère bitcoin.

            • Quelqu'un en possession de mon adresse bitcoin ne peux pas dépenser mon argent, ce n'est pas le cas pour une carte de crédit.
            • Virement international à coût négligeable (cout fixe <1 centime d'euros) voir optionnel si on n'est pas pressé. Toujours plus rapide qu'un virement bancaire, qui prend artificiellement du temps en immobilisant mon argent temporairement pour le faire fructifier (float).
            • Création de compte instantanée, autant de compte que je le souhaite. Je suis ma propre banque.
            • Monnaie non falsifiable, en quantité finie et un organisme ne peut pas "imprimer" des billets, donc pas d'inflation. Le taux du bitcoin est difficilement prédictible mais les euros que tu mets dans ton matelas vont inexorablement être dévalué avec le temps (et ça c'est sûr).
            • Pas de censure ou de contrôle sur qui je paye. Je peux faire un don à wikileaks.
        • [^] # Re: Concept

          Posté par  . Évalué à 2.

          Si Visa/CB perdaient leur 1 à 2% de comm sur les transactions ils seraient embêtés.

          Mais pourquoi se serait mal ? C'est de la concurrence saine, et très honnêtement j'ai aucune allégeance à visa / paypal / mastercard, qu'ils se fassent ruiner/cartonner/défoncer -les fellons- dans cette histoire.

          On pourra aussi attaquer le bout de gras par la question de la souveraineté monétaire, sa se défend aussi, mais mérite plus d'explications…

          Bon ceci dit, comment on fait pour devenir une bête de mineur de folie ?

  • # nonce

    Posté par  . Évalué à 1.

    Merci pour ce journal, mais je n'ai pas bien suivit la partie où tu parles du nonce.
    C'est quoi un/une nonce ?
    Lorsque tu dis que la valeur doit être plus petite, est ce en nombre de caractère ?
    Et en quoi ajouter un/une nonce réduit la valeur ?

    Ou alors on parle juste d'un espèce de grain de sel ?

    • [^] # Re: nonce

      Posté par  (site web personnel) . Évalué à 6.

      C'est une sorte de grain de sel.

      C'est 32 bits qui n'ont aucune signification et dont la seul fonction et de changer le hash.

      Le but est de trouver nonce tel que:

      HASH ( bloc + nonce ) < XXX
      
      • [^] # Re: nonce

        Posté par  . Évalué à 2. Dernière modification le 12 juillet 2013 à 16:05.

        Justement, de loin, (je ne connais que rapidement le fonctionnement de bitcoin), ça a l'air d'un sel et non d'un nonce. La caractéristique d'un nonce c'est qu'il ne doit pas être réutilisé, on l'introduit pour éviter tout ce qui est du genre replay.

        Y-a-t'il se genre de restriction, ou c'est juste un sel ?

        • [^] # Re: nonce

          Posté par  (site web personnel) . Évalué à 2.

          La documentation technique parle de nonce.
          Mais il n'y a pas ce genre de restriction. Ce n'est absolument pas pour éviter un replay.
          Donc c'est en réalité plutôt un sel.

          • [^] # Re: nonce

            Posté par  . Évalué à 2.

            En fait je pense qu'ils parlent de nonce parce que lorsqu’un mineur va tenter de trouver un bon hash, il va tester différents nombres jusqu’à trouver un bon. Mais il ne va pas tester les nombres séquentiellement, sinon il va faire les même tests que les autres mineurs. Il va alors tirer un nombre aléatoirement, mais qui ne doit pas déjà être sortie. C'est à dire un nonce.

            • [^] # Re: nonce

              Posté par  . Évalué à 2.

              il ne va pas tester les nombres séquentiellement, sinon il va faire les même tests que les autres mineurs.

              Je ne vous pas pourquoi, du moment qu'il commence à un endroit aléatoire, ça semble même être mieux.

              • Notations, N le nombre de sels possibles, supposons qu'il sont de taille fixés (en vrai j'en sais rien), n le nombre de sels testés.
              • Hypothèse 1 : les deux protagonistes tirent les sels aléatoirements, le nombre de sel en commun entre les deux suit une loi hypergéometrique de paramêtre (n,n/N,N). Avec n/N→0, on a une loi binomiale. Le nombre de sels en commun a donc pour espérance n²/N et pour variance n²/N.
              • Hypothèse 2 : les deux protagonistes tirent séquentiellement les nombres à partir d'une position aléatoire (en supposant un bouclage si on arrive à la fin de l'espace des sels possibles), on obtient que la proba qu'il en aient exactement i en commun, avec i=1…n, qui vaut 1/N, bien entendu elle vaut 0 pour i>n, et elle vaut ce qu'il faut pour sommer à 1 pour i=0. On a donc (avec utilisation de n/N→0) une espérance de n²/(2N) et une variance de n²/(3N).

              Bref, il semble même plus judicieux de tirer séquentiellement que à partir d'une position aléatoire. (Et en plus comme sha256 est un algo par bloc, on peut même avoir un avantage à ne pas recalculer depuis le début du sel pour aller plus vite, encore faut-il que le sel soit à la fin du machin à calculer, j'espère que non sinon c'est trop facile).

              Après il ne faut pas oublier qu'on est en train de parler de proba qui sont très très petite, et même très très inférieure à la proba de trouver un sel valide, je m'excuse par avance auprès de la confrérie des mouches.

              • [^] # Re: nonce

                Posté par  (site web personnel) . Évalué à 2.

                Merci pour cette démonstration.

                supposons qu'il sont de taille fixés (en vrai j'en sais rien),

                Il l'est (32 bits)

                Par contre, c'est pas grave si deux mineurs essaye les même nombres, puisque le contenu du bloc sera différent. Déjà, l'adresse du mineur pour les nouveau bitcoin, mais aussi l'ordre des transactions et le timestamp exact.

              • [^] # Re: nonce

                Posté par  . Évalué à 1. Dernière modification le 15 juillet 2013 à 15:09.

                Bon, merci à vous 2 de rectifier mes bêtises.

                encore faut-il que le sel soit à la fin du machin à calculer, j'espère que non sinon c'est trop facile).

                Il est effectivement à la fin mais ça change rien. Même si le hash est calculé plus vite, provoquant donc une hausse de la capacité de calcul en hash/s, la difficulté sera plus élevé.

            • [^] # Re: nonce

              Posté par  (site web personnel) . Évalué à 1.

              Chaque mineur travaille sur un bloc légèrement différent des autres. La différence tient aux quelques transactions qui ne seraient pas arrivés chez un mineur (latence réseau par exemple). Mais cela tient surtout à la première transaction qui est la transaction de génération de bitcoin (la fameuse rémunération) qui elle contient l'adresse du mineur. Et puisque le header du bloc est un hash de toutes les transactions, chaque mineur travaille sur un bloc différent. Donc, faire varier le nonce séquentiellement pour tout le monde ne pose pas de problème.

  • # Base de données distribuée

    Posté par  . Évalué à 7.

    Avant tout, j'ai beau lire quelques trucs par-ci par-là, je comprends pas bien…

    Bitcoin se base sur une base de données distribuée: la blockchain. Elle est à voir comme un gros registre qui contient toutes les transactions effectuées. Cette base de donnée est répliquée sur tous les nœuds.

    Quelle est la taille actuelle de cette base de données?

    Pour faire un paiement (une transaction) avec bitcoin, faut-il la télécharger?

    La taille ne va-t-elle pas devenir rédhibitoire plus le nombre de transaction augmente?

    Si j'ai bien compris, pour faire un paiement, la transaction se base sur les transactions précédentes (avec calcul de sha). Ce système passe-t-il bien à l'echelle? si il y a beaucoup de transactions dans un temps limité?

    • [^] # Re: Base de données distribuée

      Posté par  (site web personnel) . Évalué à 4.

      La taille totale de la blockchain est aujourd'hui approximativement 8 Go.
      Oui c'est beaucoup.

      Heureusement, il n'est pas nécessaire d'avoir toute la blockchain pour effectuer et vérifier des transactions.
      Il suffit d'avoir les entêtes de chacun des blocs et de télécharger uniquement les blocs intéressant à la transaction.

      • [^] # Re: Base de données distribuée

        Posté par  . Évalué à 2.

        Et en 2140 la chaîne elle fera combien de Po ?

        • [^] # Re: Base de données distribuée

          Posté par  . Évalué à 3.

          En fait de ce que j'en ai vu il ne doit pas être problématique de nettoyer la chaine des transactions terminées.

          • [^] # Re: Base de données distribuée

            Posté par  (site web personnel) . Évalué à 1.

            Sauf que si on nettoie, il faudrait stocker à un endroit quel est le solde de chaque adresse, puisqu'on ne peut pas le recomposer à partir de l'ensemble des transactions, non ?

            Ce que je comprend, c'est qu'il faut forcément que quelques uns stockent l'ensemble des transactions. Les clients légers dont on parle plus haut qui ne font que se baser sur la blockchain interrogent d'autres pour connaître les transactions.
            Bref quand la base des transactions devient énorme (c'est déjà le cas pour un usage mobile par exemple), la confiance est forcément reportée sur d'autres noeuds / services. J'ai l'impression que ça va un peu à l'encontre de l'idée initiale …

            • [^] # Re: Base de données distribuée

              Posté par  . Évalué à 3.

              A ce que j'ai compris, à chaque transfert effectué par une adresse, on peut supprimer l'historique des transactions de cette adresse, vu qu'a chaque mouvement de bitcoin, il y a 2 transactions: l'une vers le destinataire de la somme a transférer, l'une vers soit même du reste de ses bitcoins.
              Du coup il me semble possible d’effacer l'historique des transactions (sauf les 2 dernières), mais je peux me planter complètement, je n'ai pas vraiment étudier la question.

              • [^] # Re: Base de données distribuée

                Posté par  (site web personnel) . Évalué à 2.

                Mais pour pouvoir vérifier la validité de la chaine, il faut pouvoir vérifier tous les hashes, de tout les bloc jusque le bloc initial qui est hard-codé. Donc on a besoin de toute les transactions.

                Donc si on élague la chaine, il faut trouver un autre moyen de savoir quel sont les blocs valides.

  • # En 2140

    Posté par  . Évalué à 4. Dernière modification le 12 juillet 2013 à 14:38.

    En 2140, il n'y aura plus de récompense, et le nombre de bitcoin aura atteint un maximum de 21 millions

    Au moment ou ça devenait intéressant…
    Il se passe quoi après ?

    CC-BY-NC-SA

    • [^] # Re: En 2140

      Posté par  . Évalué à 5. Dernière modification le 12 juillet 2013 à 14:49.

      Croissance économique et démographique nulles. Ouf, il était temps, la planète allait exploser !

      • [^] # Re: En 2140

        Posté par  . Évalué à 4.

        C'est tout juste, Barjavel a prédit dans Ravage la fin du monde par la disparition de l'électricité vers 2052.

        Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

    • [^] # Re: En 2140

      Posté par  (site web personnel) . Évalué à 5.

      Il reste les frais de transactions pour encourager les mineurs.

    • [^] # Re: En 2140

      Posté par  . Évalué à -1.

      Et surtout, 21 millions de bitcoin, alors qu'on doit déjà être aux alentours de 7 milliard d'habitants, et combien en 2140 ?
      Je ne vois pas comment un tel système pourrait prendre de l'importance et se généraliser (ou alors il y a un truc que je n'ai pas compris).

      • [^] # Re: En 2140

        Posté par  . Évalué à 3.

        Et surtout, 21 millions de bitcoin, alors qu'on doit déjà être aux alentours de 7 milliard d'habitants, et combien en 2140 ?

        Ce n'est pas vraiment un soucis
        si la monnaie est vraiment forte, ta baguette te coutera 0,00001 µbtc

        • [^] # Re: En 2140

          Posté par  . Évalué à 1.

          Je fais quoi du coup, je découpe la pièce de Bitcoin avec un lazer de précision?

          Écrit en Bépo selon l’orthographe de 1990

          • [^] # Re: En 2140

            Posté par  . Évalué à 1. Dernière modification le 25 août 2013 à 12:25.

            Toutes les transactions se font en satoshi (0.00000001 BTC), la plus petite subdivision du bitcoin de manière à faire tout les calculs avec des entiers.

            Si 1 satoshi est encore trop fort et que ça devient un problème, le protocole peut être mis à jour pour gérer plus de subdivision.

            Les seules "pièces" bitcoin existantes à ma connaissance (casascius) sont de simple portefeuille contenant arbitrairement 1 bitcoin. En gros sois tu échanges la pièce comme de la monnaie soit tu "casse" la pièce pour accéder à la clé privée qui permet de dépenser son contenu.

  • # Super journal !

    Posté par  . Évalué à 7.

    Je me pose quelques questions, par curiosité mais aussi car je n'arrive pas à tout saisir (et désolé si la réponse est évidente ;) ) :

    Quand Alice veut donner 0.3 Bitcoin à Bob, elle diffuse sa transaction aux différents nœuds. Après un certain temps, un des nœuds (dit « mineur ») va vérifier la transaction et l'ajouter dans la blockchain.

    • Comment Alice peut-elle envoyer à tout les mineurs ? Il y a quelque part une liste de tout les mineurs ? Comment un nouveau mineur est "référencé" ?
    • Un nœud peut-il refuser une transaction, par exemple il est trop occupé à calculer le hash d'un block ?
      • Et si c'est possible, que ce passe t'il si tout les nœuds refusent la transaction d'Alice ?
    • Que signifie "vérifier la transaction" ?
    • Si j'ai bien compris, Alice peut juste "donner" des bitcoins. Mais ne peut-elle pas usurper l'identité de quelqu'un en publiant une fausse transaction, et ainsi dire "Bob me donne 10 bitcoins" ?

    La seule façon de trouver cette nonce est d'en essayer plein jusqu'à en trouver une qui convient (brute force).

    • Supposons que le block est complété et que le mineur recherche le bon hash. Il reçoit pendant ce temps un bloc qui apparemment est valide, il ce passe quoi ?

    En plus de la récompense de 25 bitcoins, les mineurs reçoivent les frais de transactions. Lorsqu'on effectue une transaction, on peut donner aussi une petite somme au mineurs pour les inciter à prendre en compte la transaction. Cela signifie que les transactions ne sont pas gratuite, mais les frais de transactions sont négligeables.

    • Donc en réalité, après chaque transaction, le mineur en ajoute une deuxième pour se donner un peu d'argent ?
    • Quel est ce coût de transaction ? Comment vérifier que le mineur ne le surestime pas ?

    Si deux mineurs publient un bloc en même temps, c'est celui qui sera contenu dans la plus grande chaîne qui gagne (dans le livre avec le plus de page qui se suivent). En pratique il s'agit souvent du premier qui publie un bloc.

    • Qu'est-ce que "la plus grande chaîne" ?

    Cependant Mtgox est le plus gros site d'échange de bitcoins et quand ce dernier éprouve des problèmes, cela se répercute sur le cours du bitcoin.

    • Supposons que j'ai la capacité de ralentir grandement le site à coups de DDos (OK, c'est une hypothèse forte), le cours du bitcoin chute un peu, j'achète des bitcoins, le DDos ce termine, le cours remonte, je revend les bitcoins acheté. J'ai donc gagné des bitcoins. C'est donc possible pour de puissante organisations de tricher ? Si oui, est-ce vraiment rentable ?
    • [^] # Commentaire supprimé

      Posté par  . Évalué à -2.

      Ce commentaire a été supprimé par l’équipe de modération.

      • [^] # Commentaire supprimé

        Posté par  . Évalué à -4.

        Ce commentaire a été supprimé par l’équipe de modération.

        • [^] # Re: Super journal !

          Posté par  . Évalué à 3.

          Les questions s'intéressaient plus à l'aspect technique que légal. Donc ce n'est pas vraiment pertinent par rapport aux questions, ce qui peut décevoir ceux qui se posaient les mêmes questions et qui ne trouvent donc pas de réponse satisfaisante dans ton message.

        • [^] # Re: Super journal !

          Posté par  (site web personnel) . Évalué à 2.

          Si c'est parce que les moinsseurs pensent que c'est faux

          non, ce n'est pas faux, mais j'imagine que quelqu'un qui veut ralentir ce site avec un DDOS se moque pas mal de la législation, selon la fameuse règle « pas vu pas pris », donc la question se pose toujours et le risque est bien présent. (note : je ne t'ai pas moinssé pour autant)

          « I approve of any development that makes it more difficult for governments and criminals to monopolize the use of force. » Eric Raymond

      • [^] # Re: Super journal !

        Posté par  (site web personnel) . Évalué à 5.

        Est puni d'un an d'emprisonnement et d'une amende de 150 000 euros […], le fait pour toute personne […] possédant en connaissance de cause des informations privilégiées sur la situation ou les perspectives d'un émetteur dont les titres sont négociés sur un marché réglementé ou sur les perspectives d'évolution d'un instrument financier ou d'un actif […] admis sur un marché réglementé, […]

        Le bitcoin n'est pas (encore?) un marché réglementé. Donc cette loi ne s'y applique pas.

    • [^] # Re: Super journal !

      Posté par  (site web personnel) . Évalué à 4.

      Merci pour les questions:

      Comment Alice peut-elle envoyer à tout les mineurs ?

      Je ne connais pas exactement tout les détails, mais en gros: Les nœud bitcoins se connectent entre eux et forme un réseau P2P. Quand un client fait une transaction, les nœud broadcast la transaction à tous les nœud connectés.

      Un nœud peut-il refuser une transaction

      Oui

      que ce passe t'il si tout les nœuds refusent la transaction d'Alice ?

      Alice réessaye en payant de plus gros frais de transactions.

      Que signifie "vérifier la transaction" ?

      S'assurer que Alice a assez d'argent et que les signatures sont correcte.

      Mais ne peut-elle pas usurper l'identité de quelqu'un en publiant une fausse transaction

      Non, car il faut signer les transactions.

      Supposons que le block est complété et que le mineur recherche le bon hash. Il reçoit pendant ce temps un bloc qui apparemment est valide, il ce passe quoi ?

      Je comprends pas bien la question. Mais je crois que tu veux dire que quelqu'un d'autre a miner le bloc. Dans ce cas il arrête de chercher pour ce bloc et passe au suivant.

      Donc en réalité, après chaque transaction, le mineur en ajoute une deuxième pour se donner un peu d'argent ?

      Non. Une transaction peux laisser une petite somme d'agent au mineur (si la somme des output est plus faible que la somme des input). Ce n'est pas représenter sur mes dessin.

      Quel est ce coût de transaction ?

      Ceux qui font les transaction choisissent. Par exemple 0,0001 bitcoins

      Qu'est-ce que "la plus grande chaîne" ?

      Les blocs se référence les uns les autres comme une liste liée.
      La plus grande chaine est celle qui a le plus de blocs.

    • [^] # Re: Super journal !

      Posté par  (site web personnel) . Évalué à 1.

      Comment Alice peut-elle envoyer à tout les mineurs ? Il y a quelque part une liste de tout les mineurs ? Comment un nouveau mineur est "référencé" ?

      Alice n'envoit pas à tous les mineurs, juste à certains nœuds, qui diffusent (ou pas) à leur tour.
      Je ne me souviens plus des détails, mais il me semble que les nœuds (pas forcément mineurs) vont sur IRC (et oui…) pour se déclarer/bootstrapper…

      Un nœud peut-il refuser une transaction, par exemple il est trop occupé à calculer le hash d'un block ?

      Oui, il peut très bien refuser. Si tous tes voisins refusent ta transaction, bah, elle n'est pas prise en compte.

      Que signifie "vérifier la transaction" ?

      Regarder les transactions passées enregistrées dans la chaîne pour savoir si Alice a assez d'argent pour en donner à Bob.

      Si j'ai bien compris, Alice peut juste "donner" des bitcoins. Mais ne peut-elle pas usurper l'identité de quelqu'un en publiant une fausse transaction, et ainsi dire "Bob me donne 10 bitcoins" ?

      Les transactions sont signées par le titulaire des BTC, donc non.

      Supposons que le block est complété et que le mineur recherche le bon hash. Il reçoit pendant ce temps un bloc qui apparemment est valide, il ce passe quoi ?

      Eh bien, il n'a plus qu'à recommencer avec le bloc suivant. Ce qui ne change rien, en fait, parce que le travail effectué était déjà perdu (il n'avait pas trouvé un nonce convenable).

      Donc en réalité, après chaque transaction, le mineur en ajoute une deuxième pour se donner un peu d'argent ?

      Non, les frais font partie intégrante de la transaction, et sont définis par Alice. Le mineur se contente de regarder si les frais en question lui conviennent ou pas (dans le client officiel, les frais ne sont « jamais » obligatoires, mais influent sur la priorité de la transaction).

      Qu'est-ce que "la plus grande chaîne" ?

      Celle pour laquelle la quantité de travail fourni est la plus élevée (somme de la difficulté de chaque bloc, en gros).

      • [^] # Re: Super journal !

        Posté par  . Évalué à 2. Dernière modification le 12 juillet 2013 à 22:04.

        Que signifie "vérifier la transaction" ?
        Regarder les transactions passées enregistrées dans la chaîne pour savoir si Alice a assez d'argent pour en donner à Bob.

        Et surtout si le montant ajouté sur un compte est bien débité sur un autre.
        S'agirait pas de laisser passé un "Alice 100000000" sortie de nul part

        • [^] # Re: Super journal !

          Posté par  (site web personnel) . Évalué à 3.

          En fait si, ça passe. Les 100000000 sont considérer comme frais de transaction et gardé par le mineur du bloc.

          Il est aussi possible de « détruire » des bitcoins en les transférant à une adresse invalide.

          • [^] # Re: Super journal !

            Posté par  . Évalué à 3.

            En fait si, ça passe. Les 100000000 sont considérer comme frais de transaction et gardé par le mineur du bloc.

            Gni? Soit j'ai rien compris, soit ça pose un peu problème, non?

            • [^] # Re: Super journal !

              Posté par  (site web personnel) . Évalué à 2.

              Une transaction dépense la totalité des inputs.
              Une transaction classique possède un output vers la personne à qui on veux donner de l'argent, et un autre output avec le reste vers nous même.
              Si la somme des output est plus petit que la somme des input, la différence est compté comme un frais de transaction.

              • [^] # Re: Super journal !

                Posté par  . Évalué à 2.

                Et en pratique ça fait quoi? Le mec (mineur) se voit crédité d'un gros montant qui n'a rien coûté à personne?

                • [^] # Re: Super journal !

                  Posté par  (site web personnel) . Évalué à 4.

                  Ah merde. J Avais mal compris le message initial.
                  la transaction est bien invalide si Alice n'a pas l'argent.
                  Au temps pour moi.

    • [^] # Re: Super journal !

      Posté par  (site web personnel) . Évalué à 5.

      Supposons que j'ai la capacité de ralentir grandement le site à coups de DDos (OK, c'est une hypothèse forte), le cours du bitcoin chute un peu, j'achète des bitcoins, le DDos ce termine, le cours remonte, je revend les bitcoins acheté. J'ai donc gagné des bitcoins. C'est donc possible pour de puissante organisations de tricher ? Si oui, est-ce vraiment rentable ?

      Oui, et il y a effectivement des gens qui ont fait ça par le passé.

      On peux espérer que plus de sites d'échange s'ouvre et amortisse le problème de la manipulation des prix

  • # Quelle valeur ?

    Posté par  . Évalué à 2. Dernière modification le 12 juillet 2013 à 22:22.

    Alors après avoir lu ton article et 15 000 autres, je n'arrive pas à répondre à une question : comment le bitcoin a-t-il de la valeur ? Comme tout le monde, tu dis "Le cours du bitcoin dépend de ce que le marché lui donne comme valeur". Oui mais justement, pourquoi le marché voudrait lui donner de la valeur ?

    Si j'ai bien compris le bitcoin est aussi une ressource puisque ça se mine et qu'il en existe une réserve qui tend à s'épuiser. Mais voilà, c'est une ressource virtuelle et qui donc n'a AUCUNE valeur dans le monde réel. Je veux bien que l'or ait de la valeur car en plus d'être (à l'époque des romains) une monnaie, ça servait à faire des bijoux ou des armures de luxe. Mais là, avec un bitcoin, bein on peut rien faire.

    Donc comment un bitcoin peut valoir plusieurs dollars alors qu'à la base, ça ne vaut rien ?

    • [^] # Re: Quelle valeur ?

      Posté par  . Évalué à 6. Dernière modification le 12 juillet 2013 à 22:43.

      Donc comment un bitcoin peut valoir plusieurs dollars alors qu'à la base, ça ne vaut rien ?

      Tu te focalises sur l'or parce que l'on "mine" des bitcoins, mais le bitcoin se veut d'être une alternative à la monnaie, pas à l'or. Et depuis 1971 et la fin du système étalon-or (plus exactement la convertibilité fixe du dollar en or, voir Bretton Wood), la monnaie n'a que la valeur que l'on veut bien lui donner :)

    • [^] # Re: Quelle valeur ?

      Posté par  (site web personnel) . Évalué à 8.

      C'est la même chose que pour des euros ou des dollars…
      Avec un euro, tu fais rien, tu peux pas le manger, t'en servir pour quoi que ce soit (on peut bien décapsuler une bière avec, mais c'est pas pratique). Ton euro n'a de la valeur que par-ce qu'il y a suffisamment de gens autour de toi qui serait susceptibles de te l'échanger contre quelque-chose d'utile.

      La lumière pense voyager plus vite que quoi que ce soit d'autre, mais c'est faux. Peu importe à quelle vitesse voyage la lumière, l'obscurité arrive toujours la première, et elle l'attend.

  • # Pourquoi calculer ce fameux hash ?

    Posté par  . Évalué à 1.

    En effet, le hash d'un bloc doit être plus petit qu'une certaine valeur. Pour ce faire, le mineur doit trouver et ajouter une nonce dans le bloc (en bleu¹ sur mon image) de manière à ce que le hash (SHA-256) soit suffisamment petit. La seule façon de trouver cette nonce est d'en essayer plein jusqu'à en trouver une qui convient (brute force). Cela demande beaucoup de CPU et de chance.

    Pourquoi ? Je ne comprends pas l’intérêt de cette partie dans le système Bitcoin.

    • [^] # Re: Pourquoi calculer ce fameux hash ?

      Posté par  (site web personnel) . Évalué à 1.

      Ça sert à limiter le nombre de blocs produits pendant un certain temps : en effet, la chaîne est là pour mettre tout le monde d'accord sur les transactions passées, il convient donc d'éviter les branchements, ce qui est fait en rendant la production de blocs difficile, et si plusieurs branches il y a, c'est celle dans laquelle le plus de travail a été investi qui l'emporte (sauf quand le branchement est dû à des règles/protocoles/bugs incompatibles, comme c'est déjà arrivé…)

    • [^] # Re: Pourquoi calculer ce fameux hash ?

      Posté par  (site web personnel) . Évalué à 3.

      Ça sert à éviter le spam ou la triche.
      Cette preuve de travail fait que si un spammeur voulais tricher et dépenser les même bitcoins deux fois, il lui faudrait autant de CPU que la somme de tous les autres participants.

  • # Bitcoin c'est l'avenir

    Posté par  . Évalué à 4.

    Vu l'importance du sujet et surtout la qualité de l'explication, je suis surpris que ce n'est toujours pas en dépêche…

    Quelques liens utiles, malheureusement en anglais :
    Beginners Guide to Mining Bitcoins

    Bitcoincharts provides financial and technical data related to the Bitcoin network

    Your portal into the world of Bitcoin

    BitCoin Block Explorer

  • # D'ou vient le nombre minimal ?

    Posté par  (site web personnel) . Évalué à 2.

    Dans l'opération :
    HASH ( bloc + nonce ) < XXX

    D’où vient le XXX ? qui décide de sa valeur basse ?

    "La première sécurité est la liberté"

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.