I just read in this page that a transaction typically has two addresses, one for the recipient of a transaction and another for the "change" associated with the transaction. My question is why don't blockchain explorer websites show this information? Is it capable of being parsed?
1 Answer
The whole point of having change addresses in Bitcoin's design (as opposed to an account based model where every participant has a key with a balance) is hiding who the payment is for.
Change addresses don't exist at the protocol level at all. They're just outputs, to addresses, just like the payments are. Whether something is considered a payment address or a change address is information that only exists in the participants' wallets.
So, no, you can't parse this off the block chain. If that were possible it'd defeat the purpose. Of course, in some cases there may be additional information that allows you to make an informed guess about what is change. E.g. if you see an output with a round amount (say, 0.01000000
BTC) and another with a non-round amount (say, 0.00715618
BTC), you may (correctly or not) conclude that the round amount is the payment. There are also transactions that just don't have change.