To transfer cryptocurrencies like bitcoin, litecoin or ether, a fundamentally different infrastructure is needed from traditional payment systems.
The Bitcoin network is the first infrastructure to enable peer-to-peer transfers of digital money, putting the advantages of blockchain technology and public-key cryptography into practice.
Simply put, a cryptocurrency transaction is a transfer of information made between blockchain addresses. These transfers have to be signed with a private key that corresponds to its address. Signed transactions are broadcast to the network of nodes, active computers that follow a specific set of rules to validate transactions and blocks. Valid transactions need to be confirmed by being included in blocks through the process of mining.
This infrastructure ensures that transactions are pseudonymous, yet transparent, and that they cannot be changed or deleted from the records once they are embedded deeply enough in the blockchain.
CRYPTOCURRENCY TRANSACTION ESSENTIALS
- A cryptocurrency transaction is a transfer made between blockchain addresses.
- A combination of a private and public key is used to sign and authorize a transaction.
- Miners include transactions in data blocks by solving proof-of-work puzzles.
- Nodes validate transactions and blocks and keep a record of the entire blockchain.
Signing and validating transactions
From the point of view of a user, performing a cryptocurrency transaction is not so different from making an online bank transfer. You access your cryptocurrency wallet, fill out a form with the destination address and the amount you wish to send, and sign the transaction with your private key. But instead of waiting for a number of banks to process your transaction, which can take several days with international wire transfers, a cryptocurrency transaction is processed by a single, unified network of computers in a matter of seconds or minutes.
Once you confirm the inputs, your intention to perform a crypto transaction is broadcast to the network of nodes. Nodes store unconfirmed transactions in their memory pool and check whether these are valid, according to blockchain consensus rules.
Putting transactions into blocks
In a blockchain, data is stored in blocks which are strung, one after another, on a continuously growing chain. Miners take transactions from mempools (the waiting area for new transactions) to include them in a block. They earn the right to create a new block by solving a complex mathematical problem prescribed by the proof-of-work (PoW) algorithm, which gives each block its unique hash value.
Hashing (calculating the hash) protects the records from being altered. If the slightest change is made to a transaction record, the block’s hash changes significantly. Every hash is based on the hash of the previous block, which means that changing data in any block would require changing all the blocks that came after it, as well.
Once a block with transaction records is mined and propagated across the network, full nodes validate it, in accordance with the consensus rules.
Miners compete in cracking the proof-of-work puzzle, and it can happen that two blocks are mined at approximately the same time. In such a case, nodes need to determine the right version of the blockchain. To find it, they look for the chain with the most proof of work (backed by the biggest hash rate), which is to say the chain that has the strongest support from the miners.
Aside from block rewards, miners are rewarded for their work with transaction fees. Blockchain users include a small amount of cryptocurrency with each transaction for the miner to collect. Everyone can set the size of the fee themselves, but it’s important to keep in mind that the larger the fee, the sooner the miner will collect it. Information on what the appropriate fee is given the network traffic is easily available, so you can avoid excessive fees.
Cryptocurrency exchanges, like Bitstamp, sort out the transactions for you, so you can concentrate on the important things, and leave the details to a reliable exchange.