Transactions are defined using a Forth-like scripting language.:ch. 5 Transactions consist of one or more inputs and one or more outputs. When a user sends bitcoins, the user designates each address and the amount of bitcoin being sent to that address in an output. To prevent double spending, each input must refer to a previous unspent output in the blockchain. The use of multiple inputs corresponds to the use of multiple coins in a cash transaction. Since transactions can have multiple outputs, users can send bitcoins to multiple recipients in one transaction. As in a cash transaction, the sum of inputs (coins used to pay) can exceed the intended sum of payments. In such a case, an additional output is used, returning the change back to the payer. Any input satoshis not accounted for in the transaction outputs become the transaction fee.
One of the greatest aspects of blockchain technology is the ability for a developer or business to customize it. This means a blockchain can be completely open to the public and allow anyone to join, or it can be totally private, with only certain folks allowed access to the data, or allowed to send and receive payments. Bitcoin is an example of an open-source public blockchain that allows anyone to join, whereas a private blockchain would be perfect for a corporate customer.