Bitcoin Stack Exchange is a question and answer site for Bitcoin crypto-currency enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

share|improve this question
up vote 5 down vote accepted

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.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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