8

This seems like a really basic question, but I'm having trouble searching for answers on it. My understanding is that my bitcoin client (Bitcoin v0.7.1-beta) has basically theoretically downloaded the entire transaction history of every bitcoin transaction that has ever occurred. I can see my own transactions in the Transactions screen. Is there a way to see transaction with wallets that I haven't imported or created on this client? I'm just trying to get a full understanding of bitcoin technology here. Is the reason the client doesn't show transactions from other wallets due to:

  1. User friendliness - it would be overwhelming to have to search through all wallet addresses when most people only care about their own (is there a way to override that?);
  2. Technical limitations - it's impractical to consider every transaction in the huge database when you want to list or look up some particular piece of information;
  3. Design limitations - Not every transaction is actually there with all the information necessary;
  4. Privacy concerns - By making it too easy to view others' transactions people would yell out about privacy more vocally;
  5. Something I missed?
4

Is it possible to view others' transactions

Yes.

in bitcoin client?

No.

  1. It's not terribly useful to look up the balance of somebody else's address, except maybe so they can prove they have a certain amount of funds.
  2. These lookups would be slow, because it needs to work through millions of transactions. Creating the indexes that would allow you to do fast lookups on any bitcoin address would take a sizable amount of disk space.
  3. All of them are there - it's a central part of the bitcoin protocol. What if somebody moves all of their money out of their account within a transaction you don't know about? Therefore, you have to know about all transactions, unless you want to be surprised when their payment "bounces."
  4. There's already a website called Bitcoin Block Explorer that pretty clearly establishes that transactions are public. Even if there wasn't, you could still build your own.
  • Concerning #2, it sounds like you're talking about calculating a balance, but I'm not talking about looking up their balance, just looking up a transaction. For example, wouldn't it be useful to be able to use the system as a means of proving a receipt to a third party? A judge could award a case based on proof that funds were transferred from one account to another, neither of which the judge controls. Concerning #3, I'm referring to en.wikipedia.org/wiki/Bitcoin#Confirmations which talks about implementations where not all transactions are stored. #4 is a good answer. – BlueMonkMN Dec 1 '12 at 8:21
  • 2. It's actually quite easy to look up a transaction given its transaction ID. Use the bitcoind rpc call getrawtransaction 3. Electrum clients only store their own transactions and rely on Electrum server to not lie to them. – Nick ODell Dec 1 '12 at 18:13
0

Adding to Nick's answer, it's worth clarifying that even though the entire history of transactions are available, there's no information directly stating which collection of addresses belong to a particular wallet. You might get some idea of that by looking at the inputs and outputs of transactions, but there's no "wallet id" (or similar) value in the blockchain.

  • It has become clear(er) to me since asking the original question that there is a difference between a wallet and a bitcoin address. I was interested in determining what transactions have occurred for a particular address. I'm only now realizing/suspecting that a wallet may contain many addresses. – BlueMonkMN Dec 3 '12 at 13:54
  • Yes, that's correct. New addresses are added to a wallet as created by the user. It's easier to achieve anonymity if a new address is created for each incoming transaction, if anonymity is a goal of the user. – Highly Irregular Dec 3 '12 at 18:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.