We will now resume the previous cycle in a little more detail. The creation of transactions.
Like a check, a transaction is a will to give money to a person but this will only be translated when the check arrives in the financial system. You can create a transaction, specify who is the recipient, define the amount and sign the transaction with your private key. When you are ready, simply transmit it to one of the nodes of the network. You can get more information on Bitcoin Cash ABC core.
Dissemination of the transaction on the Bitcoin network.
Unlike a credit card payment, a bitcoin transaction does not contain any personal or sensitive information. It can therefore be easily sent via the internet to any Bitcoin node regardless of the security of the connection or the confidence that we have in the node. The node does not verify the identity of the sender or the sending machine, only the fact that the content of your transaction is valid is important.
Once your transaction has arrived at a node, it will, if valid, load it to the entire Bitcoin network. The entire network is decentralized, each node receiving a new transaction will spread it to 3 or 4 of the nodes it knows, which themselves will transmit it to 3 or 4 other nodes they know. In a few seconds, your transaction will be known by thousands of machines.
Note: The fact that each node validates the transaction before transmitting it to other nodes prevents denial of service attacks.
The mining operation consists, for some machines of the Bitcoin network, to carry out complex mathematical operations in order to create valid transaction blocks which will be registered in the blockchain.The mining being something quite complex, I detail it in the following chapter.
Structure of a transaction.
Concretely, a transaction is a data structure containing the information explaining where bitcoins (input) and where they go (output) originate.
One of the differences between Bitcoin and the notion of an account as you have it with your bank is that transactions are not related to accounts, identities, individuals or legal entities. Indeed, there are only transactions in the blockchain and these contain a certain number of bitcoins which are locked thanks to cryptography. If you have the private key, you can prove that you are the recipient of the transaction (s) so you can use these bitcoins to create a new transaction. You can get more information on Bitcoin Cash ABC core.
Since there is no notion of an account, to know how many bitcoins this person has, the system looks at all unspent transactions (Unspent Transaction Ouput or UTXO) for which the person is the recipient. It is this sum which is your “balance”. Last thing, most transactions are unlocked with a private key but Bitcoin also allows you to specify complex rules to access a transaction. Instead of conditioning access to the transaction to the person with the private key, you can put a script written in a language that looks like Forth. For example, to access the bitcoins of a transaction, one could ask for two private keys to be used for unlocking instead of one: that of accounting and the chief financial officer. That’s why we say that Bitcoin is a programmable currency.
Transaction security is provided by mining, that is, network machines that perform complex operations to solve mathematical problems that will validate blocks of transactions.
To motivate people (finally their machines) to undermine, each transaction may include a fee for the miners who will harvest them if they manage to create a valid block. In addition to financing the system, this also prevents people from “spe- cially” the Bitcoin network because each transaction has a cost. These fees are variable and it is usually your software that will calculate it according to the “market”, ie according to the capacity of the network and the volume of transaction. Of course, minors deal primarily with transactions that include the most expenses, but you can also not charge.
Note: At present, the minimum transaction fee is 0.0001 bitcoin.