Stack Exchange Network

Stack Exchange network consists of 175 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange

Hot answers tagged

33

147krm8yWUcVq9Ta25h679TCpsEznzgvRz is the change from the transaction. There was more than one output because you didn't have any previous transactions (sometimes thought of as "coins") that added up the exact amount of the transaction. So your client picked some coins that added up to at least that amount and then created a new address to receive the ...


33

First, let's clarify the difference between accounts and addresses. "Accounts" are used for the convenience of people to track their funds. This is primarily used to track the source of funds. Since this is just for your tracking, you can move Bitcoins from one account to another just by moving a number from one column to another. No transactions are needed....


16

The information in David's answer is correct, but it may not answer the actual question -- it's unclear whether the question is about change in general, or specifically sending change to a new address. If the latter, nothing needs to be added. If, however, the question was about the practice of change in general, then yes, it is necessary. The reason for ...


16

I like to suggest a mental model where the network is a metals forge: You have a 1 oz gold coin stamped with your key on it, with your transaction you send it to the forge to be melted down and re-formed to two new coins, a .22 with Alice's key stamped on it and a .77 with a key of yours on it, and then the forge keeps the remainder for their fee. You can'...


15

At the protocol level, there is no such thing as "balance of an address". There are individual unspent outputs (like coins in a wallet), which must be individually spent. You can't partially spend an output, but you can split/combine it. So for example, you have a 70 BTC output assigned to an address, and a 80 BTC output assigned to the same address. Some ...


12

listaddressgroupings I used the command listaddressgroupings from the bitcoin-qt console window and it listed all my addresses. I then looked for one of my old send transactions here: https://blockchain.info/ And found the change address. It matches one of the addresses in the list.


11

Receiving addresses are addresses generated specifically for sharing with people to send payments to you. Change addresses are generated by your wallet automatically when you send funds to someone else. To understand how change addresses work, consider this example. Say you received 0.1 BTC once, and 0.2 BTC another time. Now you have two UTXOs (unspent ...


10

Yes it can. See this transaction below. http://blockchain.info/tx-index/b345c51064074f5d6c0e11187326567765eb4fa3236ca1be440ccb5745775238


7

For transactions with one input it is hard to guess what is the change and what is the real payment. However because they may be have statistics so they can may be guess that for a ~4 BTC input there are 70% of probability that the change is the bigger output and the money spent the smaller one when both output addresses are new. Now if you have a ...


7

Change is sent to a new address to improve your privacy and the privacy of the other Bitcoin users you interact with. Let's imagine you receive a payment from Alice in one transaction; then you spend some of that money to Bob and the change is refunded to you. Then, in an unrelated transaction, you send Charlie some bitcoins. Because you keep all of your ...


7

Many wallets let you control where to send the change. In most cases it is advisable to send to a new address to reduce traceability and increase your privacy a little, but not everyone does and sometimes it makes sense not to do it. Most modern wallets will create a new address automatically unless you stop them. Bad reasons to send change to the same ...


7

I'm adding this as an additional answer to the ones that exist, to clarify a comment: if the outputs can be split exactly, then why the inputs can't be split so I only spend the exact amount I want. – rb612 You're essentially asking for the differences between Bitcoin's UTXO (Unspent Transaction Output) model, compared to the more intuitive Account model....


6

Most clients will return change to a newly-generated change address, which is not the same as the address on the paper wallet. So if you spend a partial amount, the rest of the coins will go to a change address in your client and the wallet will be empty. You mentioned using Blockchain.info as your wallet. The Blockchain.info wallet behaves differently ...


6

Here is the list of known sources of malleability from BIP62 (which has been withdrawn, and is no longer up to date, but does give some insight): DER encoded ECDSA signatures Right now, the Bitcoin reference client uses OpenSSL to validate signatures. As OpenSSL accepts more than serializations that strictly adhere to the DER standard, this is a source of ...


5

(I assume here that you have a simple single-address paper wallet, like the ones from BitAddress.org. I also seem to have understood that you use the Blockchain.info app to make the payment.) You should be able to decide yourself where the change goes (using the web-apps's Custom Send feature), but Blockchain.info's default behaviour is to send it back to ...


5

You can send bitcoins to the same address you are sending from, if you create a raw transaction manually, or if you use a wallet that does not create a new change address each time a transaction is made. One reason why this new address process exists is to protect privacy. If you consider that the outputs of a transaction with change, where one of the ...


5

Bitcoin Core's wallet interprets Bitcoin transactions as payments. A payment is sending money from one entity to another, and is independent from what exact coins were sent and how much change was given back. When you have a transaction which spends a coin of yours A, and sends it to addresses X and Y, with X being an address of yours, the payment is ...


5

Likely the sender didn't have an unspent output that had exactly the amount he wanted to send. So he choose an unspent output that had enough and sent the remainder back to himself. Accounts do not automatically combine the funds they receive. They have a bundle of unspent transaction outputs which they can only use by completely consuming them. You might ...


5

It's not the value, it's the inputs. If you have 1 input worth 1 BTC and sent Alice .22 BTC as one output and your change would be a 2nd output. A single input can be split into many outputs. If Bob, Alice, and Charlie each sent you 0.33 BTC and you wanted to send someone 0.5 you would need to use more than one input (since each input is only 0.33) to cover ...


4

Each transaction can have multiple inputs and thus can have multiple senders. Here's how you get the sender(s): bitcoin-cli getrawtransaction 8386a8d2870c0df79f652ef4d981b21649ebf40601948c1c0709de0f02de8c8c 1 (the 1 flag indicates that you want the raw tx to be decoded) Note: make sure that you have already indexed the blockchain or else this might not ...


4

There is no change transaction type. Transactions are defined as a list of inputs consumed, and outputs created, and the values assigned to those new outputs. The creator typically makes an output for a entity they wish to pay, and another output which pays excess change back to them. Any amount of Bitcoin left un-used by the outputs is interpreted as ...


4

When you receive money, a UTXO (unspent transaction output) is generated and assigned to your address. When you want to spend money, you can only ever spend entire UTXOs. However, you may have received 1 BTC but you only bought goods worth 80 mBTC in an online shop, so you don't want to send your entire 1 BTC UTXO to the merchant. Enter change. A ...


4

The bitcoins themselves never really exist, only receipts from previous transactions. So if received that 1 BTC from a friend, you have a receipt somewhere saying that he sent you 1 BTC. You can then reference this receipt in a future transaction as proof you do own 1 BTC. This is how bitcoins exists, as receipts. But the indivisible part comes from the fact ...


3

The transaction shows that BTC 0.1144 were sent to address 1FCR..., and are still there. If this was the amount of coins you agreed on, and the address you provided the seller, then he has fulfilled his end of the bargain. The other output of that transaction, sending BTC 0.2507 back to 1HxK... (from where they were later spent), represents change and is a ...


3

This is because you did not have a coin that exactly matched the amount you wanted to send to your friend. So bitcoin had to split a larger coin into 2 coins... 1 with the amount to send to your friend and the rest as "change" to send back to you. The address you don't recognize is a new address that was created for the change, and it's in your wallet.


3

Requiring an output to be fully consumed by a single transaction simplifies things -- an output is either spent or unspent, period. The idea is to avoid a proliferation of partially unspent outputs that would be very difficult to track. If a transaction could partially consume an output, then you'd have a whole new category of partially unspent outputs, each ...


3

When you generate a wallet, then the wallet contains by default 100 bitcoin addresses. This is good for many reasons, e.g. old backups of your wallet might be able to recover all loses in case of a harddrive failure, etc. The "privacy reason" is that someone looking at the blockchain can't see which bitcoin go to the receiver and which is the change of the ...


3

Nothing in the litecoin protocol changed, only a tool to mine litecoins using GPU was independently developed: the Reaper and caused difficulty to improve to make CPU mining much less efficient (compared to electricity price). Still, the rise of diffculty is not so dramatic as was the case for bitcoin and scrypt algorithm has proved its worth. CPUs can still ...


3

The reason for not sending back to (one of the) previous addresses, is privacy. Not just your privacy - perhaps you don't care - but the privacy of everyone using the system. Reusing addresses this way makes it blatantly obvious which of the output is the real output and which is change, meaning that transaction graph analysis becomes a lot easier. Wallet ...


3

Bitcoin may use multiple outputs from different addresses to fund the transaction. It will always be impossible to predict what the user is doing, for example, they could be using CoinJoin and the actual sender could be any of the inputs. Also remember that services like SatoshiDice causes huge network strain and is preferred to use a deposit address and ...


Only top voted, non community-wiki answers of a minimum length are eligible