Bitcoin Forum
May 26, 2024, 07:14:35 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Did UTXO not exist in the very beginning of Bitcoin?  (Read 586 times)
thx9527 (OP)
Newbie
*
Offline Offline

Activity: 2
Merit: 1


View Profile
June 16, 2020, 09:58:12 AM
 #1

I am researching dormant addresses recently and I found that some more than 8-year dormant addresses have moved some bitcoins out of their addresses long time ago.

The point is that they are allowed to move partial bitcoin.

Take this transaction as an example, https://bitinfocharts.com/bitcoin/block/75030/15Z5YJaaNSxeynvr6uW6jQZLwq3n1Hu6RX

You can see 15Z5YJaaNSxeynvr6uW6jQZLwq3n1Hu6RX moved out 301 bitcoins, but it still had 7,944.06 bitcoins left.

This seems not abiding by the UTXO rule.

I found UTXO did not work in many transactions in 2010. Can someone explain this to me? Thank you guys! Smiley
LoyceV
Legendary
*
Offline Offline

Activity: 3318
Merit: 16708


Thick-Skinned Gang Leader and Golden Feather 2021


View Profile WWW
June 16, 2020, 10:09:34 AM
Last edit: June 17, 2020, 05:56:25 AM by LoyceV
Merited by o_e_l_e_o (1), Bitcoin_Arena (1)
 #2

I'll start by displaying a block explorer I'm familiar with: c9cfd7e0cda60ab0d21d3b7402b141953f48b3bebc9ca7bd32f1caa78c31a3fb on Blockchair.

Quote
You can see 15Z5YJaaNSxeynvr6uW6jQZLwq3n1Hu6RX moved out 301 bitcoins, but it still had 7,944.06 bitcoins left.

This seems not abiding by the UTXO rule.
This transaction looks normal to me. Every address can have more than one UTXO, and in this case, 4 inputs from 15Z5YJaaNSxeynvr6uW6jQZLwq3n1Hu6RX were used, while other inputs remain untouched.

Think of each UTXO as a coin in your piggy bank: you can spend all your coins at once, or you can spend only some of your coins. You can't use fractions of your coins without getting change, so if you only have quarters, you'll need to get out entire quarters at once. But if you have 12 quarters and a dime, it's totally fine to spend 4 quarters and your dime without touching the remaining 8 quarters.

Bitcoin_Arena
Copper Member
Legendary
*
Offline Offline

Activity: 2044
Merit: 1807


฿itcoin for all, All for ฿itcoin.


View Profile
June 16, 2020, 12:35:36 PM
 #3

Have you guys also seen something about the latest incoming transaction to the address: https://blockchair.com/bitcoin/address/15Z5YJaaNSxeynvr6uW6jQZLwq3n1Hu6RX

For most of those transactions, one of the addresses under recipients looks weird. For example in this transaction

There is one recipient address which does not look like other normal bitcoin addresses and doesn't even receives any BTC: OP_RETURN d-864af7c1a454b960d6d79b77d4830beb


What's happening in this case?

.BEST..CHANGE.███████████████
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
███████████████
..BUY/ SELL CRYPTO..
pooya87
Legendary
*
Offline Offline

Activity: 3458
Merit: 10589



View Profile
June 16, 2020, 01:15:17 PM
Merited by o_e_l_e_o (2), Bitcoin_Arena (1)
 #4

What's happening in this case?

what's happening is that there is no such thing as "addresses" in bitcoin protocol. there are only scripts. we decided to make things easier for humans to use bitcoin so we invented human readable strings for only a handful of scripts out of of the millions of them and called those strings "addresses".

blockchair.com has decided to also add its own human readable strings (if we can call those thing readable!) for many of other scripts including anything that starts with 0x6a which they show as "d-..."

there is nothing strange in those outputs either. they are simple scripts using OP_RETURN and zero amount and the sender is trying to spamvertise their scam which you'll see if you decode the data in front of the 0x6a.

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
Abdussamad
Legendary
*
Offline Offline

Activity: 3612
Merit: 1564



View Profile
June 16, 2020, 08:56:46 PM
 #5

@thx9527: I don't think you understand how utxos work. If you send multiple utxos to an address they don't get combined together. You can spend some of them and not others.
TheArchaeologist
Sr. Member
****
Offline Offline

Activity: 310
Merit: 727


---------> 1231006505


View Profile WWW
June 18, 2020, 09:13:22 AM
Last edit: June 18, 2020, 09:25:17 AM by TheArchaeologist
Merited by o_e_l_e_o (2)
 #6

The point is that they are allowed to move partial bitcoin.

Take this transaction as an example, https://bitinfocharts.com/bitcoin/block/75030/15Z5YJaaNSxeynvr6uW6jQZLwq3n1Hu6RX

You can see 15Z5YJaaNSxeynvr6uW6jQZLwq3n1Hu6RX moved out 301 bitcoins, but it still had 7,944.06 bitcoins left.

This seems not abiding by the UTXO rule.

I found UTXO did not work in many transactions in 2010. Can someone explain this to me? Thank you guys! Smiley

You are mixing two entirely different concepts. What you are assuming/describing here is there is a balance on an address which can only be spent in one go. But as others stated before me: bitcoin doesn't transfer from one address to another address like you would do with bank acounts. Instead bitcoin works with transactions which have one or more inputs and one or more outputs. Now here comes the "partial part": if you received 10 BTC from Alice there will be an "unspent transaction output" or UTXO which you can use as input for another transaction. So if you want to pay Bob 3 BTC you can use the unspent output in which you received the 10 BTC for that. However you cannot say: "See this output gave me 10 BTC, use 3 of them to pay Bob so I will still keep 7 BTC in my address". What happens within bitcoin: you are making at transaction to pay Bob 3 BTC by using the entire unspent output from Alice. In this case it would mean you would have to make another output for the remaining 7 BTC, known as the change address.

So in short:
  • Don't think of bitcoin addresses like accounts with a balance.
  • Instead it's better to compare a bitcoin transaction with a cash transaction: If I received a $10 bill from Alice and then needed to pay Bob $3 I cannot tear up the $10 bill, instead I give Bob the entire $10 and expect to get $7 in change.
  • However if  I got paid a lot of small amounts through time a total of 100 10-cent coint payments would also rack up to $10. If Bob then needed $3 I could pay him by giving him 30 of the 10-cent coins I accumulated. Or in bitcoin transactions: The "balance" of the address  (the sum of all UTXO) would be the equivalent of $10 funded by 100 small inputs through time. You could then make a transaction to Bob using 30 inputs to pay him exactly the amount you want without any need of a change address.

Sooner or later you're going to realize, just as I did, that there's a difference between knowing the path and walking the path
bob123
Legendary
*
Offline Offline

Activity: 1624
Merit: 2481



View Profile WWW
June 18, 2020, 10:04:24 AM
 #7

If you send multiple utxos to an address they don't get combined together.

They do get combined if you send them in one transaction, but won't if you send them in multiple.


OP, the address received multiple transactions and therefore accumulated multiple UTXO's.
Then later, he sent some of them (but not all).

So everything is fine here. Every transaction works on a UTXO basis, from the very first transaction.

You always have to fully use an UTXO. But you don't have to spend all UTXO's associated to the same public key.

o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18565


View Profile
June 18, 2020, 11:33:41 AM
 #8

You could then make a transaction to Bob using 30 inputs to pay him exactly the amount you want without any need of a change address.
Probably worth mentioning for OP's sake that this is an exceptionally inefficient way to use bitcoin, and you will end up paying huge amounts in fees and potentially waiting a long time for your transaction to confirm. Much better to just spend a single input and accept the change.

They do get combined if you send them in one transaction, but won't if you send them in multiple.
Not necessarily. You can make a single transaction which has multiple different outputs all going to the same address, and these outputs will not get combined.
bob123
Legendary
*
Offline Offline

Activity: 1624
Merit: 2481



View Profile WWW
June 18, 2020, 12:31:55 PM
 #9

They do get combined if you send them in one transaction, but won't if you send them in multiple.
Not necessarily. You can make a single transaction which has multiple different outputs all going to the same address, and these outputs will not get combined.

Obviously, yes.
But which sane person would do that?  Grin

Abdussamad
Legendary
*
Offline Offline

Activity: 3612
Merit: 1564



View Profile
June 18, 2020, 12:39:34 PM
 #10

people reuse addresses. they receive multiple outputs to the same address. you can spend some or all of those outputs in a transaction. if you only spend some then obviously there are still unspent outputs left under the control of that address' private key.

wallets these days don't usually do this. for privacy reasons they will always spend all the utxos sent to an address.
TheArchaeologist
Sr. Member
****
Offline Offline

Activity: 310
Merit: 727


---------> 1231006505


View Profile WWW
June 18, 2020, 02:32:04 PM
 #11

You could then make a transaction to Bob using 30 inputs to pay him exactly the amount you want without any need of a change address.
Probably worth mentioning for OP's sake that this is an exceptionally inefficient way to use bitcoin, and you will end up paying huge amounts in fees and potentially waiting a long time for your transaction to confirm. Much better to just spend a single input and accept the change.
Agreed, i was just pointing out to OP the fact that outputs have to be spent in whole as opposed to the (non existing) balance as was suggested.

Sooner or later you're going to realize, just as I did, that there's a difference between knowing the path and walking the path
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!