Bitcoin Forum
November 09, 2024, 09:28:01 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: UTXO, je ne comprends pas tout  (Read 392 times)
ononeth (OP)
Newbie
*
Offline Offline

Activity: 12
Merit: 0


View Profile
July 18, 2018, 08:37:23 PM
 #1

Bonsoir à tous,

J'ai commencé à étudier sérieusement la technologie blockchain en prenant le bitcoin comme exemple. Je ne comprends pas tout au concept d'UTXO. Je lis qu'une transaction c'est un ou des UTXO(s) en entrée et un ou deux UTXO(s) en sortie. On lit même que les UTXOs de sortie sont créées pour le besoin de la transaction... Je lis aussi que si j'ai un 1 BTC sur mon wallet et que ce BTC est dans un UTXO, je ne peux envoyer 0.5 BTC qu'en créant 2 UTXO de sortie => un de 0.5 pour le destinataire et un de 0.5 pour moi.

Jusque là, j'ai juste ?

Alors dans ce cas lorsque je prends un exemple, genre https://www.[Suspicious link removed]/fr/btc/tx/dac7865652594baca089288a4c7e30fcd46211394272161d45b2d0258563f6db , je constate que l'UTXO de sortie existait déjà avant la transaction, donc première incompréhension. Ensuite je constate que sur les 3 UTXOs d'entrée, seul le premier n'est pas entièrement utilisé. Pourtant il n'y a pas de création d'un nouvel UTXO pour stocker le reste du  premier, deuxième incompréhension. Dernière incompréhension, si à chaque transaction les bitcoins passent sur de nouveux UTXOs, il ne devrait y avoir qu'une entrée et une sortie par UTXO, hors dans mon exemple ils ont tous plusieurs transactions...

Bref 3 incompréhensions donc j'ai probablement rien compris. Un éclaircissement please ? Smiley
morkaii
Newbie
*
Offline Offline

Activity: 10
Merit: 4


View Profile
July 31, 2018, 05:03:42 PM
Merited by Halab (4)
 #2

Un UTXO (Unspent Transaction Output) c'est ce que tu as reçu sur une adresse et que tu peux dépenser si tu as la clé privée. Ils sont indivisibles.

>Je lis aussi que si j'ai un 1 BTC sur mon wallet et que ce BTC est dans un UTXO

Ca signifie que l'ensemble de des UTXO correspondant à ton wallet est de 1 BTC.


>je ne peux envoyer 0.5 BTC qu'en créant 2 UTXO de sortie => un de 0.5 pour le destinataire et un de 0.5 pour moi.

Puisque les UTXO sont indivisibles, tu dois les additionner pour arriver au montant souhaité et si l'addition dépasse le montant que tu souhaites envoyer alors tu dois t'envoyer le reliquat à toi même. (plus une ligne pour les frais hein  Wink )

>je constate que l'UTXO de sortie existait déjà avant la transaction

J'ai pas reussi à lire le lien  https://www.[Suspicious link removed]/fr/btc/tx/dac7865652594baca089288a4c7e30fcd46211394272161d45b2d0258563f6db
Mais es-tu sûr de parler d'UTXO et pas d'adresses?
147pANUb7HZ5Faziw1dRc8sfmEBE87a8X1
1CwU2c8uuXwq3m9EJx6A3eaRExnJMTV8yR
1L43mD6FzgmRQm2JfLnSFnsMLrB9jAp8XN
13q2GR2cQZMFtmdYcCwZaSrA4hsvypymvB
sont des adresses. Si j'ai répondu a côté désolé.

Pour manipuler les UTXO utilises bitcoin-cli.

Un tuto sympa qui m'aide bien.
https://github.com/ChristopherA/Learning-Bitcoin-from-the-Command-Line
Et l'incontournable Mastering Bitcoin :
https://github.com/bitcoinbook/bitcoinbook.
etc.etc.
Member
**
Offline Offline

Activity: 229
Merit: 71


View Profile WWW
August 03, 2018, 06:32:50 AM
Merited by Halab (1)
 #3

UTXOs = Unspent Transaction Outputs = BTC non dépensés. Les UTXOs sont des adresses Bitcoin.

Je lis qu'une transaction c'est un ou des UTXO(s) en entrée et un ou deux UTXO(s) en sortie.
Ce n'est pas comme ça qu'il faut dire !  En entrée ça s'appelle un INPUT. Et cet INPUT c'est obligatoirement la sortie UTXOs dépensée d'une transaction précédente. Il faudrait dire "...une transaction c'est un ou des UTXO(s) d'une autre transaction en entrée ", mais je ne suis pas trop pour. Ça sème la pagaille, il vaut mieux parler d'INPUT.

Quote
.. si j'ai un 1 BTC sur mon wallet et que ce BTC est dans un UTXO, je ne peux envoyer 0.5 BTC qu'en créant 2 UTXO de sortie => un de 0.5 pour le destinataire et un de 0.5 pour moi.
Syntaxe correcte = "...si j'ai un 1 BTC sur mon wallet et que ce BTC est dans un INPUT, je ne peux envoyer..."

Quote
Jusque là, j'ai juste ?
Oui...  Pour les montants, il faut que INPUT = UTXOs + Fees.



Quote
Alors dans ce cas lorsque je prends un exemple, genre https://www.blockchain.com/btc/tx/dac7865652594baca089288a4c7e30fcd46211394272161d45b2d0258563f6db , je constate que l'UTXO de sortie existait déjà avant la transaction, donc première incompréhension.

l'UTXO en sortie c'est une adresse de wallet (13q2...mvB) qui existait déjà avant la transaction. En INPUT il y a 3 adresses, et en UTXO il n'y en a qu'une.

Quote
Ensuite je constate que sur les 3 UTXOs d'entrée, seul le premier n'est pas entièrement utilisé. Pourtant il n'y a pas de création d'un nouvel UTXO pour stocker le reste du  premier, deuxième incompréhension.

Le premier c'est 147pA...a8X1. Cette adresse a déjà fait l'objet de 413 transactions ( voir https://www.blockchain.com/btc/address/147pANUb7HZ5Faziw1dRc8sfmEBE87a8X1 ). Difficile de voir quel était sont contenu au moment de la transaction en question le 18/07/2018. Mais comme il n'y a pas eu de monnaie rendue, il était probablement de 0.00310604 BTC, c'est-à-dire qu'il a été complètement vidé.

Par exemple on voit mieux pour le 3ème portefeuille ici : https://www.blockchain.com/btc/address/1L43mD6FzgmRQm2JfLnSFnsMLrB9jAp8XN : il a été rempli puis vidé en 2 transactions du même montant. Donc il n'y a pas eu de rendu de monnaie au moment du vidage. Donc il n'y a qu'une adresse UTXO.


Quote
Dernière incompréhension, si à chaque transaction les bitcoins passent sur de nouveux UTXOs, il ne devrait y avoir qu'une entrée et une sortie par UTXO, hors dans mon exemple ils ont tous plusieurs transactions...
Les UTOXs sont des adresses qui peuvent être nouvelles, mais aussi déjà utilisées comme expliqué plus haut.


morkaii
Newbie
*
Offline Offline

Activity: 10
Merit: 4


View Profile
August 07, 2018, 10:55:08 PM
 #4

UTXOs = Unspent Transaction Outputs = BTC non dépensés. Les UTXOs sont des adresses Bitcoin.
Pour moi, nous effectuons des transactions (tx) sur les wallets grace à des adresses bitcoin dérivées d'une clé publique. l'adresse est un paramètre d'une transaction et chacunes disposent d'un identifiant (txid) qui permet de les différencier. Si la transaction est reçue et non dépensée nous parlons d'UTXOs.
Si vous disposez d'un noeud bitcoin vous pouvez utiliser l'utilitaire bitcoin-cli pour explorer les transactions.
Par exemple:
$ bitcoin-cli listtransactions
[
    {
    "address": "n2eMqTT929pb1RDNuqEnxdaLau1rxy3efi",
    "category": "send",
     "amount": -0.10000000,
    ...
    "txid": "13ee3f480939fa1b1aa6c50e3d2597a6c922ac0174eeb48e50050895454c00a6",
    ...

Pour obtenir specifiquement les UTXOs il faut utiliser la commande:
$ bitcoin-cli listunspent
[
    {
     "txid": "88e5d5f3077517d76f5a61491fa52e6aaae078c52bc62d849f09507ef0cfada2",
     ...
     "address": "n4cqjJE6fqcmeWpftygwPoKMMDva6BpyHf",
     ...
     "amount": 0.47000000,
     ...
    "spendable": true,
     ...
     }

C'est le parametre "spendable": true qui caracterise l'UTXO.
Il peut y avoir plusieurs UTXOs avec une même adresse.


Quote
Alors dans ce cas lorsque je prends un exemple, genre https://www.blockchain.com/btc/tx/dac7865652594baca089288a4c7e30fcd46211394272161d45b2d0258563f6db , je constate que l'UTXO de sortie existait déjà avant la transaction, donc première incompréhension.

l'UTXO en sortie c'est une adresse de wallet (13q2...mvB) qui existait déjà avant la transaction. En INPUT il y a 3 adresses, et en UTXO il n'y en a qu'une.

Quote

Ensuite je constate que sur les 3 UTXOs d'entrée, seul le premier n'est pas entièrement utilisé. Pourtant il n'y a pas de création d'un nouvel UTXO pour stocker le reste du  premier, deuxième incompréhension.

Le premier c'est 147pA...a8X1. Cette adresse a déjà fait l'objet de 413 transactions ( voir https://www.blockchain.com/btc/address/147pANUb7HZ5Faziw1dRc8sfmEBE87a8X1 ). Difficile de voir quel était sont contenu au moment de la transaction en question le 18/07/2018. Mais comme il n'y a pas eu de monnaie rendue, il était probablement de 0.00310604 BTC, c'est-à-dire qu'il a été complètement vidé.

Par exemple on voit mieux pour le 3ème portefeuille ici : https://www.blockchain.com/btc/address/1L43mD6FzgmRQm2JfLnSFnsMLrB9jAp8XN : il a été rempli puis vidé en 2 transactions du même montant. Donc il n'y a pas eu de rendu de monnaie au moment du vidage. Donc il n'y a qu'une adresse UTXO.


Quote
Dernière incompréhension, si à chaque transaction les bitcoins passent sur de nouveux UTXOs, il ne devrait y avoir qu'une entrée et une sortie par UTXO, hors dans mon exemple ils ont tous plusieurs transactions...
Les UTOXs sont des adresses qui peuvent être nouvelles, mais aussi déjà utilisées comme expliqué plus haut.



En présupposant que les UTXOs et les adresses bitcoins étaient la même choses vous vous embrouillez. Je doute qu'un explorateur de blockchain vous aide à comprendre les UTXOs. Je vous encourage a installer un noeud tesnet (c'est très léger) ainsi que l'utilitaire bitcoin-cli, et a effectuer des transactions bruts. Vous verrez qu'il n'y rien de compliqué Wink. Bon courage Smiley
https://github.com/ChristopherA/Learning-Bitcoin-from-the-Command-Line
Saint-loup
Legendary
*
Offline Offline

Activity: 2786
Merit: 2428



View Profile
October 24, 2018, 10:50:32 AM
 #5

En présupposant que les UTXOs et les adresses bitcoins étaient la même choses vous vous embrouillez. Je doute qu'un explorateur de blockchain vous aide à comprendre les UTXOs. Je vous encourage a installer un noeud tesnet (c'est très léger) ainsi que l'utilitaire bitcoin-cli, et a effectuer des transactions bruts. Vous verrez qu'il n'y rien de compliqué Wink. Bon courage Smiley
https://github.com/ChristopherA/Learning-Bitcoin-from-the-Command-Line
Si on ne veut pas installer un node cet exemple/tuto montre aussi très bien comment ça se passe:
https://bitcoin.org/en/developer-examples#transactions

Sinon cet article explique assez bien les choses je trouve.
https://bitcoin.org/en/developer-guide#transactions

██
██
██
██
██
██
██
██
██
██
██
██
██
... LIVECASINO.io    Play Live Games with up to 20% cashback!...██
██
██
██
██
██
██
██
██
██
██
██
██
asche
Legendary
*
Offline Offline

Activity: 1484
Merit: 1491


I forgot more than you will ever know.


View Profile
October 25, 2018, 03:37:18 PM
 #6

En présupposant que les UTXOs et les adresses bitcoins étaient la même choses vous vous embrouillez. Je doute qu'un explorateur de blockchain vous aide à comprendre les UTXOs. Je vous encourage a installer un noeud tesnet (c'est très léger) ainsi que l'utilitaire bitcoin-cli, et a effectuer des transactions bruts. Vous verrez qu'il n'y rien de compliqué Wink. Bon courage Smiley
https://github.com/ChristopherA/Learning-Bitcoin-from-the-Command-Line
Si on ne veut pas installer un node cet exemple/tuto montre aussi très bien comment ça se passe:
https://bitcoin.org/en/developer-examples#transactions

Sinon cet article explique assez bien les choses je trouve.
https://bitcoin.org/en/developer-guide#transactions

Très beau déterrage Saint Loup Smiley
Saint-loup
Legendary
*
Offline Offline

Activity: 2786
Merit: 2428



View Profile
October 26, 2018, 12:45:55 PM
 #7

C'est la section qui veut ça je pense. Le 3eme sujet est déjà au mois d'août...

██
██
██
██
██
██
██
██
██
██
██
██
██
... LIVECASINO.io    Play Live Games with up to 20% cashback!...██
██
██
██
██
██
██
██
██
██
██
██
██
Pages: [1]
  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!