Bitcoin Forum

Local => Débutants => Topic started by: btc_owner on July 23, 2015, 08:01:02 PM



Title: Les confirmations what?!
Post by: btc_owner on July 23, 2015, 08:01:02 PM
Bonsoir à tous,

j'ai quelque questions qui reste toujours dans ma tête suite à cette article ; http://www.bitcoin.fr/post/Bitcoin-pour-les-commerces-physiques

je ne comprends pas cette partie
Quote

 Il serait en effet imprudent de laisser partir immédiatement un client qui vient de dépenser plusieurs centaines d'euros en bitcoins. Aussitôt sorti de la boutique ne pourrait-il pas tenter d'effectuer, avant la première confirmation, un double paiement avec des frais de transaction supérieurs ?


Que signifie cela? je ne comprends pas pourquoi le client ferrait un double paiement il perdrait de l'argent? et pourquoi des frais supérieurs quel est le rapport? je suis vraiment perdu...

Quote
Seule solution pour l'instant : faire patienter le client le temps d'une confirmation au moins - soit environ dix minutes - et davantage pour garantir la réalisation de transactions vraiment conséquentes (on préconise souvent six confirmations pour une sécurité maximale).

Pourquoi avons nous besoin de confirmation? Car un paiement en btc ne peux être retourner ou "rembourser" donc lorsqu'on le voit dans la blockchain on a à 100% reçu le paiement sur notre wallet, pourquoi attendre?


Cordialement,




Title: Re: Les confirmations what?!
Post by: ceric35 on July 23, 2015, 08:16:59 PM
Un double paiement sert a dépenser une somme de bitcoin une deuxième fois.

Comme les mineurs sont chargés d'inclure les transactions dans des blocs en vérifiant qu'une transaction a été dépensé une seule fois, une seule des deux transaction serait incluse dans un bloc. La transaction qui gagne est au choix du mineur, donc si on met plus de frais sur la 2eme transaction on peut choisir quelle transaction à plus de chance de passer...

Donc il est conseillé au commerçant d'attendre une confirmation pour être certains que la transaction soit validée par l'ensemble du réseau.


Title: Re: Les confirmations what?!
Post by: btc_owner on July 23, 2015, 08:23:09 PM
Ah donc si par exemple je fais un paiement de 100e bitcoin avec 0.03 centime de frais
et que je renvoye sur la même adresse un paiement de 10e avec 3euros de frais ce dernier à plus de chance de passer?

Mais je ne comprends pas
Quote
donc si on met plus de frais sur la 2eme transaction on peut choisir quelle transaction à plus de chance de passer...
Pourquoi "plus de chance de passer" une transaction bitcoin est toujours "vrai" je n'ai jamais eu de transactions refusée ou pas accepté, de toute manière quand on envoye les btc sur un wallet on ne peux pas les récupérer

donc si on envoye deux paiement on va juste perdre de l'argent, c'est louche tout ça


Title: Re: Les confirmations what?!
Post by: ceric35 on July 23, 2015, 08:37:24 PM
C'est technique, et c'est pas evident à faire. C'est pas equivalent à faire "deux transactions".

Par exemple, si tu a recu une transaction A1 de 5 BTC.
Tu as un solde de 5 BTC car tu as une transaction entrante A1 "pas encore dépensé".

Maintenant, tu paie ton commercant en faisant une transaction A2 à partir de A1 de 5 BTC vers l'adresse CLIENT1.
Maintenant, tu a un solde de 0 BTC car A1 a été dépensé par une transaction sortante.

Mais, si pendant ce temps, tu fais une nouvelle transaction A3 aussi à partir de A1 de 5 BTC vers ta propre adresse ADDR1.
C'est interdit par le protocole Bitcoin de dépenser deux fois la transaction A1, donc seulement une seule des transactions sera validé dans un bloc.

donc si on envoye deux paiement on va juste perdre de l'argent, c'est louche tout ça

Je pense qu'il te manque la compréhension du chaînage des transactions entre elles.


Title: Re: Les confirmations what?!
Post by: ceric35 on July 23, 2015, 08:46:37 PM
Ce schema est interessant :
http://themisescircle.org/wp-content/uploads/2013/05/btc-transaction-500x310.png

Il montre le chaînage des transactions et la validation des transactions. En particulier le fait que la transation 2 doit être signée numériquement avec la clé privée qui correspond à la clé publique qui a reçu la transaction 1.


Title: Re: Les confirmations what?!
Post by: ejp on July 23, 2015, 08:56:25 PM
pour les priorités des transactions il ne faut pas oublier l'age des BTC de son wallet.

Un vieux BTC a une priorité plus élevé qu'un BTC recu d'une transaction toute fraiche.
en gros si satoshi nakamoto déplace 1 btc il n'aura même pas besoin de payer des frais de transactions car il sera automatiquement priorisé.


Title: Re: Les confirmations what?!
Post by: ceric35 on July 23, 2015, 09:03:58 PM
Un vieux BTC a une priorité plus élevé qu'un BTC recu d'une transaction toute fraiche.
en gros si satoshi nakamoto déplace 1 btc il n'aura même pas besoin de payer des frais de transactions car il sera automatiquement priorisé.
Ca ne s'applique pas à une double dépense car il n'y a qu'une seule transaction à dépenser deux fois, et donc qu'un seul age.

Mais je ne connaissais pas la condition, où puis-je là vérifier ?

EDIT : https://en.bitcoin.it/wiki/Transaction_fees
Putain, j'en apprends encore sur Bitcoin ...  ;D Trop fort satoshi  :P


Title: Re: Les confirmations what?!
Post by: btc_owner on July 23, 2015, 09:10:03 PM
@ceric35

C'est un peu compliquer pour moi, on a envoyer 5btc de l'adresse A1 à l'adresse du commercant CLIENT1
Donc sur notre wallet nous avons 0btc dispo car nous avons envoyer au wallet CLIENT1

Ensuite tu me dis
Quote
Mais, si pendant ce temps, tu fais une nouvelle transaction A3 aussi à partir de A1 de 5 BTC vers ta propre adresse ADDR1

Mais comment veux-tu que je fasse une transaction A3 à partir de mon wallet A1 sachant que j'ai tous dépenser en envoyer les 5BTC sur le wallet CLIENT1, si j'essaie d'envoyer du btc alors que je ne l'ai pas sur mon wallet le wallet va me dire montant insuffisant... et finit

c'est très louche pour moi :/


Title: Re: Les confirmations what?!
Post by: ceric35 on July 23, 2015, 09:14:12 PM
Mais comment veux-tu que je fasse une transaction A3 à partir de mon wallet A1 sachant que j'ai tous dépenser en envoyer les 5BTC sur le wallet CLIENT1, si j'essaie d'envoyer du btc alors que je ne l'ai pas sur mon wallet le wallet va me dire montant insuffisant... et finit

c'est très louche pour moi :/

Tu ne peux pas le faire depuis le client "bitcoin-core" parce qu'il t’empêche de faire n'importe quoi.

Mais, si, en étant extrêmement motivé, tu faisais la transaction à la main, sans logiciel, c'est théoriquement possible. On n'est pas dans une utilisation normale de Bitcoin ici. Ca serait dans une volonté de nuire au réseau. Et c'est assez compliqué à faire finalement, surtout qu'il faut le faire dans les 10min (avant le prochain bloc).


Title: Re: Les confirmations what?!
Post by: btc_owner on July 23, 2015, 09:19:09 PM
Et bien on en apprend beaucoup ici !

Je ne savais pas que nous pouvions faire des transactions sans utiliser un logiciel comme bitcoin core,multibit etc
comment cela est possible? Avez-vous des liens ou pouvez vous me dire comment cela est possible et par quels moyens?
Aucune volonté de ma part de nuire au réseau, mais une grande volonté d'apprendre :)



Title: Re: Les confirmations what?!
Post by: ceric35 on July 23, 2015, 09:27:28 PM
Une transaction c'est du texte qu'on peut parfaitement lire. Par exemple (https://en.bitcoin.it/wiki/Transaction) :
Code:
Input:
Previous tx: f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6
Index: 0
scriptSig: 304502206e21798a42fae0e854281abd38bacd1aeed3ee3738d9e1446618c4571d10
90db022100e2ac980643b0b82c0e88ffdfec6b64e3e6ba35e7ba5fdd7d5d6cc8d25c6b241501

Output:
Value: 5000000000
scriptPubKey: OP_DUP OP_HASH160 404371705fa9bd789a2fcd52d2c580b65d35549d
OP_EQUALVERIFY OP_CHECKSIG

Bon, par contre, pour en écrire une à la main, c'est un peu plus dur parce qu'il un y a des principes cryptographique, mais c'est pas impossible.

Bitcoin est une monnaie programmable, donc on peux facilement faire des transactions automatisées, etc...


Title: Re: Les confirmations what?!
Post by: sangoku on July 23, 2015, 09:31:58 PM
@ceric35

C'est un peu compliquer pour moi, on a envoyer 5btc de l'adresse A1 à l'adresse du commercant CLIENT1
Donc sur notre wallet nous avons 0btc dispo car nous avons envoyer au wallet CLIENT1

Ensuite tu me dis
Quote
Mais, si pendant ce temps, tu fais une nouvelle transaction A3 aussi à partir de A1 de 5 BTC vers ta propre adresse ADDR1

Mais comment veux-tu que je fasse une transaction A3 à partir de mon wallet A1 sachant que j'ai tous dépenser en envoyer les 5BTC sur le wallet CLIENT1, si j'essaie d'envoyer du btc alors que je ne l'ai pas sur mon wallet le wallet va me dire montant insuffisant... et finit

c'est très louche pour moi :/

C'est pas le premier venu qui pourrait le faire, mais le fonctionnement du réseau portège contre ce type de tentative.
Pour ta question concernant la possibilité de faire des transation sans le GUI.

https://en.bitcoin.it/wiki/Script

Tu peux aussi lire le livre de Andreas Antonopoulos
J'ai créé une version epub ici

https://bitcointalk.org/index.php?topic=875669.msg10028064#msg10028064


Title: Re: Les confirmations what?!
Post by: Meuh6879 on July 23, 2015, 09:55:37 PM
Pourquoi avons nous besoin de confirmation? Car un paiement en btc ne peux être retourner ou "rembourser" donc lorsqu'on le voit dans la blockchain on a à 100% reçu le paiement sur notre wallet, pourquoi attendre?

1) en 2 ans, à raison de 2 paiements par semaine ... je n'ai jamais vu de double-dépense.

2) BitcoinXT empêche l'utilisation d'une double-dépense en refusant immédiatement que la transaction aille dans la mempool.

3) Il est impossible (dans la réalité) d'avoir une double-dépense apparaissant chez soi ... si on est pas relié directement, avec un logiciel SPV, à un noeud isolé avec un mineur corrompu (bref, l'ethernet d'une banque avec un lanfanboy qui s'amuse).

Dans la réalité, tu es relié à au moins 7 noeuds (si c'est pas 9).

Dans la réalité, un commerçant peut se prémunir entièrement des double-dépenses en installant un Bitcoin Core sur une machine (avec la blockchain complête donc) et en utilisant un SPV à la caisse (logiciel ne requérant que des connexions à des noeuds) rêglé pour se connecter UNIQUEMENT au bitcoin core cité.

4) lire le numéro 1 ... et croire les gens qui utilisent réellement le réseau Bitcoin au jour le jour.

---

Effectivement, une simple astuce a présenter au client ... est une facture à QR-Code intégrant des frais plus important que la moyenne.

Car les doubles-dépenses sont (si c'est essayé avec succès) des transactions sans frais payé au réseau Bitcoin.


Title: Re: Les confirmations what?!
Post by: btc_owner on July 23, 2015, 10:32:37 PM
Merci pour tout c'est très intéresser ;)

Je vais de ce pas m'y intéresser de plus près et lire quelque archive :)


Title: Re: Les confirmations what?!
Post by: JUmpy14 on July 30, 2015, 06:23:08 AM
trés intéressant en effet
c'est un point vraiment négatif du bitcoin qui pourtant semble facile à contrer, pourquoi la blockchain ne fait rien ?
Par exemple interdire deux transactions dans les 10 minutes venant d'une même clé privée et les passer en orphelin (si la transaction 2 est plus faible que la 1) ou obliger les transactions à etre inscrites dans le wallet meme les non confirmées
Je dis surement des anneries mais je me permets ;D

Pour comprendre, la transaction a la main n'a besoin d'avoir le wallet a jours donc ? ce qui expliquerais cette facilité ?


Title: Re: Les confirmations what?!
Post by: kcud_dab on July 30, 2015, 08:19:11 AM
Car les doubles-dépenses sont (si c'est essayé avec succès) des transactions sans frais payé au réseau Bitcoin.
Je ne serai pas aussi catégorique... Il y a des risques à accepter les transactions non confirmée !
Alors après ok si il y a les bons frais ça peut aider mais là encore tu n'es jamais sur de ce que va faire le mineur derrière...

Celà ne changera pas grand chose d'avoir Bitcoin Core ou XT dans ce cas, c'est les mineurs qui décident au final donc ça ne changera pas grand chose, par contre l'un des logiciel ne te signalera pas les tentatives de double spend dans l'interface contrairement à l'autre : avec XT tu peux voir si quelqu'un essaie de double spend alors que tu ne le sais pas forcément avec Core.
Pareil pour le nombre de connexion, que tu sois conencté à 5, 10 ou 120 nodes, celà ne changera pas grand chose si il mec essaie de double spend chez toi..

Et les double spends, ce n'est pas compliqué à faire (ok yavait pas beaucoup de fees pour la "première" tx mais ça fonctionne) !
-> https://twitter.com/arthurbouquet/status/602107148005433345

trés intéressant en effet
c'est un point vraiment négatif du bitcoin qui pourtant semble facile à contrer, pourquoi la blockchain ne fait rien ?
Par exemple interdire deux transactions dans les 10 minutes venant d'une même clé privée et les passer en orphelin (si la transaction 2 est plus faible que la 1) ou obliger les transactions à etre inscrites dans le wallet meme les non confirmées
Je dis surement des anneries mais je me permets ;D

Pour comprendre, la transaction a la main n'a besoin d'avoir le wallet a jours donc ? ce qui expliquerais cette facilité ?
Le réseau est décentralisé donc personne ne pourrait controller ça (qui décide ?).
D'ailleurs il n'y a pas non plus de notion de "première" ou de "seconde" transactions, une node a très pu en voir une en premier alors qu'une autre a vu l'autre... et dans tous les cas c'est au mineur de décidé quelle transaction inclure dans le bloc qu'il trouve, soit l'une, soit l'aute, soit aucune des deux (les deux ce n'est pas possible)


Title: Re: Les confirmations what?!
Post by: btchip on July 30, 2015, 08:32:33 AM
Quote
Celà ne changera pas grand chose d'avoir Bitcoin Core ou XT dans ce cas

Ah si si, justement c'est un peu le seul fait d'arme de XT, il a prouvé qu'il était plus efficace pour les diffuser au voisin (https://www.mail-archive.com/bitcoin-dev@lists.linuxfoundation.org/msg00500.html), et aider à transformer un déni de service en quelque chose de pire :-*


Title: Re: Les confirmations what?!
Post by: kcud_dab on July 30, 2015, 08:46:43 AM
Ah si si, justement c'est un peu le seul fait d'arme de XT, il a prouvé qu'il était plus efficace pour les diffuser au voisin (https://www.mail-archive.com/bitcoin-dev@lists.linuxfoundation.org/msg00500.html), et aider à transformer un déni de service en quelque chose de pire :-*
Oui, mais concrêtement qu'est ce que ça change si quelqu'un veut te faire un double spend ?
La feature DDoS est un p'tit plus sympa :p mais pour moi ça ne change pas grand chose d'avoir XT ou Core si le but est de se "protéger" des double spends !


Title: Re: Les confirmations what?!
Post by: btchip on July 30, 2015, 08:50:44 AM
Juste que moins y a de gens qui font tourner cette chose moins y aura de risques pour le réseau que les double spend soient relayés  :-*


Title: Re: Les confirmations what?!
Post by: kcud_dab on July 30, 2015, 08:59:42 AM
A noter aussi qu'au delà des double spend "classique"... il y a des trucs en préparation/discussion etc : RBF et/ou CPFP
 - RBF : replace-by-fees -> le but est de refaire une tx avec plus de fees dans le cas où une tx n'est pas confirmée rapidement  (c'est typiquement un double spend...)
 - CPFP : child pay for parent -> on utilise un des output d'une tx qui n'est pas encore confirmée en input d'une autre tx pour que la première soie vite inclue


Title: Re: Les confirmations what?!
Post by: btchip on July 30, 2015, 09:14:44 AM
Y a plusieurs types de RBF, la version populaire en ce moment c'est celle qui rajoute des outputs ou des inputs à la précédente (donc sans danger)