Can the outputs of a transaction change over time?

2

I would like to know if the outputs of any given transaction can change over time. For example, suppose I send a payment to three different addresses creating an unconfirmed transaction with several outputs:

Output 0: Address1
Output 1: Address2
Output 2: Address3
Output 3: Address4
Output N: AddressN

If I examine that same transaction two or three months later, can the outputs index association have changed in any way? For example, could Address1 have becomed the Output3? Or is that information deterministic in itself?

Thank you.

flaab

Posted 2013-01-02T09:19:16.507

Reputation: 824

Answers

5

No. A transaction is composed of a sequence of inputs and outputs in a specific order. This data structure is hashed and makes its way to the Merkle root and block header, and thus if the transaction were to change, all the blocks that follow would be invalidated.

It's possible that a fork with a different transaction double-spending the same inputs would usurp the chain you originally observed (less likely the more confirmations it has); and the status of these outputs can of course change from unspent to spent.

Meni Rosenfeld

Posted 2013-01-02T09:19:16.507

Reputation: 18 542