What is the difference between accounts and adresses? As discussed in this question accounts are a component of bitcoin wallets, different from addresses. What are they? How do they work?
3 Answers
A Wallet is a collection of Accounts and Addresses.
An Account is an arbitrary basket of Addresses. Transactions originating from and going into one Account will be kept separate from other Accounts (unless you use a move
command, which moves the balances around without creating new transactions).
Address is the only part of this that is visible in the Block Chain.
-
Doesn't the move command move assets between accounts without creating a transaction that is sent out to the network? That would mean that there is no assignement of addresses to accounts, as in your scenario only the whole balance of an address could be moved from account A to account B.– cdeckerCommented Feb 7, 2013 at 11:13
-
-
So if addresses are contained within accounts, how then can you move bitcoin from one account to another without moving them from one address to another? Commented Feb 7, 2013 at 19:14
-
@KinnardHockenhull You bend the rule and allow the transactions to be spent with a different account until the balances are right. Commented Feb 8, 2013 at 6:09
-
Your wallet is your account (or, accounts) and it holds all your public - private key pairs (mostly encrypted), all the transactions that corresponds to your addresses, and other details.
you can also add watch-only addresses for fun, just like a shares watchlist. If you write down all your private keys somewhere then your wallet could only contain all watch-only addresses.
Wallet is in fact more than an account, and it is your private ledger. Other wallet providers could store your backup options, escrow / mixing preferences, etc. into your wallet.
Addresses are intrinsic to Bitcoin. Amounts of bitcoins are moved from an address to an address (most of the time that is, there are other mechanisms). A transaction that transfers bitcoins from address A to address B is sent to the network and will then be applied by all the nodes to their local replica of the ledger.
Accounts on the other side are a further abstraction that Bitcoin-QT (the mainline client) provides. It is purely for internal accounting and information about the accounts is not spread to the network.
Accounts simply have a balance, the sum of all account balances is the sum of all the addresses balance, but I don't think that addresses are actually associated with an account. The API supports this as if an address were associated with an account it would only be possible to move the entire balance of an address to a new account, while as it is implemented suggests that you can move any amount between the accounts.
-
2What are the other mechanisms besides the coinbase transaction? and then, as above, you can't move balances between accounts without moving them between addresses, correct? Commented Feb 7, 2013 at 19:16