Author

Topic: Transaction manuelle (Read 1274 times)

legendary
Activity: 1512
Merit: 1012
Still wild and free
January 04, 2014, 08:17:46 PM
#27
Maintenant, c'est quoi cette "erreur qui peut faire perdre des tas de btc"?

A moins que tu programmes toi même du code qui joue avec des bitcoins, c'est un truc qui t'arrivera jamais, pas la peine de paniquer.
C'est une erreur qui peut arriver aux programmeurs, pas aux utilisateurs lambda.


Ok, merci. Mais est-ce que ça un rapport avec les adresses "change" que l'on trouve (notamment) dans Electrum?

La discussion du thread s'est portée là-dessus, mais si tu parles juste de l'erreur de la mort qui tue, non ca a rien à voir. L'erreur vient d'oublier completement le change (ou de le mettre trop petit), et ton programme wallet ne fera jamais cette bourde ! Si tu programmais toi même un programme comme electrum, mettons Rocou-qt, et que tu faisais une erreur dans le code de Rocou-qt qui gère la création de transaction, alors ça pourrait arriver, le protocole bitcoin ne l'interdirait pas.
(et il ne l'interdit pas car c'est comme ça que sont définis les frais contenus dans chaque transaction: il n'y a pas de champ "frais" explicite, les frais sont simplement la différence entre la somme des montants en sortie et en entrée).
legendary
Activity: 3209
Merit: 1187
January 04, 2014, 02:38:48 PM
#26
Maintenant, c'est quoi cette "erreur qui peut faire perdre des tas de btc"?

A moins que tu programmes toi même du code qui joue avec des bitcoins, c'est un truc qui t'arrivera jamais, pas la peine de paniquer.
C'est une erreur qui peut arriver aux programmeurs, pas aux utilisateurs lambda.


Ok, merci. Mais est-ce que ça un rapport avec les adresses "change" que l'on trouve (notamment) dans Electrum?
newbie
Activity: 47
Merit: 0
January 04, 2014, 11:22:32 AM
#25
Pour renvoyer le change vers l'adresse d'émission, il faut utiliser "coin control".

Merci, je regarde  Wink
legendary
Activity: 1512
Merit: 1012
Still wild and free
January 04, 2014, 06:45:01 AM
#24
Maintenant, c'est quoi cette "erreur qui peut faire perdre des tas de btc"?

A moins que tu programmes toi même du code qui joue avec des bitcoins, c'est un truc qui t'arrivera jamais, pas la peine de paniquer.
C'est une erreur qui peut arriver aux programmeurs, pas aux utilisateurs lambda.
legendary
Activity: 3209
Merit: 1187
January 04, 2014, 05:56:58 AM
#23
Merci à tous, c'est plus clair.

Maintenant, c'est quoi cette "erreur qui peut faire perdre des tas de btc"?
On ne peut pas payer plusieurs personnes de façon simultanée? Il faut attendre que chaque paiement soit confirmé et arrivé à destination avant de procéder à un nouveau paiement?
newbie
Activity: 25
Merit: 0
January 04, 2014, 05:33:06 AM
#22
Les bitcoins existent uniquement sous la forme de transactions dans la chaine de blocs. Chaque dépense de bitcoins "vide" toujours complètement une ou plusieurs transactions précédentes. Et pour savoir combien de bitcoins appartiennent à une adresse il faut refaire l'addition des transactions depuis l'origine.

C'est déroutant, on s'attendrait plutôt à une base de données qui contient le compte des bitcoins par adresse.

Mais l'intérêt c'est qu'une transaction est composée :
- d'un montant,
- d'une adresse d'origine,
- une adresse de destination,
et aussi
- de la résolution de l'énigme qui a permis de faire venir les bitcoins vers l'adresse (souvent juste la preuve de possession de la clé privée),
- et enfin de l'énigme qui permettra de dépenser à nouveau le montant transmis.

C'est ce système qui permet à tout le monde de vérifier que toutes les transactions sont valides depuis le début.

Pour renvoyer le change vers l'adresse d'émission, il faut utiliser "coin control".
sr. member
Activity: 476
Merit: 250
January 04, 2014, 04:15:33 AM
#21
Quote
Wow! C'est hyper dangereux
C'est une blague ?

Il faut arrêter d'imaginer des pièces en or qui voyagent à travers internet...

Bitcoin est un livre de compte et à ta ligne, il est marqué 20.

Si tu veux envoyer 5 on barre les 20 et on écrit 15 et 5 sur la ligne de l'autre personne.

legendary
Activity: 3209
Merit: 1187
January 04, 2014, 03:21:08 AM
#20
Merci pour l'effort mais je n'ai toujours rien compris. Si j'ai vingt btc, je ne vois pas ce qui m'empêche d'en payer 10...
Ou alors, si j'ai au total 20 btc si je veux payer un truc 5 btc, c'est l'intégralité de mes 20btc qui partent et 15 qui finissent par revenir?? C'est ça? ça me parait tellement stupide et dangereux comme système que j'ai du mal à y croire.

Comme ton vieux billet de 20€, tu le donne et on te rend 15€

Wow! C'est hyper dangereux. Le bitcoin me semble d'un seul coup nettement moins intéressant  Shocked
Y-a-til une alt qui fonctionne d'une manière plus raisonnable?
newbie
Activity: 47
Merit: 0
January 03, 2014, 02:31:22 PM
#19
Merci pour l'effort mais je n'ai toujours rien compris. Si j'ai vingt btc, je ne vois pas ce qui m'empêche d'en payer 10...
Ou alors, si j'ai au total 20 btc si je veux payer un truc 5 btc, c'est l'intégralité de mes 20btc qui partent et 15 qui finissent par revenir?? C'est ça? ça me parait tellement stupide et dangereux comme système que j'ai du mal à y croire.

Comme ton vieux billet de 20€, tu le donne et on te rend 15€
legendary
Activity: 3209
Merit: 1187
January 03, 2014, 01:49:48 PM
#18
Je vais tenter une explication, ça me permettra de vérifier si j'ai bien compris :

Quand tu as un billet de 20€ et que tu veux te payer un machin à 10€ tu peux pas couper ton billet en deux pour en garder une moitié.
Les BTC c'est presque pareil, il n'y a pas de billets de pièces, il y a des transactions.
Tu ne possède pas 20BTC, il y a juste une inscription quelque part qui dit que tu as reçu 20BTC, c'est une 'transaction'.
Quand tu paye en BTC tu utilise une des transactions dont ton adresse est destinataire.
Comme pour le billet de 20€ on ne peut pas utiliser la moité d'une transaction.

Pour payer tes 10BTC, une transaction est crée qui part de la précédente avec ses 20BTC, et dont 10BTC vont à ton vendeur et le restant, le change (la monnaie en version originale sous titrée), va à une nouvelle adresse qui t'es attribuée par ton  gestionnaire de wallet qui créé la transaction.
Cette nouvelle adresse est dans ton wallet même si tu ne la voix pas.

 

Merci pour l'effort mais je n'ai toujours rien compris. Si j'ai vingt btc, je ne vois pas ce qui m'empêche d'en payer 10...
Ou alors, si j'ai au total 20 btc si je veux payer un truc 5 btc, c'est l'intégralité de mes 20btc qui partent et 15 qui finissent par revenir?? C'est ça? ça me parait tellement stupide et dangereux comme système que j'ai du mal à y croire.
member
Activity: 68
Merit: 10
January 03, 2014, 11:17:41 AM
#17
Merci, en passant. C'est une notion intéressante.
newbie
Activity: 47
Merit: 0
January 03, 2014, 11:05:33 AM
#16
Je vais tenter une explication, ça me permettra de vérifier si j'ai bien compris :

Quand tu as un billet de 20€ et que tu veux te payer un machin à 10€ tu peux pas couper ton billet en deux pour en garder une moitié.
Les BTC c'est presque pareil, il n'y a pas de billets de pièces, il y a des transactions.
Tu ne possède pas 20BTC, il y a juste une inscription quelque part qui dit que tu as reçu 20BTC, c'est une 'transaction'.
Quand tu paye en BTC tu utilise une des transactions dont ton adresse est destinataire.
Comme pour le billet de 20€ on ne peut pas utiliser la moité d'une transaction.

Pour payer tes 10BTC, une transaction est crée qui part de la précédente avec ses 20BTC, et dont 10BTC vont à ton vendeur et le restant, le change (la monnaie en version originale sous titrée), va à une nouvelle adresse qui t'es attribuée par ton  gestionnaire de wallet qui créé la transaction.
Cette nouvelle adresse est dans ton wallet même si tu ne la voix pas.

 
legendary
Activity: 3209
Merit: 1187
newbie
Activity: 47
Merit: 0
legendary
Activity: 3209
Merit: 1187
January 03, 2014, 09:56:05 AM
#13
C'est quoi le "change"?
legendary
Activity: 1512
Merit: 1012
Still wild and free
January 03, 2014, 07:56:50 AM
#12
Les blocks du testnets sont encours de chargement  Roll Eyes

Mais le système de change vers une nouvelle adresse me pose un soucis:

Quand je fais un paiement depuis mon adresse A vers une adresse B, le change m'est retourné vers une adresse C, nouvelle adresse, invisible mais présente dans le wallet.
(j'ai remarqué que si j'ajoute adresse public C dans le carnet d'adresse de bitcoin-qt, elle apparait dans l'onglet recevoir)

Si j'ai, ailleurs, sur une autre machine, un autre wallet dans lequel j'avais importé mon adresse A, le change envoyé vers C n'y apparait plus  Undecided

Si je souhaite pouvoir gérer mes BTC depuis deux machines/applications différentes, à chaque payement fait depuis l'un je devrais récupérer puis importer l'adresse de change sur l'autre.

Il n'y a pas une option pour forcer le change sur l'adresse de départ plutôt que sur une nouvelle adresse ?
(je suis conscient des impacts sur la traçabilité)



Pas avec bitcoin-qt. Les addresses de changes sont crées en avance (100 par défaut), donc si tu viens juste de copier le wallet d'une machine à l'autre, tu peux faire 100 transactions avant de "perdre" un montant associé à une addresse C_101 qui n'existe pas sur l'autre machine. La synchro de wallet bitcoin-qt entre deux machines est très dangereuse pour cette raison... Il vaut mieux avoir deux wallets séparés, ou un seul et se connecter en ssh pour s'en servir par exemple...
Si pour toi cet aspect "wallet partagé" est vraiment important, essaye un software qui utilise un wallet déterministe (électrum, multibit par exemple).
newbie
Activity: 47
Merit: 0
January 03, 2014, 07:36:09 AM
#11
Les blocks du testnets sont encours de chargement  Roll Eyes

Mais le système de change vers une nouvelle adresse me pose un soucis:

Quand je fais un paiement depuis mon adresse A vers une adresse B, le change m'est retourné vers une adresse C, nouvelle adresse, invisible mais présente dans le wallet.
(j'ai remarqué que si j'ajoute adresse public C dans le carnet d'adresse de bitcoin-qt, elle apparait dans l'onglet recevoir)

Si j'ai, ailleurs, sur une autre machine, un autre wallet dans lequel j'avais importé mon adresse A, le change envoyé vers C n'y apparait plus  Undecided

Si je souhaite pouvoir gérer mes BTC depuis deux machines/applications différentes, à chaque payement fait depuis l'un je devrais récupérer puis importer l'adresse de change sur l'autre.

Il n'y a pas une option pour forcer le change sur l'adresse de départ plutôt que sur une nouvelle adresse ?
(je suis conscient des impacts sur la traçabilité)

legendary
Activity: 1512
Merit: 1012
Still wild and free
January 03, 2014, 07:11:20 AM
#10
(Pour la petite histoire le miner a remboursé cette addresse de 200BTC,
LE miner ?
Je croyais que miner "solo" ne rapportait plus rien depuis longtemps et que le plus rentable est de passer par un pool ?
Effectivement pas un individu, c'était une façon de parler, là il s'agissait de la compagnie chinoise ASICMiner.

D'autres ont été moins chanceux et n'ont jamais vu de remboursement, et même si c'est la plupart du temps sur des montants plus petits, l'erreur ne pardonne pas !
Je +1 pour ne PAS jouer avec ça. Ou alors sur testnet, où l'on peut se familiariser aussi bien que sur le mainnet...

C'est bien parce que je cherche à me familiariser que je tente de comprendre le fonctionnement de base.
Je reconnais que j'ai tendance à commencer par l'autre bout, mais je pose les questions AVANT ça m'évite de venir demander comment récupérer des BTC perdus  Wink  
J'insiste, je te recommande chaudement le testnet, où tu pourras mettre les mains dans le camboui tranquillement. Smiley
newbie
Activity: 47
Merit: 0
January 03, 2014, 05:25:51 AM
#9
(Pour la petite histoire le miner a remboursé cette addresse de 200BTC,
LE miner ?
Je croyais que miner "solo" ne rapportait plus rien depuis longtemps et que le plus rentable est de passer par un pool ?

D'autres ont été moins chanceux et n'ont jamais vu de remboursement, et même si c'est la plupart du temps sur des montants plus petits, l'erreur ne pardonne pas !
Je +1 pour ne PAS jouer avec ça. Ou alors sur testnet, où l'on peut se familiariser aussi bien que sur le mainnet...

C'est bien parce que je cherche à me familiariser que je tente de comprendre le fonctionnement de base.
Je reconnais que j'ai tendance à commencer par l'autre bout, mais je pose les questions AVANT ça m'évite de venir demander comment récupérer des BTC perdus  Wink  
newbie
Activity: 47
Merit: 0
January 03, 2014, 05:17:20 AM
#8
Tu oublies la notion de Change adress

Et voila plus d'info sur les Raw transaction

Je comprends, merci pour l'info
legendary
Activity: 1512
Merit: 1012
Still wild and free
January 02, 2014, 09:42:39 PM
#7
Dois je en conclure que l'interface graphique ajoute automatiquement la partie  "z*BTC pour adresse b" pour renvoyer le reste de la transaction a son propriétaire ?
C'est exactement ça. Et bitcoin-qt le fais sur une addresse différente à chaque fois, pour "brouiller les pistes".
legendary
Activity: 1512
Merit: 1012
Still wild and free
January 02, 2014, 09:40:30 PM
#6
Je ne peux pas t'expliquer ça en détail, je ne suis pas expert, mais ça ne fonctionne pas comme ça. Ce serait scandaleux si tous les BTC non utilisés partaient en frais de transaction.


Voilà un bel exemple:
https://blockchain.info/tx/4ed20e0768124bc67dc684d57941be1482ccdaa45dadb64be12afba8c8554537
200BTC perdus précisément à cause de cette erreur.

(Pour la petite histoire le miner a remboursé cette addresse de 200BTC, puisque c'est eux qui les avaient touchés en minant le block).

D'autres ont été moins chanceux et n'ont jamais vu de remboursement, et même si c'est la plupart du temps sur des montants plus petits, l'erreur ne pardonne pas !
Je +1 pour ne PAS jouer avec ça. Ou alors sur testnet, où l'on peut se familiariser aussi bien que sur le mainnet...
sr. member
Activity: 476
Merit: 250
January 02, 2014, 08:57:14 PM
#5
Commence par les base avant de vouloir créer une transaction manuelle.
Ce genre de question montre bien que ce n'est pas encore le cas.
Quote
Donc si j'ai une arrivée de 15BTC (par exemple) sur une adresse, que je crée une nouvelle transaction de 5BTC vers une autre adresse, je perds 10 BTC ?

Tu oublies la notion de Change adress

Et voila plus d'info sur les Raw transaction
member
Activity: 68
Merit: 10
January 02, 2014, 06:04:20 PM
#4
Ah autant pour moi, je ne peux pas t'aider alors.

J'espère que tu auras ta réponse rapidement.
newbie
Activity: 47
Merit: 0
January 02, 2014, 05:59:15 PM
#3
Oui mais la je parle de transactions manuelles, je tente de refaire à la main ce que fait l'interface graphique.

Je suis assez sur de ce que j'ai lu: la différence entre le montant de départ et le total des destinataires part en frais de transaction.

J'ai fouillé un peu au hasard des transactions sur blokchain.info, elles sont quasiment toutes sous la forme

x*BTC -> y*BTC pour adresse a + z*BTC pour adresse b,avec x=y+z

Dois je en conclure que l'interface graphique ajoute automatiquement la partie  "z*BTC pour adresse b" pour renvoyer le reste de la transaction a son propriétaire ?
member
Activity: 68
Merit: 10
January 02, 2014, 05:31:32 PM
#2
Bonjour,

Par curiosité je m’intéresse à la création manuelle de transaction via la console de bitcoin-qt.
(commandes listunspent/creatrawtransaction/signrawtransaction)

Si je comprends bien le principe, on prend la sortie d'une précédente transaction non dépensée et on indique une liste d'adresses/montant destination.

Si je comprends toujours le montant non utilisé de la précédente transaction par en frais transaction.

Donc si j'ai une arrivée de 15BTC (par exemple) sur une adresse, que je crée une nouvelle transaction de 5BTC vers une autre adresse, je perds 10 BTC ?

Je ne peux pas t'expliquer ça en détail, je ne suis pas expert, mais ça ne fonctionne pas comme ça. Ce serait scandaleux si tous les BTC non utilisés partaient en frais de transaction.
newbie
Activity: 47
Merit: 0
January 02, 2014, 04:01:16 PM
#1
Bonjour,

Par curiosité je m’intéresse à la création manuelle de transaction via la console de bitcoin-qt.
(commandes listunspent/creatrawtransaction/signrawtransaction)

Si je comprends bien le principe, on prend la sortie d'une précédente transaction non dépensée et on indique une liste d'adresses/montant destination.

Si je comprends toujours le montant non utilisé de la précédente transaction par en frais transaction.

Donc si j'ai une arrivée de 15BTC (par exemple) sur une adresse, que je crée une nouvelle transaction de 5BTC vers une autre adresse, je perds 10 BTC ?
Jump to: