Mark wants to send 1 BTC to Jessica. To do this, he uses his private key to 'sign' a message with the transaction-specific details. This message, which must be broadcast to the network, will contain the following:

  • Inputs. This contains information about the bitcoin previously sent to Mark's address. For example, imagine Mark previously received 0.6 BTC from Alice and 0.6 BTC from Bob. Now, in order to send 1 BTC to Jessica, there might be two inputs: one input of 0.6 BTC previously from Alice and one input of 0.6 BTC previously from Bob.
  • Amount. In this case, the amount Mark wants to send is 1 BTC.
  • Outputs. There are two outputs. The first is 1 BTC to Jessica’s address. The second is 0.2 BTC returned as 'change' to Mark. This second output is calculated as the total of the inputs 0.6 + 0.6 = 1.2, minus the amount Mark wants to send 1 BTC.