Homework on Bitcoin Transactions and UTXO - Questions

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

outputs from a previous transaction that are available and have not been spent. basically your balance.

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

It will try to add up other utxo’s untill you have enough. If not, transaction will be will not be confirmed

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

It will be deducted from the utxo’s used for the transaction.

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

by creating more output adresses

1 Like
  1. UTXOs are transactions you have received in Bitcoin that you have yet to used to “pay” someone else Bitcoin. In essence, they are the Bitcoin that you have available to spend.
  2. If you do not have a single UTXO to cover a specific transaction, your wallet will construct the transaction and combine enough UTXOs to provide at least the amount needed, and in some cases, “change” will be made for you by way of sending back to your address the remaining Bitcoin.
  3. The transaction fee needs to be specified because it needs to be covered, and when combined with the amount of Bitcoin you are sending, must equal the amount of Bitcoin which will be gathered from our UTXOs to pay for this transaction.
  4. Inputs and outputs add to privacy because they only specify addresses, but not the parties who own them and any party could own any number of addresses.
1 Like
  1. Describe what Unspent Transaction Outputs (UTXO) are.
  • UTXOs are that the money we have got from someone or anyone and laying around until we use them for transaction.
  1. What would happen if you don’t have any single UTXO that is large enough to cover for your transaction?
  • *We need to construct multiple single UTXOs until it’s large enough to cover the transaction. If the output is more than the amount of transaction we need to spend, according to the lecture, we need to send back the difference to our wallet. However, honestly, I have no idea if this is executed automatically or we have to perform this manually. This part is a little bit confusing to me because I don’t remember I have done anything when I used my hardware wallet (Ledger Nano S/X) for transactions. I really appreciate if anyone explain to me how the change (sending back to wallet) works. The way he explains sounds that we need to do it manually but practically from my experience, everything is done automatically by the wallet.
  1. How would a bitcoin wallet specify the transaction fee when creating a transaction?
  • Inputs = Outputs + Transaction fee
  1. How could you use the notion of transaction inputs and outputs to increase privacy in your transaction?
  • By sending transactions back to the same wallet using a different address, will give us a total anonymity.
1 Like
  1. UTXO’s are the amount in your account that you have not spent.

  2. you wallet will send all the UTXO’s, enough to cover the transaction and then one of the outputs will be your remaining change from the transaction that is sent back to you.

  3. It will determine which fee is appropriate in order to get the transaction onto the blockchain in a timely manner

  4. with every transaction that you make or if you receive inputs, after the transaction is complete, create a new address for the next transaction. This way you start fresh each time.

1 Like
  1. UTXOs (Unspent Transaction Outputs) are inputs of a transaction that have yet to be spent/sent somewhere else from the address they were sent to.

  2. If you do not have any single UTXO that is large enough to complete a transaction, then that single UTXO is combined with another UTXO that is used to help fulfill the transaction.

  3. A bitcoin wallet will provide you options with how fast you would like your transaction to translate onto the blockchain. Dependent upon the speed you choose, determines the transaction fee. Transaction fees are simply calculated by taking the total input less the output of a transaction.

  4. To increase the privacy of transactions, it is smart to have multiple inputs and outputs with each transaction. This increases the difficulty to determine who the addresses involved in the transaction belong to.

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

A UTXO is an output of a blockchain transaction that has not been spent yet.

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

The transaction will not happen if you don’t have sufficient UTXO available on the wallet. If you have more than one UTXO that summed makes a sufficient amount, than it will happen.

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

It will charge different amount of fees depending on how many bites the transaction uses. It will vary according to the inputs and outputs on the transaction and not on the total amount.

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

Creating more output addresses.

1 Like

Yes, everything explained in the course is done by the wallet behind the scenes. HD wallets like your Ledger use a designated path to derive change addresses when they construct a transaction described in BIP44 :slight_smile:

You would require to know this in case you would want to create raw transactions by hand.

  1. UTXO can be thought of as your balance. Its the total of all your unspent transactions that have been sent to you.

  2. You would add multiple UTXOs together to cover the output and receive the difference (minus fee) as change back to yourself

  3. It will look at the blockchain and recommend a fee that is high enough to get your TX processed

  4. You could send money to yourself via another address masking the actual amounts being spent to another person

1 Like

1. Describe what Unspent Transaction Outputs (UTXO) are.
They are the received unspent transactions from a wallet enabling it to be used as an input for future transactions.

2. What would happen if you don’t have any single UTXO that is large enough to cover for your transaction?
The wallet will sum up the UTXOs that the private key can spend. If the blockchain query verifies that the summed UTXOs in the wallet is sufficient for that transaction, the transaction will be passed for miner verification to add the transaction to the block. If the summed UTXOs are not enough, then the transaction will be invalidated.

3. How would a bitcoin wallet specify the transaction fee when creating a transaction?
Some wallets allow the sender to state the transaction fee amount though usually the formula for the Tx fee; Tx Fee= Input-Output as the total input transaction MUST equal to the output transaction + Tx fee.

4. How could you use the notion of transaction inputs and outputs to increase privacy in your transaction?
By using multiple inputs and outputs, i.e. different sending/receivng addresses. A transaction can have single input-multiple outputs, multiple inputs-single output and anywhere in between as long as the transaction has at least a single input and output.

1 Like

Yes, surely it seems as if the on and off ramps through centralized exchanges are a way for regulating authorities such as governments to tell your crypto activity via one’s funding & withdrawing activity. I understand KYC to mean . . . that process of submitting my various forms of identification to Coinbase, for instance, when I first started buying crypto. I think this is a proper understanding if KYC? Which thus links my account to who I am. But would it be safe to say that once in the various crypto ecosystems, conducting business on the blockchain, that one’s actions are relatively anonymous and private?

This leads me to another question. . . when my computer accesses my hardware wallet, or even an online wallet in oder to create a tx and send crypto, can regulating authorities still identify me via my IP address? Thanks!

Yes, but also when you eventually withdraw from a central exchange one can still conclude the address belongs to you. It is a way of trying to deanonymize the blockchain.

Most of them are. But anytime someone is able to link your address to yourself its privacy is broken.

Yes and no, this one is a bit tricky. There are methods of trying to get the IP the transaction is originating, this does require a malicious node in the network to scan for new transactions and detect which node it originated from. But this is difficult because one node might also just propagate a transaction it saw from another node.
One might also do something like Sybil attack by using a lot of nodes and try to make sure each node is at any moment connected to any other node, so when it receives a new tx it can make sure it originates from a particular node.
Newer versions of bitcoin do have protection for these types of attacks, but making sure two nodes are not connected for a longer period of time. :slight_smile:

2 Likes
  1. UTXO is the value that your wallet keeps track of.
  2. It will add smaller UTXO’s together, if it cannot do this then the transaction will be declined.
  3. It’ll look at the inputs and the outputs, the difference being the transaction fee.
  4. By using several wallets, and send the UTXO to an address that you control.
1 Like
  1. UTXOs are the individual outputs from previous transactions associated to a private key on the blockchain. They are essentially the accounts receivables to your wallet. Cumulatively they make up a wallets balance.
  2. If you don’t have any single UTXO that is large enough to cover the out puts, the wallet will have to combine enough UTXOs to cover the outputs. If they inputs are then greater than the inputs, an additional output of your own wallet will added for the “change’ or remaining value.
  3. It will look at recent past fees and choose a competitive fee it believes will ensure a spot on the next block.
  4. A wallet can contain many multiple private key and public key pairs. When you have a transaction with multiple outputs and where an output is a different address but the same user of an input, it gets difficult to track how much value 1 person holds in their wallet.
2 Likes

Thank you Alko89. I really appreciate that.

  1. UTXO - For example, if someone sends you 1.0 bitcoin, the blockchain will track that you now have 1.0 in unspent btc. If you have a hardware wallet, your wallet well add all of your unspent utxo and provide you with a balance. The blockchain will never give you a full balance, but will always track your balance through utxo.
  2. I would assume the transaction would not process or become invalid.
  3. You bitcoin wallets automatically calculates the fee. The input transaction minus the output transaction eqauls the total transaction fee.
  4. You can construct one input to equal two outputs. You can send a transaction to a recipient and to yourself.
1 Like
  1. UTXO’s - are individual transaction amounts that are stored on the Bitcoin blockchain - all transaction amounts are allocated to specific private keys - wallets identify which UTXO’s and the total amount of UTXO’s belong to the private keys held in that particular wallet

  2. If you don’t have a single UTXO that is large enough to cover your transaction, your total of UTXO’s will be used to make the transaction, then the excess will be sent back to you minus the transaction fee.

  3. The wallet will automatically choose a high enough fee that will get you into the blockchain fast - miners prefer mining higher fee transactions for higher rewards

  4. You could increase privacy by using multiple different wallet addresses and outputs - all outputs are encrypted so no one (except you, the holder of the private key) can prove how the value of a multiple output transaction is divided.

1 Like

they are not encrypted it just makes it difficult to know what output goes to whom :slight_smile:

1 Like

oh! Thanks Alko89 :grinning:

  1. UTXO’s are the inputs your received from transactionsBecau

  2. The transaction will roll back

  3. Its the difference between the input transaction and output transaction

  4. By sending yourself multiple inputs from various wallets its unclear from the outside who controlls what wallet.

1 Like

You can also just use multiple addresses in one wallet :slight_smile:

1 Like