How does it work?
Bitcoin mining is the process by which new bitcoins are created and added to the circulating supply. It
also serves as the mechanism through which transactions are verified and added to the public ledger
known as the blockchain. Here's how it works:
1. Transaction Verification: Bitcoin transactions are collected into blocks. Miners take these blocks of
transactions and verify that they are valid according to the Bitcoin protocol.
2. Creating a Block Header: Once a miner has a set of valid transactions, they create a block header. This
includes a reference to the previous block, a timestamp, and a nonce (a number used only once).
3. Finding a Nonce: The miner's main task is to find a nonce that, when combined with the rest of the
block header, produces a hash (a unique string of characters) that meets certain criteria. This process is
known as proof of work.
4. Proof of Work: The proof of work is a way to ensure that the miner has put in a significant amount of
computational effort to find the correct nonce. It requires finding a hash that is below a certain target
value. This target is adjusted by the Bitcoin network every 2016 blocks to ensure that a new block is
mined, on average, every 10 minutes.
5. Adding the Block to the Blockchain: Once a miner finds a nonce that meets the proof-of-work
requirements, they broadcast the new block to the network. Other nodes in the network verify the
validity of the block and, if it is valid, add it to their copy of the blockchain.
6. Reward and Fees: As a reward for their efforts, the miner who successfully mines a new block is
allowed to add a special transaction called a coinbase transaction, which creates new bitcoins and adds
them to circulation. In addition to the coinbase transaction, miners also collect transaction fees included
in the transactions they verify.
7. Continued Mining: The process repeats, with miners competing to find the next block. Over time, this
process creates a secure, decentralized, and tamper-resistant ledger of all Bitcoin transactions.