Bitcoin Miners
Week 5! I’m curious if what bitcoin miners face is similar to what other digital currency miners face. With bitcoin, miners are required to store and broadcast the blockchain, validate new transactions, and they have the ability to vote by hash power on consensus. That being said, my favorite part of the lecture was just understanding some of the miner lingo.
Questions answered in this Post:
- Who are the miners?
- How do they operate?
- What’s the business model like for miners?
- What impact are miners having on the environment
Also, as I’ve mentioned in previous posts, trying to mine bitcoin is likely not going to be profitable easily. It requires quite a bit of hardware and people have had their AWS accounts hacked so that people could mine bitcoin. Hmmm…. The price tag for the specific hardware is pretty pricey. Other cryptocurrencies may have more potential.
How to be a bitcoin miner. Only 6 EASY steps
- Join the network, listen for transactions – validate all proposed transactions
- Listen for new blocks, maintain block chain
- Assemble a new valid block
- Find the nonce to make your block valid – Hard work trying to find that special number…
- Hope and pray everybody accepts your new block
- Profit. Repeat…
Who benefits from these steps
Steps 1-3 are useful to the bitcoin network because they are needed to maintain and thus this is where you provide!
4-6 incentive aspect, meaning this is where you gain!
The first two steps are handled by software that you download. In the first step, the node is listening to transactions in the network and then validates it based on a strict list of rules. In the second list, you’re listening for new blocks that have already been added to make sure that you’re validating each transaction in the block and checking that the block contains a valid nonce. The next steps where you start to build a candidate block to write to the blockchain is where things get interesting. Now, you’re setting yourself up to make a contribution to the blockchain and at the same time receive some incentives for the work. Once you have assembled this block, you now need to find the nonce to make your block valid.
I have discussed that earlier here where I spoke about hashed linked lists where each block is composed of a Merkle tree of transactions.
2. Then keep trying to find a nonce
Parameter in the coinbase transaction:
after you exhaust nonce in the block header 32 bit number
then try a new nonce after incrementing the coinbase.
Setting the mining difficult
Every two weeks, computed:
next_difficulty = previous_difficulty * 2 weeks/(time to mine last 2016 blocks)
expected number of blocks in 2 weeks at 10 minute node
so over time the mining difficulty gets worse even though there is a target to make new blocks every 10 minutes
Time to find a block is interesting because previously it used to go from 10 min down to 5 minutes but now its from 10 min only to 8 min. Thus, this suggests that the improvement seen in those two weeks is not as much.