The entire level of getting change addresses in Bitcoin’s design (versus an account based mostly mannequin the place each participant has a key with a steadiness) is hiding who the fee is for.
Change addresses do not exist on the protocol degree in any respect. They’re simply outputs, to addresses, similar to the funds are. Whether or not one thing is taken into account a fee handle or a change handle is info that solely exists within the members’ wallets.
So, no, you may’t parse this off the block chain. If that had been doable it’d defeat the aim. In fact, in some instances there could also be extra info that means that you can make an knowledgeable guess about what’s change. E.g. for those who see an output with a spherical quantity (say, 0.01000000 BTC) and one other with a non-round quantity (say, 0.00715618 BTC), you could (appropriately or not) conclude that the spherical quantity is the fee. There are additionally transactions that simply haven’t got change.
