Transaction fees
Amount rewarding miners for including a transaction in a block, calculated as the difference between inputs and outputs.
Transaction fees represent a sum that aims to compensate miners for their participation in the proof of work mechanism. These fees encourage miners to include transactions in the blocks they create. They result from the difference between the total amount of inputs and the total amount of outputs in a transaction:
fees = inputs - outputs
They are expressed in
sats/vBytes, meaning that the fees do not depend on the amount of bitcoins sent, but on the weight of the transaction. They are freely chosen by the sender of a transaction and determine its speed of inclusion in a block through an auction mechanism. For example, let's say I make a transaction with an input of 100,000 sats, an output of 40,000 sats, and another output of 58,500 sats. The total of the outputs is 98,500 sats. The fees allocated to this transaction are 1,500 sats. The miner who includes my transaction can create 1,500 sats in their coinbase transaction in exchange for the 1,500 sats that I did not recover in my outputs.Transactions with higher fees, relative to their size, are treated as a priority by miners, which can speed up the confirmation process. Conversely, transactions with lower fees may be delayed during periods of high congestion. It is worth noting that Bitcoin transaction fees are distinct from the block subsidy, which is an additional incentive for miners. The block reward consists of new bitcoins created with each mined block (block subsidy), as well as the collected transaction fees. While the block subsidy decreases over time due to the total supply limit of bitcoins, transaction fees will continue to play a crucial role in encouraging miners to participate.
At the protocol level, nothing prevents users from including transactions without any fees in a block. In reality, this type of fee-less transaction is exceptional. By default, Bitcoin nodes do not relay transactions with fees lower than
1 sat/vBytes. If some fee-less transactions have passed, it's because they were directly integrated by the winning miner, without traversing the network of nodes. For example, the following transaction includes no fees:fd456524104a6674693c29946543f8a0befccce5a352bda55ec8559fc630f5f3
In this specific example, it was a transaction initiated by the director of the F2Pool mining pool. As a regular user, the current lower limit is therefore
1 sat/vBytes.
It is also necessary to consider the limits of purging. During periods of high congestion, the mempools of nodes purge their pending transactions below a certain threshold, in order to respect their allocated RAM limit. This limit is freely chosen by the user, but many leave the default value of Bitcoin Core at 300 MB. It can be modified in the bitcoin.conf file with the maxmempool parameter.TermDefinition
51% attack
An attack where a malicious actor controls more than half of the mining hash power, allowing them to manipulate transactions, notably by performing double spends.
Account
In an HD wallet, a derivation level (depth 3) allowing hierarchical organization of keys and addresses.
Activation method
The process by which the Bitcoin community decides to activate a soft fork, seeking consensus among miners and users to avoid a blockchain split.
Adaptor signature
A cryptographic technique linking a signature to a secret, such that publishing the signature reveals the secret. Useful for atomic swaps without a trusted intermediary.
Addr
An old Bitcoin network message that allowed communicating IP addresses of nodes accepting connections. Replaced by addrv2 (BIP155) to support longer address formats.
Addr.dat
An old file in Bitcoin Core that stored information about network peers. Replaced by peers.dat since version 0.7.0.
Address reuse
A discouraged practice of using the same Bitcoin address multiple times to receive payments, which harms privacy by allowing funds to be traced.
Address spoofing
An attack where a malicious actor creates an address closely resembling the victim's to deceive them and divert their payments.
Addrv2
A new network message format (BIP155) allowing the broadcasting of Bitcoin node addresses. Supports longer addresses such as Tor v3 or I2P.
Agorism
A libertarian political philosophy advocating economic action outside of state control (counter-economy) to progressively undermine state power.
Air cooling
A cooling system for mining machines using fans to dissipate heat. The most widespread and least expensive method.
Altcoin
Designates any cryptocurrency other than Bitcoin. A contraction of alternative and coin.
Aluvm
A virtual machine designed for deterministic execution of smart contracts, notably within the context of the RGB protocol on Bitcoin.
Analysis heuristic
An empirical method used to trace Bitcoin flows on the blockchain based on observable characteristics within transactions.
Ancestor mining
A principle whereby a miner selects transactions taking into account the fees of parent transactions, not only their own fees. Also called CPFP.
Anchor
In the RGB protocol, a set of data proving the inclusion of a commitment in a Bitcoin transaction, without publicly revealing its content.
Anchor outputs
A mechanism on Lightning allowing adjustment of the fees of a commitment transaction after its creation, to ensure quick channel closure.
Anchors.dat
A Bitcoin Core file storing IP addresses of nodes the client was connected to before shutdown, to facilitate reconnection on restart.
Anonsets (anonymity sets)
Indicators measuring the degree of privacy of a UTXO by counting the number of indistinguishable UTXOs in a set, typically after a coinjoin.
Anyprevout (apo)
A proposal (BIP118) adding new SigHash flags allowing the creation of signatures that do not cover any specific input of the transaction.
51% attack
An attack where a malicious actor controls more than half of the mining hash power, allowing them to manipulate transactions, notably by performing double spends.
Account
In an HD wallet, a derivation level (depth 3) allowing hierarchical organization of keys and addresses.
Activation method
The process by which the Bitcoin community decides to activate a soft fork, seeking consensus among miners and users to avoid a blockchain split.
Adaptor signature
A cryptographic technique linking a signature to a secret, such that publishing the signature reveals the secret. Useful for atomic swaps without a trusted intermediary.
Addr
An old Bitcoin network message that allowed communicating IP addresses of nodes accepting connections. Replaced by addrv2 (BIP155) to support longer address formats.
Addr.dat
An old file in Bitcoin Core that stored information about network peers. Replaced by peers.dat since version 0.7.0.
Address reuse
A discouraged practice of using the same Bitcoin address multiple times to receive payments, which harms privacy by allowing funds to be traced.
Address spoofing
An attack where a malicious actor creates an address closely resembling the victim's to deceive them and divert their payments.
Addrv2
A new network message format (BIP155) allowing the broadcasting of Bitcoin node addresses. Supports longer addresses such as Tor v3 or I2P.
Agorism
A libertarian political philosophy advocating economic action outside of state control (counter-economy) to progressively undermine state power.
Air cooling
A cooling system for mining machines using fans to dissipate heat. The most widespread and least expensive method.
Altcoin
Designates any cryptocurrency other than Bitcoin. A contraction of alternative and coin.
Aluvm
A virtual machine designed for deterministic execution of smart contracts, notably within the context of the RGB protocol on Bitcoin.
Analysis heuristic
An empirical method used to trace Bitcoin flows on the blockchain based on observable characteristics within transactions.
Ancestor mining
A principle whereby a miner selects transactions taking into account the fees of parent transactions, not only their own fees. Also called CPFP.
Anchor
In the RGB protocol, a set of data proving the inclusion of a commitment in a Bitcoin transaction, without publicly revealing its content.
Anchor outputs
A mechanism on Lightning allowing adjustment of the fees of a commitment transaction after its creation, to ensure quick channel closure.
Anchors.dat
A Bitcoin Core file storing IP addresses of nodes the client was connected to before shutdown, to facilitate reconnection on restart.
Anonsets (anonymity sets)
Indicators measuring the degree of privacy of a UTXO by counting the number of indistinguishable UTXOs in a set, typically after a coinjoin.
Anyprevout (apo)
A proposal (BIP118) adding new SigHash flags allowing the creation of signatures that do not cover any specific input of the transaction.