Sommaire
- Bitcoin c'est quoi ?
- La blockchain
- Difficulté
- Récompense et frais de transactions
- Ramifications
- Comment est déterminé le prix du bitcoin ?
- Pour aller plus loin : transaction scriptées.
- Dérivés
- Conclusion
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 :
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).
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:
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 Kytrix . É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 maboiteaspam . Évalué à 2.
Voudrais tu développer un peu pour voir ?
[^] # Re: Concept
Posté par Kytrix . É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 Gof (site web personnel) . Évalué à 3.
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 ckyl . É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 Gof (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 ckyl . É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 Gof (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 Zenitram (site web personnel) . Évalué à 6.
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).
Pareil pour un virement. Autre argument fallacieux "contre" le systèmes "actuel".
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 Gof (site web personnel) . Évalué à 2.
Quel est le système de « cours du bitcoin » dont tu parles ?
Comment ?
Les frais de transaction dans le bitcoins sont négligables comparés aux alternatives.
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 ?
En quoi est-ce que bitcoin est malhonnête ?
En Europe, oui. Mais Bitcoin ne se limite pas à l'europe.
Comment transferts tu de l'argent à quelqu'un au Kenya par exemple ?
Peux tu élaborer ?
[^] # Re: Concept
Posté par JoeltheLion (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 Larry Cow . Évalué à 10.
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 Alex . É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 Gof (site web personnel) . Évalué à 2.
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 Alex . É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 Gof (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 Alex . É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 brendel . É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 Alex . É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 brendel . É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 ThibG (site web personnel) . Évalué à 0.
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…
Pourquoi des fpga ? Il existe des circuits intégrés pour ça :)
[^] # Re: Concept
Posté par ThibG (site web personnel) . Évalué à 0.
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 brendel . Évalué à 2.
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 Zenitram (site web personnel) . Évalué à 3.
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 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 brendel . Évalué à 2.
J'ai déjà lu tous les journaux sur bitcoin et je vois pas en quoi c'est malhonnête. Les centaines de gens qui ont miné du bitcoin au début en ont beaucoup, puisqu'ils étaient peu nombreux, c'est à dire que personne ne s'y intéressait. L'initiateur de Bitcoin peut bien faire ce qu'il veut, ça ne change pas le système Bitcoin. Il n'y a pas de promesse de gain non tenues ou autres, pour l'instant les gens qui se font de l'argent avec des Bitcoin ils parient, comme pour la bourse. Il n'y à pas d'arnaque la dedans.
[^] # Re: Concept
Posté par 2PetitsVerres . Évalué à 1.
Qui est la première personne à avoir proposé l'idée de monnaie physique ?
Tous les nombres premiers sont impairs, sauf un. Tous les nombres premiers sont impairs, sauf deux.
[^] # Re: Concept
Posté par _alex . Évalué à 2.
https://fr.wikipedia.org/wiki/Monnaie#Antiquit.C3.A9_et_Moyen_.C3.82ge
http://www.larousse.fr/encyclopedie/divers/calculi/182699
Version en 43 minutes sur l'histoire des écritures (oui, on fini par tomber sur la monnaie) :
http://www.parleys.com/play/51703640e4b095cc56d8d4af/chapter0/about
[^] # Re: Concept
Posté par laurentb (site web personnel) . Évalué à 2.
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.
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 Zenitram (site web personnel) . Évalué à 3.
Je sais pas quelle banque tu as, mais les miennes sont à 0€/an.
Qui est gratuit dans la plupart des banques.
Ce qui est plus que suffisant (on ne peut pas "casser" par brute force)
[^] # Re: Concept
Posté par laurentb (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.
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 Zenitram (site web personnel) . Évalué à 2.
Tu l'as indiqué toi-même!
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 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).
Sérieusement, tu comprends quelques choses à la sécurité?
J'ai précisé : pas possible par brute-force
Tu t'auto-réponds…
chose qui ne m'est jamais arrivée. Merci de confirmer que c'est largement suffisant.
[^] # Re: Concept
Posté par laurentb (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.
Ç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 Zenitram (site web personnel) . Évalué à 3. Dernière modification le 14 juillet 2013 à 19:20.
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.
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.
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 brendel . Évalué à 2.
Ah ba c'est que ça arrive à personne alors, tout vas bien.
[^] # Re: Concept
Posté par Adrien . Évalué à 1.
On peut aussi ajouter Crédit à bricole (sûr), et sans doute Banque populiste (à vérifier).
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 0.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Concept
Posté par maboiteaspam . Évalué à 0.
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 knarf2 . Évalué à 2.
Quelques raison pour lesquelles je préfère bitcoin.
[^] # Re: Concept
Posté par maboiteaspam . Évalué à 2.
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 maboiteaspam . É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 Gof (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:[^] # Re: nonce
Posté par jben . É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 Gof (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 brendel . É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 jben . Évalué à 2.
Je ne vous pas pourquoi, du moment qu'il commence à un endroit aléatoire, ça semble même être mieux.
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 Gof (site web personnel) . Évalué à 2.
Merci pour cette démonstration.
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 brendel . Évalué à 1. Dernière modification le 15 juillet 2013 à 15:09.
Bon, merci à vous 2 de rectifier mes bêtises.
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 Hugo Mercier (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 cosmocat . Évalué à 7.
Avant tout, j'ai beau lire quelques trucs par-ci par-là, je comprends pas bien…
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 Gof (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 jokester . Évalué à 2.
Et en 2140 la chaîne elle fera combien de Po ?
[^] # Re: Base de données distribuée
Posté par Alex . É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 Hugo Mercier (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 Alex . É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 Gof (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 Happy-Tux . Évalué à 4. Dernière modification le 12 juillet 2013 à 14:38.
Au moment ou ça devenait intéressant…
Il se passe quoi après ?
CC-BY-NC-SA
[^] # Re: En 2140
Posté par Marotte ⛧ . É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 zebra3 . É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 Gof (site web personnel) . Évalué à 5.
Il reste les frais de transactions pour encourager les mineurs.
[^] # Re: En 2140
Posté par ElectronLibre63 . É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 Alex . Évalué à 3.
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 ariasuni . É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 knarf2 . É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 needs . É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 ;) ) :
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à -2.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à -4.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Super journal !
Posté par ziliss . É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 fravashyo . Évalué à 2.
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 Gof (site web personnel) . Évalué à 5.
Le bitcoin n'est pas (encore?) un marché réglementé. Donc cette loi ne s'y applique pas.
[^] # Re: Super journal !
Posté par Gof (site web personnel) . Évalué à 4.
Merci pour les questions:
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.
Oui
Alice réessaye en payant de plus gros frais de transactions.
S'assurer que Alice a assez d'argent et que les signatures sont correcte.
Non, car il faut signer les transactions.
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.
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.
Ceux qui font les transaction choisissent. Par exemple 0,0001 bitcoins
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 ThibG (site web personnel) . Évalué à 1.
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…
Oui, il peut très bien refuser. Si tous tes voisins refusent ta transaction, bah, elle n'est pas prise en compte.
Regarder les transactions passées enregistrées dans la chaîne pour savoir si Alice a assez d'argent pour en donner à Bob.
Les transactions sont signées par le titulaire des BTC, donc non.
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).
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).
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 batousky . Évalué à 2. Dernière modification le 12 juillet 2013 à 22:04.
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 Gof (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 Larry Cow . Évalué à 3.
Gni? Soit j'ai rien compris, soit ça pose un peu problème, non?
[^] # Re: Super journal !
Posté par Gof (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 Larry Cow . É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 Gof (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 Gof (site web personnel) . Évalué à 5.
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 Ely . É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 Spyhawk . Évalué à 6. Dernière modification le 12 juillet 2013 à 22:43.
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 François Chaix (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 NeOwA . Évalué à 1.
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 ThibG (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 Gof (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 kadalka . É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
[^] # Re: Bitcoin c'est l'avenir
Posté par Larry Cow . Évalué à 7.
Un lien utile, malheureusement en français : http://fr.wikipedia.org/wiki/Subjonctif_présent
# D'ou vient le nombre minimal ?
Posté par Nicolas Boulay (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é"
[^] # Re: D'ou vient le nombre minimal ?
Posté par brendel . Évalué à 3.
C'est la difficulté qui est mise a jour tous les ~2K blocs. Elle est égale a la valeur qu'il aurait fallu avoir sur les 2000 derniers blocs pour qu'il y ai exactement un bloc généré toutes les 10minutes.
[^] # Re: D'ou vient le nombre minimal ?
Posté par Gof (site web personnel) . Évalué à 1.
s/exactement/en moyenne/
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.