Bitcoin Forum
November 19, 2024, 05:11:42 PM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Need help to understand my transaction  (Read 527 times)
xdigital (OP)
Newbie
*
Offline Offline

Activity: 41
Merit: 0


View Profile
April 06, 2014, 05:38:53 PM
 #1

Yesterday, I sent 0.001 BTC to my new address (just for testing), this address is in my offline wallet.

Here is the latest transaction reported by bitcoind, from my account with public address: 12N6aLKExP2iKThwvuiRWWNjd9cxZ9nsNU
{
        "account" : "",
        "address" : "1BububuMm8peVdUbTFsPfS6Ynv76fJrpVG",
        "category" : "send",
        "amount" : -0.00100000,
        "fee" : -0.00010000,
        "confirmations" : 98,
        "blockhash" : "00000000000000007caa9b2153af76c5ca02c132582315adbcbc021bc8506779",
        "blockindex" : 412,
        "blocktime" : 1396747329,
        "txid" : "3a1beaa095576e6fd629d6c29e71512abe30d6799add22aee7181e65d22467c6",
        "walletconflicts" : [
        ],
        "time" : 1396746463,
        "timereceived" : 1396746463
    }

But in https://blockchain.info/tx/3a1beaa095576e6fd629d6c29e71512abe30d6799add22aee7181e65d22467c6
report:  there is another transfer of 0.01112022 BTC to this address 1K7t3t5WNJzxGQW6DFgcL6arkCqepGvvqt
in this transaction?

What is this 0.01112022 BTC, why it appears my transactions? does this 0.01112022 BTC come from my account?

Thank

DannyHamilton
Legendary
*
Offline Offline

Activity: 3486
Merit: 4851



View Profile
April 06, 2014, 05:41:12 PM
 #2

https://en.bitcoin.it/wiki/Change
xdigital (OP)
Newbie
*
Offline Offline

Activity: 41
Merit: 0


View Profile
April 06, 2014, 05:45:45 PM
 #3

Got it! Thank a lot.
xdigital (OP)
Newbie
*
Offline Offline

Activity: 41
Merit: 0


View Profile
April 06, 2014, 05:49:56 PM
 #4

If I understand it correctly, I'm the owner of this address "1K7t3t5WNJzxGQW6DFgcL6arkCqepGvvqt" ?
But so far I can not find this address in my wallet !
DannyHamilton
Legendary
*
Offline Offline

Activity: 3486
Merit: 4851



View Profile
April 06, 2014, 05:51:55 PM
 #5

If I understand it correctly, I'm the owner of this address "1K7t3t5WNJzxGQW6DFgcL6arkCqepGvvqt" ?
But so far I can not find this address in my wallet !

Which wallet software are you using?
xdigital (OP)
Newbie
*
Offline Offline

Activity: 41
Merit: 0


View Profile
April 06, 2014, 05:54:51 PM
 #6

I'm running bitcoind 0.9.0 on Ubuntu server 12.04
xdigital (OP)
Newbie
*
Offline Offline

Activity: 41
Merit: 0


View Profile
April 06, 2014, 05:58:51 PM
 #7

I tried
- bitcoind listaccounts
- bitcoind getaddressesbyaccount for each account listed above

However I'm able to dump the private key using that address.
So I did own that address, but somehow it's not listed in any of my accounts.
DannyHamilton
Legendary
*
Offline Offline

Activity: 3486
Merit: 4851



View Profile
April 06, 2014, 06:00:58 PM
 #8

I'm running bitcoind 0.9.0 on Ubuntu server 12.04

The reference client, also known as:

  • Bitcoin-Qt
  • Bitcoin Core
  • Satoshi Client
  • Satoshi Wallet
  • Original Wallet
  • Original Client
  • Official Wallet
  • Official Client

Stores change addresses (along with the associated private keys) in the wallet.dat, but does not display them to the user.

If you are using the GUI (user interface), you can enter the command:

Code:
listunspent

in the "Console" found in the "Debug Window" of the "Help" menu.

This will list all the unspent outputs that your wallet is aware of and the associated bitcoin addresses where those outputs were received.

If you are making RPC calls to the bitcoind server, you can send the listunspent command via RPC for the same information.
DannyHamilton
Legendary
*
Offline Offline

Activity: 3486
Merit: 4851



View Profile
April 06, 2014, 06:03:29 PM
 #9

I tried
- bitcoind listaccounts
- bitcoind getaddressesbyaccount for each account listed above

However I'm able to dump the private key using that address.
So I did own that address, but somehow it's not listed in any of my accounts.

The bitcoin reference client generally doesn't handle accounts the way most people expect it to.  This often results in people complaining about unexpected behavior from their use of "accounts" in the reference client.
xdigital (OP)
Newbie
*
Offline Offline

Activity: 41
Merit: 0


View Profile
April 06, 2014, 08:40:32 PM
 #10

Now I just think this is going to be an issue!
I thought having a backup of my wallet on USB and printing my private keys to a paper is safe
But apparently every time I spent, there is a new private key generated.
So I need to backup this new updated wallet and reprint my list of private keys.

Let's assume I made a paper wallet and transferred 1 BTC to it and gave it to my friend.
Then later, he spent 0.1 BTC on something by using the private key printed on that paper.
Little did he know, his wallet is now empty and useless, since there is 0.9 BTC change had been "refunded" to a different address with different private key.

The question is
Why does the transaction not give the change back to the same output address?



DannyHamilton
Legendary
*
Offline Offline

Activity: 3486
Merit: 4851



View Profile
April 06, 2014, 08:50:00 PM
 #11

Now I just think this is going to be an issue!
I thought having a backup of my wallet on USB and printing my private keys to a paper is safe

That is a very bad assumption if you are using bitcoind.  There are other wallets where that would be true.

But apparently every time I spent, there is a new private key generated.

Correct.

So I need to backup this new updated wallet and reprint my list of private keys.

Not exactly.  bitcoind pre-generates the next 100 private keys and addresses that it will use.  All of these "future use" private keys are stored in the wallet.dat.  When bitcoind needs a new address for the "change", it gets the next address from this pre-generated list, and then generates a new address to add to the other end of the list.

This means that the backup that you have of wallet.dat is good for the next 100 addresses that the wallet uses (keeping in mind that an address is "used" each time you ask the wallet for a new receiving address, AND each time you send a transaction.

This size of this pool of pre-generated addresses can be adjusted with a setting in bitcoin.conf

If you are using bitcoind, and printing (or writing) private keys, and creating transactions, then yes your written private keys will become useless as soon as you send a transaction.

Let's assume I made a paper wallet and transferred 1 BTC to it and gave it to my friend.
Then later, he spent 0.1 BTC on something by using the private key printed on that paper.
Little did he know, his wallet is now empty and useless, since there is 0.9 BTC change had been "refunded" to a different address with different private key.

Anytime you import a private key to a wallet, you should immediately consider the private key to be compromised and stop using it.  If you still want a paper wallet, then you should create a new one and send any balance there.  If you don't know enough about private keys to know this, then you don't know enough about private keys to use them safely, and should not be creating paper wallets in the first place.

The question is
Why does the transaction not give the change back to the same output address?

Increased privacy, and increased security.

Satoshi specifically stated in the Whitepaper that introduced the concept of bitcoin to the world that users should create a new address for EVERY transaction.  Then, when he released his client software, he had written it to do exactly that.
xdigital (OP)
Newbie
*
Offline Offline

Activity: 41
Merit: 0


View Profile
April 06, 2014, 10:29:21 PM
 #12

Thank a lot DannyHamilton!

It seems Bitcoin still have a long way to go for average users.
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!