2

When sending a Bitcoin transaction, what information in that transaction can be assumed to be accurate before receiving a confirmation?

  • Can you verify the from address?
  • Can you verify that the amount transferred is accurate?
  • Can you verify that the sender has enough balance to be sending this amount?
  • Anything else?

Given the following two situations:

A.) Taking into account double spending.

B.) Assuming a situation where double spending is unlikely / deemed to be not worth a scammer's time.

Thank you!

  • 1
    "from address" isn't a good description of what's happening in Bitcoin. 1) There are often more than one address involved in funding transactions. 2) The funding addresses aren't always associated directly with the sending party, e.g. when a transaction is sent as a withdrawal from a Bitcoin exchange. 3) Transactions can be crafted by multiple parties together, which means that different inputs may have been provided by different parties. See: bitcoin.stackexchange.com/a/18882/5406, bitcoin.stackexchange.com/q/28182/5406. – Murch Oct 21 '16 at 15:56
  • Quick additional question: Does B also exclude RBF? – Murch Oct 21 '16 at 15:59
1

Think of a bitcoin transaction as a paper check, and confirmation as cashing the check. The check, itself, is no different prior to cashing than it is after cashing. However, the person who gave you the check could have closed down his account after writing you the check, yet prior to you cashing the check, thus making the check invalid. The check contains the same information, but the system to which it belongs changes.

So the account the check/transaction is drawn from remains the same. The amount of the check/transaction remains the same. Who the check is made out to remains the same. However, whether or not the money represented by the check/transaction has already been claimed can change.

So:

Can you verify the from address?

Yes

Can you verify that the amount transferred is accurate?

Yes

Can you verify that the sender has enough balance to be sending this amount?

Yes, but it could change if a competing transaction is broadcast prior to confirmation. So in your scenario A, a double spend attempt could spend the UTXO before the "real" transaction makes it into a block. This means that you can't verify the validity of your transaction until at least 1 confirmation. In your scenario B, where double spending isn't economically feasible, you can assume that if the outputs the transaction inputs draw from are unspent, then the transaction is valid.

Anything else?

Deriving additional information from a transaction is too large a topic for this answer. You may want to look into blockchain analysis.

Also keep in mind that this check/transaction metaphor breaks down at some point. For example, Bitcoin transactions can have multiple inputs and outputs. Also, anyone can look to see whether an input is unspent, and not just a central authority.

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.