Bitcoin Forum
May 22, 2024, 11:55:40 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: 1 2 [All]
  Print  
Author Topic: Les confirmations what?!  (Read 1594 times)
btc_owner (OP)
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
July 23, 2015, 08:01:02 PM
 #1

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,


ceric35
Hero Member
*****
Offline Offline

Activity: 585
Merit: 500



View Profile
July 23, 2015, 08:16:59 PM
 #2

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.
btc_owner (OP)
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
July 23, 2015, 08:23:09 PM
 #3

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
ceric35
Hero Member
*****
Offline Offline

Activity: 585
Merit: 500



View Profile
July 23, 2015, 08:37:24 PM
 #4

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.
ceric35
Hero Member
*****
Offline Offline

Activity: 585
Merit: 500



View Profile
July 23, 2015, 08:46:37 PM
 #5

Ce schema est interessant :


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.
ejp
Legendary
*
Offline Offline

Activity: 939
Merit: 1000


View Profile
July 23, 2015, 08:56:25 PM
 #6

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é.
ceric35
Hero Member
*****
Offline Offline

Activity: 585
Merit: 500



View Profile
July 23, 2015, 09:03:58 PM
 #7

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 ...  Grin Trop fort satoshi  Tongue
btc_owner (OP)
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
July 23, 2015, 09:10:03 PM
 #8

@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 :/
ceric35
Hero Member
*****
Offline Offline

Activity: 585
Merit: 500



View Profile
July 23, 2015, 09:14:12 PM
 #9

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).
btc_owner (OP)
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
July 23, 2015, 09:19:09 PM
 #10

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 Smiley

ceric35
Hero Member
*****
Offline Offline

Activity: 585
Merit: 500



View Profile
July 23, 2015, 09:27:28 PM
 #11

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...
sangoku
Hero Member
*****
Offline Offline

Activity: 616
Merit: 501



View Profile WWW
July 23, 2015, 09:31:58 PM
 #12

@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

DΛSH is digital cash. Transactions are obscured in the blockchain, making them private from the wallet. You can send Dash to family or friends, or pay for goods or services, anywhere in the world. DΛSH Anonymous and Untraceable. The Perfect Digital Cash And The Best Way To Protect Your Privacy https://www.dashpay.io DΛSH is 59.5 times faster with syncing and updating  than Monero.
My DΛSH Address: XgF6sNzGHU58dn36WsC16no9FHct6nPeZD
Meuh6879
Legendary
*
Offline Offline

Activity: 1512
Merit: 1011



View Profile
July 23, 2015, 09:55:37 PM
 #13

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.
btc_owner (OP)
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
July 23, 2015, 10:32:37 PM
 #14

Merci pour tout c'est très intéresser Wink

Je vais de ce pas m'y intéresser de plus près et lire quelque archive Smiley
JUmpy14
Hero Member
*****
Offline Offline

Activity: 922
Merit: 534



View Profile
July 30, 2015, 06:23:08 AM
 #15

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 Grin

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

kcud_dab
Legendary
*
Offline Offline

Activity: 1652
Merit: 1000


Bitcoin enthusiast!


View Profile WWW
July 30, 2015, 08:19:11 AM
 #16

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 Grin

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)

btchip
Hero Member
*****
Offline Offline

Activity: 623
Merit: 500

CTO, Ledger


View Profile WWW
July 30, 2015, 08:32:33 AM
 #17

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, et aider à transformer un déni de service en quelque chose de pire Kiss

kcud_dab
Legendary
*
Offline Offline

Activity: 1652
Merit: 1000


Bitcoin enthusiast!


View Profile WWW
July 30, 2015, 08:46:43 AM
 #18

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, et aider à transformer un déni de service en quelque chose de pire Kiss
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 !

btchip
Hero Member
*****
Offline Offline

Activity: 623
Merit: 500

CTO, Ledger


View Profile WWW
July 30, 2015, 08:50:44 AM
 #19

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  Kiss

kcud_dab
Legendary
*
Offline Offline

Activity: 1652
Merit: 1000


Bitcoin enthusiast!


View Profile WWW
July 30, 2015, 08:59:42 AM
 #20

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

btchip
Hero Member
*****
Offline Offline

Activity: 623
Merit: 500

CTO, Ledger


View Profile WWW
July 30, 2015, 09:14:44 AM
 #21

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)

Pages: 1 2 [All]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!