Homework on Bitcoin Transactions and UTXO - Questions

  1. UTXO are outputs of previous transactions and keeps track of your balance in your wallet.

  2. The transaction wouldn’t be valid and impossible.

  3. Fee = Input - output, and automatically calculated by your wallet.

  4. Using more than 1 wallet

1 Like

You can use multiple UTXOs as inputs to a new tx. If you don’t have enough your transaction would be declined.

You can use one wallet with multiple addresses.

1 Like

but your public address exist out of numbers and letters, that doesn’t tell the identity that is behind that adress and I thought that your public address is always known, but it is your private key that you have to keep save on a hardware ledger that you can connect to any platform without giving your private keys.
I understand that on a platform you don’t posses the private key and I think than you are right that you can create every time a new address to receive a transaction.

What are unspent transaction outputs (UTXO)?
that are transactions that came to your private key and who are not spend yet.
What would happen if you don’t have any single UTXO that is large enough to cover for your transaction?
That transaction can simply not be processed.
How would a bitcoin wallet specify the transaction fee when creating a transaction?
TRANSACTION FEE = input - output

  1. UTXO are the amount of Bitcoin your wallet has to send to other addresses.
  2. If you didn’t have enough in a single UTXO, you would just add from another UTXO.
  3. Bitcoin fees are the output - the input.
  4. You could split your coins into several different addresses making it difficult for anyone to associate the transactions to you.
1 Like
  1. UTXOs are outputs of a transaction in the Bitcoin network with a certain amount of bitcoin to use through a wallet and belonging to a particular user.

  2. The transaction can not be signed to be broadcasted onto the network.

  3. This is calculated automatically by the network (and not the wallet) looking for the fairest of the values for both the user who wants to make the transaction and the miners who will receive the fee to reward them for securing the network with the hash power they provide to it taking into consideration the demand for transactions waiting in the mempool to be added into blocks and the space available in them.

  4. By allocating multiple inputs into one transaction and having multiple outputs as part of the same transaction too.

You can use multiple UTXOs as inputs to a new tx. If you don’t have enough your transaction would be declined.

1 Like

Ah! TRUE! Thanks a lot, Maki! :blush:

1 Like

1. Describe what Unspent Transaction Outputs (UTXO) are.

UTXO (Unspent Transaction Outputs) are the Unspent Outputs (balance) that’s left inside your wallet. Received money that you haven’t spent yet.

2. What would happen if you don’t have any single UTXO that is large enough to cover for your transaction?

The transactions wouldn’t be valid. (Rejected)

3. How would a bitcoin wallet specify the transaction fee when creating a transaction?

The bitcoin wallet would check the blockchain and the fee will be calculated based on the difference between all inputs and outputs.

4. How could you use the notion of transaction inputs and outputs to increase privacy in your transaction?

I could use a or several various addresses for each receiving transaction.

You can use multiple UTXOs as inputs to a new tx. If you don’t have enough your transaction would be declined.

  1. Describe what Unspent Transaction Outputs (UTXO) are.

UTXOs are non-spent input transactions which are available in my wallet i.e. my bitcoin address to send.

  1. What would happen if you don’t have any single UTXO that is large enough to cover for your transaction?

Before executing a transaction, my wallet, which is connected to a bitcoin node, checks if there are enough bitcoins of all UTXOs available for the transaction. If not, the transaction will not be executed.

  1. How would a bitcoin wallet specify the transaction fee when creating a transaction?

The fee is automatically subtracted from the input minus the output when sent from the wallet.

  1. How could you use the notion of transaction inputs and outputs to increase privacy in your transaction?

If there are multiple output address it complicates the ability to see where which credit was sent.

1 Like
  1. UTXO is the balance left in your wallet

  2. the nodes would reject your transaction

  3. the BTC wallet would check the blockchain to figure it out. For example taking a recent fee from a previous block or a transaction fee chosen by the miner who mined the block.

  4. Anonimity is used for both input and output transactions in public spaces. This could increase the privacy of a transaction if a person decided to transfer coins from one wallet to multiple wallets.

1 Like

According to the Investopedia, UTXO is “the amount of digital currency remaining after a cryptocurrency transaction is executed”. UTXO stands for Unspent Transaction Output (Tx is an abbreviation for the word transaction commonly used in telecommunication parlance). Basically speaking, UTXO is a model to represent transactions and is the model of choice for Bitcoin. There are other models to represent transactions that are not UTXO, for instance Ethereum uses an account-based system instead of UTXO.

UTXO’s are represented with diagrams such as this

(Source)

In these UTXO diagrams, each box represents one transaction. The arrows arriving at the left are inputs and the arrows departing from the right are outputs. The UTXO model guarantees that the sum of all input transactions (in the case of Bitcoin, as measured in BTC) is equal to the sum of all output transactions. Note however that those outputs can be money sent to other wallets but it can also be the network fees.

UTXO has (just some) analogies to how cash works when doing shopping at your grocery store. There are only a limited number of coin and note denominations, for example here in the Eurozone we have 1 cent, 2 cent, 5 cent, 10 cent, 50 cent, 1 euro, 2 euro, 5 euro, 10 euro, 20 euro, 50 euro, 100 euro, 200 euro and 500 euro. Every time you buy at the grocery store you have to figure out what particular distribution of these notes to use. You are limited by the amount of cash in your wallet, but you are also limited by these denominations. If you want to buy a 1.55€ pack of bananas, you can use 1€+50 cents + 5 cents OR 1€ + 20 cents + 20 cents + 10 cents + 5 cents OR any other possible combination. If you don’t have the exact combination of smaller coins, you will then need to resort to paying a bigger amount and getting change back from the grocery store, for example you pay with a 2€ note and get 45 cents back (20 cents + 20 cents + 5 cents) or any other possible combination that the coins in your coin purse allow. In the case of UTXO it works in a similar way because if you want to send someone a number of bitcoins you can only do that based on the bitcoin fractions you got in. The analogy of UTXO to cash is not entirely true: this article from the Glassnode Academy explains well the two main differences: a) Unlike cash, with UTXO you can have arbitrary denominations (a $6.25 coin); and b) each transaction involves a fee.

One could now be angry at the inventor of UTXO and say: wait a minute, why use this convoluted system instead of a simple account-based system? Wouldn’t it just be easier to have accounts with a balance on it and then allow any arbitrary number of coins to be sent from A to B? Understanding this requires digging a little deeper into computer science, but let’s try to do it with the help of this other article. First thing first, you can think about UTXO and account-based systems as different physical representations of the same logical information. Just like you can store your photos on your computer disk or on your USB stick but your pictures will look just the same when you open them, you can represent accounts and balances in either UTXO or account-based system and both systems will eventually represent the same logical money flows and accounts. Just like the computer disk and the USB stick have advantages and disadvantages (one has a smaller capacity, but is easily portable, the other one has a larger capacity but is more cumbersome to install), the UTXO and account-based systems have their pros and cons too. These differences are related to things like privacy, scalability and smart contract capabilities.

You would not be able to to the transaction at all because the protocol will decline it.

You can use multiple UTXOs as inputs to a new tx. If you don’t have enough your transaction would be declined.

(Correction courtesy of @Maki )

Bitcoin uses a bidding system to ensure that the users that are willing to pay more have their transactions processed before other transactions happen. This ensures that the network will not be congested. Fees are coded in UTXO by ensuring that the sum of all input transactions equals the sum of all input transactions plus the fee.

By obfuscating who the intended recipient of the transaction is. Since paying money A->B may involve sending change back, it can be sometimes unclear your real intention. You can also create a chain of fake wallets A–>X --> Y --> Z --> B to go from A to B and since accounts are anonymous it will be hard to interpret your real intent. Also, since there can be many outputs in each transaction, you can also make many of those outputs to actually belong to the same person. Nobody really knows except the person that owns the accounts. That brings a certain degree of privacy, although it is not perfect because all the transactions are still auditable in sites like Blockhain Explorer. In the real workd, if you are trying to steal money from an account or an exchange or do something illegal with your bitcoin, you will probably eventually be caught by the police, although in some cases this has not happened. It is kind of hard to get away with a major theft or illegal trade, but there’s an element of luck involved too.

1 Like
  1. Unspent input transactions

  2. The transaction will be rejected and cancelled.

  3. The blockchain will be queried for the fee => Inputs - outputs

  4. You can use constantly different addresses for transactions

1 Like

You can use multiple UTXOs as inputs to a new tx. If you don’t have enough your transaction would be declined.

2 Likes

You are absolutely right. I will change my response :+1:

1 Like
  1. UTXO are the amounts of bitcoin received to your wallet.
  2. If you don’t have any single UTXO that is large enough to cover your transaction, it will not go through or be verified.
  3. The transaction fee is the calculated difference between the input and output.
  4. To increase privacy, one can use multiple addresses.

You can use multiple UTXOs as inputs to a new tx. If you don’t have enough your transaction would be declined.

Thank you for correcting me!

  1. Unspent Transaction Output. The sum of all previous inputs is equal to the unspent transaction output.
  2. The transaction will be crosschecked by the network and denied.
  3. Transaction fee is equal to the Sum of all spent transactions/newly created inputs minus the previous UTXO.
  4. The real amount spent is unclear because the output goes to multiple addresses.
1 Like