Homework on Bitcoin Transactions and UTXO - Questions

1- UTXOs are essentially input (such as amounts of Bitcoin) that lie around in your digital wallet (unspent) until you decide to send these amounts to someone else, or purchase something with them. Once you’ve spent a UTXO, it becomes input for the person you’ve sent it to.

2- Well, since your wallet sends queries to the blockchain to ask whether or not there are enough funds to carry out a particular transaction, if the blockchain says there are not enough UTXOs for the transaction, it won’t be able to go through.

3- Well, the fee is always (Input - Output), as proven when I went to the bitcoin explorer on blockchain.com to do the calculation! However, some wallets allow you to choose the fee yourself. When the wallet constructs the fees, it does so in a way to get your transaction into the blockchain as quickly as possible.

4- Since our wallets add all of the UTXOs to show us our balance, not necessarily breaking down each transaction (and multiple amounts could have been sent by multiple people), how could we tell who is sending what?

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

Is a transaction received by but not yet expended.

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

*The wallet figure it out if you have enough UTXOs to be expended.

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

The fees are calculated by the wallet.

  1. How could you use the notion of transaction inputs and outputs to increase privacy in your transaction?
    You can use many Inputs ans Outputs . And using many and different addresses.
1 Like
  1. UTXO’s are currency available with a wallett for spending as inputs on future transactions.
  2. If a UTXO is not large enough to cover a transaction thtet transaction is declined by the wallet.
  3. A BTC wallet will querie the blockchain to determine a suitable fee based on averages relative to the size of the transaction being created.
  4. Privacy could be increased by using multiple outputs on a transaction
1 Like
  1. Describe what Unspent Transaction Outputs (UTXO) are. An arbitrary number of bitcoin. A wallet keeps track of the UTXOs sent and received from that wallet.

  2. What would happen if you don’t have any single UTXO that is large enough to cover for your transaction? The transaction will be ignored/rejected by the network.

  3. How would a bitcoin wallet specify the transaction fee when creating a transaction? It checks the blockchain activity and automatically provides a recommendation.

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

Send 2 UTXO of 1 BTC each?

1.Wallets will ask the blockchain which UTXOs can its private key can spend and give a balance. UTXOs 1.Are basically transactions. A transaction can have any number of inputs and outputs, must have at least one input and one output. inputs are where the money comes from outputs are where the money’s going.

2.Wallets adds all your UTXOs together. If you had enough UTXOs when they are all collectively added together the transaction would be processed. Otherwise the transaction would be rejected

3.The bitcoin wallet specifies the transaction fee when creating a transaction by substracting the input from the output.

    1. Privacy could be increased by using multiple outputs on the same transaction.
1 Like
  1. Describe UTXOs: They are whole or fractional outputs from a previous transaction that are sent to me as inputs. They then now become my BTC balance or how many BTCs my Private Key / I can spend. When I send BTC to one or several people including myself, they become outputs, all of which transactions my wallet closely tracks.

  2. What would happen if you don’t have any single UTXO that is large enough to cover for your transaction?
    If no single UTXO is large enough to cover transaction, my wallet will add a second or third UTXO to the equation until its sum is large enough to cover transaction, e.g. two inputs of 0.5 BTC + 0.4 BTC will cover a transaction that requires sending 0.8 BTC + TX Fee. But if the sum of UTXO input(s) is not enough, then transaction will be rejected as if never created or constructed.

  3. How would a bitcoin wallet specify the transaction fee when creating a transaction?
    BTC Wallet will calculate the fee as implied in transaction, which amounts can vary according to preferred speed of transaction, allowing user to specify fee of their choice. (Formula: Input = Output + TX Fee)

  4. How could you use the notion of transaction inputs and outputs to increase privacy in your transaction?
    Generating & using a different address for every transaction, whether receiving or sending, will ensure anonymity so that transactions won’t be easily linked to you.

1 Like
  1. Pieces if bitcoin that you received from other transactions, either from payments to you , or ‘change’ from your only outgoing transactions
  2. If you have more UTXOs that could be combined together so that they add up to enough for your transaction then they are used.
  3. It goes by the sizes in bytes if the trx. The bigger the number if inputs/utxosthen the bigger the size of the trx and then the bigger the fee
    4.Generate a new wallet and move your money to there for your next transactions
1 Like
  1. All inputs have to be spent because inputs equal outputs and this happens after a successful transaction.

  2. If you do not have inputs there won’t be a transactions therefore no outputs.

  3. It will depends on two things: the fees alreadys kept for previous transactions or the volume of the current transactions and always the highest speed will previleged with cheapest fee. The formula will be: Input-output: fee

  4. The will be seen in private key on a private blockchain.

Yes Eric. Having more addresses will increase your privacy. Sending a transaction with a lot of outputs, will confuse the person that is tracking you. They would no longer be sure which addresses you own and which you don’t. They would somehow need to connect your identity to all of that addresses again. While you can, in a way, use bitcoin anonymously, all of your transactions will still be visible for everyone to see. My advice is that you don’t use bitcoin to try and be anonymous. :slight_smile:

1 Like

There can always be a case in which we could combine multiple UTXO’s to construct a large enough transaction needed. If that is not possible, then our transaction would be invalid.

1 Like

Additional information (not in the course):

While this is how we specify/calculate the fee that was given to a miner, the wallet still needs to look a the previous or current transactions that are happening on the network. This way the wallet would know how much fee it needs to set aside for the miner. The goal for the wallet is to give the least amount of fee to the miners, that would still have their transaction confirmed in a very short amount of time. The unit of measurement we use to set the fees is called “satoshi per byte”.

Example of a transaction with: 25 satoshi per byte

1 Like

Correct. Once the miner decides to set the fee (satoshi per byte), we can calculate it. total input - total output = fees. :smiley:

2 Likes

Exactly. You are correct about this. :smiley:

1 Like

1 - UTXOs are the entries in the blockchain ledger that express the available amounts, because not spent yet, a determined private key has.

2 - If there is a single utxo that matches the output, the transaction goes through. If not, other utxo if available will be added and included in the transaction, and the “change” if existent will be sent back as a new utxo. And if all the utxo added together do not equal the output+fees, then the transaction is declined.

3 - Fees = inputs - outputs. Fees are usually not clearly specified but implicit as per this formula, but can be if your wallet has this feature.

4 -Your receiving address that was used is your utxo for a future transaction. If you keep using the same receiving address it can be kind of determined how much is available in your private key. So, using different addresses would make this tracing back attempt harder.

1 Like
  • UTXO are the balance linked to the private key which the wallet keeps track of.
  • It would check all UTXO linked to the private key of the wallet to try and create a TX large enough using multiple UTXO’s. If there are insufficient UTXO’s the transaction is invalid.
  • TX fee is specified by a wallet as the difference from input to output. Eg I send 1.1BTC and 1 BTC arrives at the address I sent too. TX fee = 0.1 Just an example.
  • It is very hard looking from the outside to tell who controls which output, and indeed an output can belong to a sender providing an input
1 Like
  1. Describe what Unspent Transaction Outputs (UTXO) are.
    UTXOs are basically what amount of coins a wallet has to spend. When a transaction is made, there is an input which is where the coins are coming from (previous UTXOs) and an output of at least one address which are the new UTXOs that will be ready to be spent in a new transaction later on.

  2. What would happen if you don’t have any single UTXO that is large enough to cover for your transaction?
    It doesn’t matter because the wallet checks the blockchain for all available UTXOs for the private key that it has control of, then the sum of those UTXOs are inputs into the transaction. As long as the sum is equal to the output plus the transaction fee, then the transaction is possible.

  3. How would a bitcoin wallet specify the transaction fee when creating a transaction?
    Many wallets check recent transactions on the blockchain and recommend a transaction fee that will get the transaction through in a “reasonable” amount of time. However I must note that now in June of 2020 there are sometimes issues with this. Either blockchain bloat is a problem, or in some rare but actual cases, some wallet algorithms used to “recommend” a transaction fee can be wildly off, either causing a person to overpay or for their transaction to not get picked up by the miners. Although I think in most cases, there is an option to manually set the transaction fee.

  4. How could you use the notion of transaction inputs and outputs to increase privacy in your transaction?
    The number of inputs and outputs can both vary, and it’s possible to not know to whom an address belongs, so if the output is divided up into many addresses, then it can be very difficult if not impossible to ever be certain how many coins in total were sent to a specific recipient (who could have more than one address) and who those recipients are.

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

UTXO’s is money that your wallet determines to be available to you after a curry of the block chain.

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

If you don’t have a single UTXO you will not be able to complete your transaction.

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

The wallet will calculate the fee. The fee is basically the difference between the input and the output. He can also propose a fee based off of previous fees paid in the block chain.

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

All transactions can be viewed on a block chain. When you see a transaction on the block chain explorer, you see private keys in the inputs and outputs. There is no way you can determine the identity of those conducting a specific transaction by looking at the keys.

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

UTXO are the inputs or unspent transactions which you can send or transact with.

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

The wallet would take your multiple UTXOs and use the sum of these as inputs to cover your transaction, fee and the remainder that can then to be sent back to yourself.

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

There are 2 options for determining the transaction fee based on the type of wallet being used. A) the wallet determines a fee based on current fees being offered to miners. That suggestion is based on an average fee that will allow your transaction to be accepted or processed into the blockchain in a timely enough manner.

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

One way to increase privacy in your transaction would be to use multiple public keys to send transactions and have the output transaction go to yet another public key address wither than the one from which it was sent.

1 Like

1.They are Inputs from transactions. The total of all UTXO’s linked to your wallet are considered your balance.

  1. A combination of other smaller UTXO’s will be used.

  2. By Minusing the Output from the Input.

  3. When new transactions are made new UTXO’s are created. You can create several outputs that are not necessarily related to the inputs making it very hard to track and understand where each UTXO’s originated including creating a new UTXO to another account you own.

1 Like