# Bitcoin Mining in Plain English

My regular readers are probably aware by now that I more than dabble in Bitcoin. If you don’t know what Bitcoin is – well first of all, you’re probably reading the wrong article, but go ahead and watch this video and you should be up to speed. One of the most common points of confusion for new Bitcoiners is the concept of mining. Most Bitcoin newbies can’t wrap their head around the concept and practically every article on the topic (this one included) will warn you that it’s highly technical and not for the faint of heart.

Still, the topic of mining seems to spawn the majority of the questions every time I talk to someone about Bitcoin – and why not? It is the mechanism by which the currency is issued, and issuance is a very important topic to grasp if you’re going to use and trust a currency and Bitcoin’s issuance mechanism is, unfortunately, quite complex and technical. This article is going to attempt the near-impossible: a thorough explanation of how mining works but without any of the specific details that might scare the non-techies in the room.

Now I’m going to do my best to avoid technical terms, but there are a few core concepts and terms that are absolutely vital to understand if you want to wrap your head around mining. I’m going to keep these to a bare minimum and explain them as simply as possible.

• Hash
In computing terms a hash is the result of some really complex math that’s easy to reproduce but impossible to reverse and hard to predict. Imagine, for example I tell you that I added two numbers together and the result was 14,862. Given only that number there’s no way you could tell me what two numbers I added to get that total, but it would be easy to reproduce my result if I asked you to add  3,608 and 11,254. Hashes are much more complicated than this, and while the output of a hash function seems completely random it’s actually the result of some crazy but easy-to-reproduce math.
• Block
In Bitcoin, transactions are bundled up into big chunks of data called blocks. These blocks are linked together in such a way that each one proves that the block before it was valid. When you see transactions in your Bitcoin client that say something like “12 confirmations” it means that the block containing that transaction is currently 12 blocks back from the current block. This is important because the more blocks deep a transaction is, the more work it would take for a would-be hacker to go back in time and change it.
• Difficulty
Bitcoin contains a “difficulty factor” which is an arbitrary number that determines how hard it is to find a “winning” hash – more on this later, but for now just understand that difficulty is Bitcoin’s way of self-adjusting to the amount of computing power miners are throwing into the network. Blocks are supposed to be solved at a rate of about 6 per hour and difficulty adjustments allow Bitcoin to ensure that its math problems are hard enough that it always takes the combined efforts of all the miners around 10 minutes to solve a block.

So the basic concept of Bitcoin mining is that there’s a little chunk of each block that contains meaningless random data, and Bitcoin miners take all the data in the current block, shuffle up that random chunk and calculate the hash of the whole thing.  Remember that while hashes are easy to reproduce, they’re impossible to predict and they seem to function completely randomly, so the miner has no way of predicting what chunk of random data will produce what hash, he just has to keep changing that chunk until he gets the result he’s looking for. Eventually, some miner somewhere finds a chunk of random data that produces a hash that is smaller than a certain value, as determined by the difficulty, and submits this block and its accompanying hash to the Bitcoin network. Once the network confirms the solution is correct, the miner is rewarded with a number of Bitcoins.

The number of Bitcoins in the reward depends on a number of factors. There is a base reward included in each block to encourage mining activity while Bitcoin is still in the early stages – currently the reward is 50 bitcoins but every so often the reward is cut in half until eventually it’s cut down to zero. Some transactions also pay a small transaction fee, which goes to the miners as well. Eventually these transaction fees will be the only reward for mining, but the hope is that by that time there will be enough transactions (and therefore enough fees) to make it worthwhile.

At the very beginning, the number of miners and the quality of their equipment was so low that what I’ve described above was all there was: a bunch of everyday computers doing lots of math at high speed and most of them got a few hundred bitcoins each day. Today, however, there are so many miners and their equipment is so much faster that \$1,000 worth of mining equipment would spend two to three months working before you solved your first block. Something had to be done.

Mining pools sprung up to solve this problem. The concept is simple: A bunch of miners work together to solve blocks and when the pool solves one, they divvy up their earnings in whatever way seems most fair. There are, of course, arguments between pools about what the best way to split up the funds is, but that’s a fairly technical discussion for another article.

Those are the basic mechanisms, but there are a few important things to gather that may not be obvious at first:

• The hashes aren’t just to make life difficult for the miners. Because it takes so much computing power to find a hash that follows the rules, a would-be hacker trying to change the contents of a block would have to find a new hash that fits those rules again. Because he’s trying to rewrite history he not only has to find a new hash, he has to find it faster than the legitimate miners can, which would require a tremendous amount of computing power and confers very little benefit. The more miners there are, the higher the difficulty goes. The higher the difficulty goes, the harder it is to commit fraud on the Bitcoin network.
• Before anyone asks: yes, the difficulty is already high enough that it would cost hundreds of millions of dollars to be able to rewrite a single transaction, so not worth it unless you’re buying an aircraft carrier or something.
• Remember how I said the block reward gets cut in half every so often, and eventually goes to zero? That means that at some point, the system stops creating new bitcoins. At most there will only ever be about 21 million bitcoins.
• I also said that the number of miners and the speed of their hardware was getting better. This is an over-simplification. Bitcoin mining has been through some growing pains and still has a few more such pains to go through. In the beginning people mined with the regular everyday processors in their computers. One day some clever person realized that the kind of math required for mining actually ran hundreds of times faster on high-end video cards (the kind used for computer gaming) than on regular computer processors – this was like introducing sports cars to a horse-and-buggy world. At the time of this article, some companies are now designing completely custom-built devices that are drastically better than the video cards we’ve all gotten used to. These major leaps in technology are a big part of what makes it so risky to be a Bitcoin miner – you could get left in the dust by one of them at any time.
• All of these things cost money and use electricity, which also costs money. A few lucky miners live in college dorms or mine out of office buildings where they’re not responsible for the electric bills, but most miners have to pay for their electricity and in some areas this makes it very difficult to turn a profit.
• There is no central authority. As with everything else about Bitcoin, mining is distributed, meaning that everyone in the network both agrees to and enforces the rules. Any time I say “Bitcoin does this” or similar, what I’m really saying is that “The rules say this” and everyone in the network enforces those rules.
• Finally, every last factor I’ve already described operates completely separate from the factors that determine how much a Bitcoin is worth. This means that sudden changes in the value of a bitcoin can make or break mining operations. Granted if a drop in price knocks some miners out of the picture, difficulty will decrease to accommodate, but that takes time. Miners follow the market – the market does not follow the miners.

Hopefully this description is adequately detailed but written simply enough that it can be of some help to some new Bitcoiners out there. I know it can be tough to wrap your head around the technical details if you don’t come into the world of Bitcoin already understanding cryptography and programming.

If anything is unclear or if you think you’ve got something worth adding, let me know in the comments and I’ll do my best to keep everyone happy!

Update: This post has been getting a lot of attention lately and I’ve been overwhelmed with variations around one question: “What purpose does mining actually serve?”

• Mining allows the initial supply of Bitcoins to be distributed without a centralized authority

Distributing currency is an easy task if you’ve just got a central authority – that authority just prints up some money and decides who to give it to. When you have no central authority and you don’t want any old schmuck printing up a ton of currency at will and destroying your money supply with inflation, you’ve got some hard problems to solve. Mining solves this problem by including a difficult proof-of-work problem in Bitcoin’s very protocol for which the reward is a chunk of currency.

• Mining solves the Byzantine Generals Problem.

This is the part of the explanation that gets long and complicated – really long and complicated. It’s a rabbit hole and a half, but if you’re willing to go down that rabbit hole, the best place to start is probably this post from Bitcoin creator Satoshi Nakamoto. For a more generalized explanation, I recommend the Wikipedia article on Proof-of-work systems. The short version is that it’s a method for resolving conflicting transactions and preventing double-spending.

9 tips so far
0.08903437 BTC
(avg tip 0.00989 BTC)

## Tip With Bitcoin

146WJCCLLGgV545ETv4tUofpUafzzFYL2T

Each post has its own unique address, so your tips also tell me what you liked!

• 256

I usually describe hashes as a "unique barcode", and solving a block as "finding the barcode with smallest number in an entire metropolis". People are at ease with barcodes.

• http://codinginmysleep.com David Perry

There are a lot of ways to explain it, but what I'm going for is less analogy and more accuracy. I'm trying to explain exactly how it works without mincing words but also without using terms like SHA256, nonce, etc.

• 256

I see. But you know the word "hash" might as well be written in Mandarin. People won't get it on a first reading, despite the explanation.

• 256

I usually describe hashes as a "unique barcode", and solving a block as "finding the barcode with smallest number in an entire metropolis". People are at ease with barcodes.

• http://codinginmysleep.com David Perry

There are a lot of ways to explain it, but what I'm going for is less analogy and more accuracy. I'm trying to explain exactly how it works without mincing words but also without using terms like SHA256, nonce, etc.

• 256

I see. But you know the word "hash" might as well be written in Mandarin. People won't get it on a first reading, despite the explanation.

• TwistMyArm

Thanks for the article… I can point my friends to it now when they ask

You mentioned mining pools and I've had a nagging question in the back of my head for a while now, but never ended up asking it anywhere. So I'm just going to ask now (and apologies in advance if this is too off topic).

If I'm connected to a mining pool, I'm doing work as a larger group, in the hope that someone in the group is going to find the hash and then basically share the result back to the pool: the pool actually gets the 'credit' for the mining, but then shares that with the people in the pool. I think that's an accurate summary and if not, please correct me… it's what leads to my question.

If this is the case and I am a member of the pool, then I actually discover a valid hash, what's to stop me using a 'tweaked' version of the client so that I can stop sending that hash back to the pool and then just using the result myself to claim the block? That would give me the full credit for the hash, but still continue to receive a trickle of credits from the pool.

I have no doubt I'm missing something here, but would love to fill out that piece of knowledge.

Thanks!

• Edward Lorenz

I would guess that there is one client used on some "master" machine that distributes work to the entire pool. You having a machine in a pool doesn't mean you get to run the client, just that you are contributing processing power. When a valid hash is found, the "master" machine then determines how much processing power each machine contributed and divides the newly created bitcoins accordingly. I would also guess the client on the "master" machine is an altered version (to work with many machines and distributes funds correctly) but since the clients are open source everyone in the pool is welcome to view the source code to ensure that the master client is correctly distributing funds. If this is the case then, in theory, the owner of the master machine might be able to fiddle with the client to give him more of a share each time (or all of the share) but again, I would guess the master machine and the source of the client are open to everyone in the pool to ensure no one is cheating.

• http://benmanns.com Benjamin Manns

I believe the reason that you can't steal blocks from a Bitcoin pool is because you are hashing a bunch of information that contains your Bitcoin version, the hash of the previous block, a "merkle root" that stores transaction information, the time, the difficulty, and finally a random number that you fudge around to try to get the right hash.

The "merkle root" stores the transaction information, which includes a transaction to the pool owner's address. So, even if you get the "correct" answer, if you were to try to steal it and send it as your own to the Bitcoin network, the 50 Bitcoin bounty would still be going to the pool owner.

• http://codinginmysleep.com David Perry

This is absolutely correct. The block you're hashing contains a list of transactions and one of those transactions is the one that generates the block reward. If you change that transaction you change the hash and invalidate all your hard work.

• TwistMyArm

Awesome. Thanks for the explanation… that makes total sense.

• TwistMyArm

Thanks for the article… I can point my friends to it now when they ask

You mentioned mining pools and I've had a nagging question in the back of my head for a while now, but never ended up asking it anywhere. So I'm just going to ask now (and apologies in advance if this is too off topic).

If I'm connected to a mining pool, I'm doing work as a larger group, in the hope that someone in the group is going to find the hash and then basically share the result back to the pool: the pool actually gets the 'credit' for the mining, but then shares that with the people in the pool. I think that's an accurate summary and if not, please correct me… it's what leads to my question.

If this is the case and I am a member of the pool, then I actually discover a valid hash, what's to stop me using a 'tweaked' version of the client so that I can stop sending that hash back to the pool and then just using the result myself to claim the block? That would give me the full credit for the hash, but still continue to receive a trickle of credits from the pool.

I have no doubt I'm missing something here, but would love to fill out that piece of knowledge.

Thanks!

• Edward Lorenz

I would guess that there is one client used on some "master" machine that distributes work to the entire pool. You having a machine in a pool doesn't mean you get to run the client, just that you are contributing processing power. When a valid hash is found, the "master" machine then determines how much processing power each machine contributed and divides the newly created bitcoins accordingly. I would also guess the client on the "master" machine is an altered version (to work with many machines and distributes funds correctly) but since the clients are open source everyone in the pool is welcome to view the source code to ensure that the master client is correctly distributing funds. If this is the case then, in theory, the owner of the master machine might be able to fiddle with the client to give him more of a share each time (or all of the share) but again, I would guess the master machine and the source of the client are open to everyone in the pool to ensure no one is cheating.

• http://benmanns.com Benjamin Manns

I believe the reason that you can't steal blocks from a Bitcoin pool is because you are hashing a bunch of information that contains your Bitcoin version, the hash of the previous block, a "merkle root" that stores transaction information, the time, the difficulty, and finally a random number that you fudge around to try to get the right hash.

The "merkle root" stores the transaction information, which includes a transaction to the pool owner's address. So, even if you get the "correct" answer, if you were to try to steal it and send it as your own to the Bitcoin network, the 50 Bitcoin bounty would still be going to the pool owner.

• http://codinginmysleep.com David Perry

This is absolutely correct. The block you're hashing contains a list of transactions and one of those transactions is the one that generates the block reward. If you change that transaction you change the hash and invalidate all your hard work.

• TwistMyArm

Awesome. Thanks for the explanation… that makes total sense.

• http://braininstitute.mch.com Neal

This is a great description, but I'd like to hear more about the second to last bullet point about how the network enforces the rules. How? Is there a "vote" by machines in the network about what the difficulty should be? What happens if a substantial percentage of nodes arbitrarily decide to accept a block solution with a lower amount of difficulty?

• http://codinginmysleep.com David Perry

It works like this: My Bitcoin client is connected to a bunch of other clients which are themselves connected to still more clients. When my client receives a transaction from someone it's connected to, it checks that transaction against the rules it's programmed to follow. If the transaction follows the rules, my client accepts it as valid and then passes it on to the other nodes it's connected to. If it's not valid it rejects the transaction and does not pass it along. Invalid transactions, therefore, will have a hard time getting passed around the network at all, letalone getting into a block, since any block that contains an invalid transaction will also be ignored by proper clients.

If a substantial percentage of nodes arbitrarily decide to accept a block solution with lowered difficulty, or in any other way break the rules, then the long list of blocks "forks" or splits off in two directions. While it's possible to force a modified client to accept one version of reality, the default behavior is that whichever side of such a fork is longer – i.e. whichever one has grown longer because the majority of miners support it – is considered valid. In this way, Bitcoin can be modified in a distributed and democratic manner, with miners voting on modifications with their computing power.

• http://braininstitute.mch.com Neal

This is a great description, but I'd like to hear more about the second to last bullet point about how the network enforces the rules. How? Is there a "vote" by machines in the network about what the difficulty should be? What happens if a substantial percentage of nodes arbitrarily decide to accept a block solution with a lower amount of difficulty?

• http://codinginmysleep.com David Perry

It works like this: My Bitcoin client is connected to a bunch of other clients which are themselves connected to still more clients. When my client receives a transaction from someone it's connected to, it checks that transaction against the rules it's programmed to follow. If the transaction follows the rules, my client accepts it as valid and then passes it on to the other nodes it's connected to. If it's not valid it rejects the transaction and does not pass it along. Invalid transactions, therefore, will have a hard time getting passed around the network at all, letalone getting into a block, since any block that contains an invalid transaction will also be ignored by proper clients.

If a substantial percentage of nodes arbitrarily decide to accept a block solution with lowered difficulty, or in any other way break the rules, then the long list of blocks "forks" or splits off in two directions. While it's possible to force a modified client to accept one version of reality, the default behavior is that whichever side of such a fork is longer – i.e. whichever one has grown longer because the majority of miners support it – is considered valid. In this way, Bitcoin can be modified in a distributed and democratic manner, with miners voting on modifications with their computing power.

• http://gravatar.com/lectrick lectrick

How does the network determine the difficulty and how do they agree on that number?

• http://codinginmysleep.com David Perry

There's a mathematical formula that gets applied based on how long it's taken for the last several blocks to get solved. If blocks have, on average, taken less than 10 minutes then that means there's too much computing power for the current difficulty, so the difficulty increases. On the other hand, if blocks have been taking longer than 10 minutes on average, that means the difficulty is too high and it will decrease. This check is done every 2,016 blocks, or about every 2 weeks and is referred to as a "retarget."

• http://gravatar.com/x3haloed x3haloed

Where is the current difficulty value stored? In the most recent block? Who decides the difficulty value? Is this done by each BTC client?

• http://gravatar.com/theunhandledexception theunhandledexceptio

The difficulty for every block is part of the block header. All nodes verify this (and adjust difficulty) by following an algorithm.

The network algorithm attempts to keep the block generation rate at 1 block per 10 minutes. Every 2016 blocks (when the block height is a multiple of 2016) difficult is computed. 2016 blocks @ 10 minutes per block = 20,160 minutes (14 days). On every 2016 multiple all nodes take the timestamp of the that block and the block 2016 blocks prior and calculate the timespan. If will likely not be exactly 20,160 minutes. An algorithm adjusts the difficulty to the difficulty that would have been required to make the prior 2016 blocks exactly 10 minutes.

This process is deterministic so all nods independently can verify that difficulty is correct and determine the next difficulty with only an implementation of the protocol and the blockchain (historical sequence of blocks).

Even if one doesn't find value in Bitcoin as a currency it is a rather ingenious application of p2p cryptographic principals. It has applications beyond just a virtual currency. In one sentence the purpose of "mining" is to create a consensus among nodes using a "proof of work" as a mechanism for voting.

• http://gravatar.com/lectrick lectrick

How does the network determine the difficulty and how do they agree on that number?

• http://codinginmysleep.com David Perry

There's a mathematical formula that gets applied based on how long it's taken for the last several blocks to get solved. If blocks have, on average, taken less than 10 minutes then that means there's too much computing power for the current difficulty, so the difficulty increases. On the other hand, if blocks have been taking longer than 10 minutes on average, that means the difficulty is too high and it will decrease. This check is done every 2,016 blocks, or about every 2 weeks and is referred to as a "retarget."

• http://gravatar.com/x3haloed x3haloed

Where is the current difficulty value stored? In the most recent block? Who decides the difficulty value? Is this done by each BTC client?

• http://gravatar.com/theunhandledexception theunhandledexceptio

The difficulty for every block is part of the block header. All nodes verify this (and adjust difficulty) by following an algorithm.

The network algorithm attempts to keep the block generation rate at 1 block per 10 minutes. Every 2016 blocks (when the block height is a multiple of 2016) difficult is computed. 2016 blocks @ 10 minutes per block = 20,160 minutes (14 days). On every 2016 multiple all nodes take the timestamp of the that block and the block 2016 blocks prior and calculate the timespan. If will likely not be exactly 20,160 minutes. An algorithm adjusts the difficulty to the difficulty that would have been required to make the prior 2016 blocks exactly 10 minutes.

This process is deterministic so all nods independently can verify that difficulty is correct and determine the next difficulty with only an implementation of the protocol and the blockchain (historical sequence of blocks).

Even if one doesn't find value in Bitcoin as a currency it is a rather ingenious application of p2p cryptographic principals. It has applications beyond just a virtual currency. In one sentence the purpose of "mining" is to create a consensus among nodes using a "proof of work" as a mechanism for voting.

• M Epher

This article is all fine and dandy, but anyone who is just now thinking of getting into mining is more than a little bit late to the party. With the recent and coming increases in difficulty, coupled with new highly-efficient, specialized hardware beginning to hit the streets, the days of easy, profitable mining with consumer grade graphics cards are numbered. The price of entry is going up, margins are going down, and casual miners will soon be squeezed out of the market. I still mine from my home with a low-end rig, but I would not recommend that anyone start now.

I do not doubt that Bitcoin will continue to catch on as an alternative currency, and it may be more than deserving of the hype, but it must be noted that mining is quickly becoming impractical for most folks, i.e. anyone who would learn from this article. Of course, it was not the intention of the developers that mining be profitable, especially in the long term.

• http://gravatar.com/theunhandledexception theunhandledexceptio

To me the article didn't read as a "how to" manual on mining. It is more an introduction to the concepts of mining for those who may be interested at how it works (but never actually attempt bitcoin mining).

Still M Epher warning is a good one. Bitcoin mining (technically transaction verification) is a fixed sum "game". Over time it has become increasingly competitive and that competitive pressure will only continue to increase in the future with the rise of specialized dedicated hashing processors (FPGA & ASICs). Someone thinking you can just buy a high end graphics card and rake it huge amounts of bitcoins for little to no effort will find themselves sadly mistaken. Of course any currency which is easily obtained with little effort by definition doesn't have much value.

• http://codinginmysleep.com David Perry

Yes, this was intentional. I wasn't trying to write a "how to" as there are dozens of those already all over the 'net and I didn't feel like re-inventing the wheel. I was trying to explain how mining / issuance worked to someone non-technical and realized I couldn't find any resources and had to explain it myself. Afterward I basically just wrote down my explanation.

• lastbit

It's not late to the party, and it will not be for the next years to come. Last year, investments in video cards paid itself in 3-8 months. Now it's probably late with video cards, but with ASICs, again as with video cards, market will finally self-stabilize around the point where they would pay for themselves in under one year.
"it was not the intention of the developers that mining be profitable" – you're wrong, please read Satoshi's paper, he specifically designed block reward, progressively to be supplemented and finally replaced with transaction fees, as incentives for the miners. And without incentives network would collapse because too few of us would pay (through cost of mining) to keep bitcoin operational.
But your warning is real, and I'd formulate it like this: never invest more than you can afford to loose in a worst case scenario.

• M Epher

This article is all fine and dandy, but anyone who is just now thinking of getting into mining is more than a little bit late to the party. With the recent and coming increases in difficulty, coupled with new highly-efficient, specialized hardware beginning to hit the streets, the days of easy, profitable mining with consumer grade graphics cards are numbered. The price of entry is going up, margins are going down, and casual miners will soon be squeezed out of the market. I still mine from my home with a low-end rig, but I would not recommend that anyone start now.

I do not doubt that Bitcoin will continue to catch on as an alternative currency, and it may be more than deserving of the hype, but it must be noted that mining is quickly becoming impractical for most folks, i.e. anyone who would learn from this article. Of course, it was not the intention of the developers that mining be profitable, especially in the long term.

• http://gravatar.com/theunhandledexception theunhandledexceptio

To me the article didn't read as a "how to" manual on mining. It is more an introduction to the concepts of mining for those who may be interested at how it works (but never actually attempt bitcoin mining).

Still M Epher warning is a good one. Bitcoin mining (technically transaction verification) is a fixed sum "game". Over time it has become increasingly competitive and that competitive pressure will only continue to increase in the future with the rise of specialized dedicated hashing processors (FPGA & ASICs). Someone thinking you can just buy a high end graphics card and rake it huge amounts of bitcoins for little to no effort will find themselves sadly mistaken. Of course any currency which is easily obtained with little effort by definition doesn't have much value.

• http://codinginmysleep.com David Perry

Yes, this was intentional. I wasn't trying to write a "how to" as there are dozens of those already all over the 'net and I didn't feel like re-inventing the wheel. I was trying to explain how mining / issuance worked to someone non-technical and realized I couldn't find any resources and had to explain it myself. Afterward I basically just wrote down my explanation.

• lastbit

It's not late to the party, and it will not be for the next years to come. Last year, investments in video cards paid itself in 3-8 months. Now it's probably late with video cards, but with ASICs, again as with video cards, market will finally self-stabilize around the point where they would pay for themselves in under one year.
"it was not the intention of the developers that mining be profitable" – you're wrong, please read Satoshi's paper, he specifically designed block reward, progressively to be supplemented and finally replaced with transaction fees, as incentives for the miners. And without incentives network would collapse because too few of us would pay (through cost of mining) to keep bitcoin operational.
But your warning is real, and I'd formulate it like this: never invest more than you can afford to loose in a worst case scenario.

• S Harle

Thanks for the explanation, this article fills a gap in helping the public understand. Another one I can point my friends to.

• S Harle

Thanks for the explanation, this article fills a gap in helping the public understand. Another one I can point my friends to.

• Ben Mordecai

This is very helpful, I appreciate you writing it.

• Ben Mordecai

This is very helpful, I appreciate you writing it.

• http://gravatar.com/dfuller299 Doug

Thanks for taking the time to write a great article for those who barely understand Bitcoins and the concept of mining, let alone how to do it. It's an excellent start and should do well to solve much curiousity out there!

• http://gravatar.com/dfuller299 Doug

Thanks for taking the time to write a great article for those who barely understand Bitcoins and the concept of mining, let alone how to do it. It's an excellent start and should do well to solve much curiousity out there!

• https://ozcoin.net Graet

Nice article – I will now use it as a starting point for new miners on my pool.
Thank you

• http://codinginmysleep.com David Perry

That's fantastic, glad I could help!

• http://gravatar.com/theunhandledexception theunhandledexceptio

Great article David. There really aren't many resources for people interested in learning about Bitcoin (or mining) without using Bitcoin. Most of the knowledge base in technical and practical in nature. I will link to this for people who are interested in HOW Bitcoin mining works but maybe not necessarily interested in mining.

One suggestion if you make a revision would be to include a section on WHY mining exists. Coin generation is one benefit but the core reason to verify and secure a canonical record of transactions. Coins have value because of the utlity they have (near instaneous transactions between any two parties anywhere in the world with no intermediary). Mining is what creates that utility. Without mining transactions could be easily faked, duplicated, or reversed. Mining gives coins value because the recipient can rely on the network to ensure that transaction becomes canonical.

• https://ozcoin.net Graet

Nice article – I will now use it as a starting point for new miners on my pool.
Thank you

• http://codinginmysleep.com David Perry

That's fantastic, glad I could help!

• http://gravatar.com/theunhandledexception theunhandledexceptio

Great article David. There really aren't many resources for people interested in learning about Bitcoin (or mining) without using Bitcoin. Most of the knowledge base in technical and practical in nature. I will link to this for people who are interested in HOW Bitcoin mining works but maybe not necessarily interested in mining.

One suggestion if you make a revision would be to include a section on WHY mining exists. Coin generation is one benefit but the core reason to verify and secure a canonical record of transactions. Coins have value because of the utlity they have (near instaneous transactions between any two parties anywhere in the world with no intermediary). Mining is what creates that utility. Without mining transactions could be easily faked, duplicated, or reversed. Mining gives coins value because the recipient can rely on the network to ensure that transaction becomes canonical.

• Danilo

This is all fine, a decentralized digital currency with a complex mechanism that makes it highly impractical to hack, steal, embezzle and all, but what I can't understand is how do you set a value to, let's say, 1 coin. You mentioned a possibility of a sudden change in the value of a bitcoin so if it does not have some central bank backing it, what are the factors in play when it comes to determining the value of that currency?

P.S. Great article btw.

• http://codinginmysleep.com David Perry
• Danilo

This is all fine, a decentralized digital currency with a complex mechanism that makes it highly impractical to hack, steal, embezzle and all, but what I can't understand is how do you set a value to, let's say, 1 coin. You mentioned a possibility of a sudden change in the value of a bitcoin so if it does not have some central bank backing it, what are the factors in play when it comes to determining the value of that currency?

P.S. Great article btw.

• http://codinginmysleep.com David Perry
• Pingback: How Does Bitcoin Work? ← Brandon Anzaldi()

• Pingback: How Does Bitcoin Work? ← Brandon Anzaldi()

• Vurain Purai

I haven't got a clue what all this means.

• Vurain Purai

I haven't got a clue what all this means.

• Josh

is it possible to run fractional reserve banking as an abstract layer over bitcoin? Thus lending and making purchases and sales for your customers with their bitcoin savings of which you only own 30% of the actual bitcoins you represent for your clients?

• Josh

is it possible to run fractional reserve banking as an abstract layer over bitcoin? Thus lending and making purchases and sales for your customers with their bitcoin savings of which you only own 30% of the actual bitcoins you represent for your clients?

• Tom P

I guess the article is fine. I understood all that was explained. But one thing was missing – Why? Why would someone mine? What does it accomplish? Is it simply a way of earning Bitcoins? To what end? Simply having Bitcoins? Are you solving hashes for a reason? Or is this just busy-work to allow for the adding of currency to the system in a controlled manner?

I just don't understand why someone would mine other than the acquisition of Bitcoins.

Mining provides security to the network. Since each block contains a difficult-to-compute (but easy to verify) hash and a reference to the block before it someone attempting to fraudulently rewrite history would have to compute that hash before the network will accept his or her transactions. If there have been three blocks since the block containing the transaction the fraudster wants to change, he or she would have to recompute the hashes for ALL of them. Not only that, but he or she would have to do so faster than the combined speed of all miners everywhere.

• Amar

it's analogous to mining for Gold (Au).

• Tom P

I guess the article is fine. I understood all that was explained. But one thing was missing – Why? Why would someone mine? What does it accomplish? Is it simply a way of earning Bitcoins? To what end? Simply having Bitcoins? Are you solving hashes for a reason? Or is this just busy-work to allow for the adding of currency to the system in a controlled manner?

I just don't understand why someone would mine other than the acquisition of Bitcoins.

Mining provides security to the network. Since each block contains a difficult-to-compute (but easy to verify) hash and a reference to the block before it someone attempting to fraudulently rewrite history would have to compute that hash before the network will accept his or her transactions. If there have been three blocks since the block containing the transaction the fraudster wants to change, he or she would have to recompute the hashes for ALL of them. Not only that, but he or she would have to do so faster than the combined speed of all miners everywhere.

• Amar

it's analogous to mining for Gold (Au).

• Andre

This "mining" software and the whole thing must be doing something else besides mining (for virtual coins). Keep your eyes open kids.

There are about 40 different commonly-used mining applications for several platforms and they're almost all open-source and have been peer-reviewed by a huge community of programmers. This comment is FUD being spread by someone who has no idea what he's talking about, has done zero research and possibly has ulterior motives.

I'll thank you not to comment on my site unless you have a question to ask or something meaningful to add.

• Andre

This "mining" software and the whole thing must be doing something else besides mining (for virtual coins). Keep your eyes open kids.

There are about 40 different commonly-used mining applications for several platforms and they're almost all open-source and have been peer-reviewed by a huge community of programmers. This comment is FUD being spread by someone who has no idea what he's talking about, has done zero research and possibly has ulterior motives.

I'll thank you not to comment on my site unless you have a question to ask or something meaningful to add.

• Anon

Nice job, thanks for writing this up… Helped tremendously.

• Anon

Nice job, thanks for writing this up… Helped tremendously.

• Alan

It's getting less fuzzy, but still not clear:

Mining: What stops someone from saying "oh look, I have this old bitcoin from way back at the beginning when they were easy to generate that I never spent, here ya go I'll pay with this"?

Transactions: The miners are apparently somehow involved in transaction processing, as that's apparently how the long term bitcoin market will continue to function, but it's not clear what they're doing. If they're just getting a cut of transactions, then it sounds like a pyramid where those early in and generate (mine) the bitcoins forever get income from transactions, and after, well, too late.

On the other hand, once a coin has been mined, signing a transfer and adding it to the chain seems a relatively simple process, not needing the p2p network to contribute anything to it.

Another possibility is that the p2p network (or maybe just the miners?) get copies of all transactions and verify that a coin hasn't already been spent, but that doesn't sound scaleable…

• http://codinginmysleep.com David Perry

I'll do my best to address your questions one at a time, in order.

Mining: The entire point of mining is to stop exactly what you're describing. Because each block in the chain is signed by the block before it and validated by a hard-to-solve math problem (mining) in order to spend those old coins you'd either have to actually have control of a private key for that address – i.e. legitimately own the coins – or rewrite history all the way back to that point in time, meaning you'd have to re-do all that difficult math for every block and transaction that's occurred for years – and do it faster than the legitimate miners so you can catch up to them.

Transactions: Miners' jobs are to prevent double-spend. They do this by validating one and only one version of history through the application of a large amount of processing power. The reward is twofold: generated coins and transaction fees. When you're issuing a currency without any central authority you run into a lot of "how" and "who" problems. Bitcoin solved these by distributing newly minted coins to miners. There is a limited supply of these coins, there will only every be 21 million and eventually miners will get no such reward. At that point, the only reward they will receive is in the form of transaction fees, and transaction fees do not a pyramid make. There is something to be said for early miners getting rich, but you could say the same about those who bought in with cash when 10,000 coins was worth two pizzas instead of a private island. It's not so much a factor of mining so much as a factor of getting in early on something that turned out awesome.

Signing and transmitting a transaction is, in fact, pretty simple. The problem comes when you have conflicting transactions broadcast simultaneously, the infamous "double spend" – this is the purpose of miners as I've previously mentioned, to record and validate one and only one version of history which then becomes canonical.

The miners do get copies of all transactions and verify that a coin hasn't already been spent. There have been some scaling problems, they're being addressed in a number of interesting ways. If you want the technical details on that I'd suggest visiting the Wiki or the StackExchange as going into detail here would turn this already-long comment into its own entire post 😉

• Alan

OK, let's try it this way: I think a source of confusion is the term "mining". I was thinking that the mining process is finding magic values that correspond to Bitcoins, but in fact, mining is validating a transaction chain by finding the nonce that causes the transaction chain block to hash to a value in a target range. Currently, miners who find such a nonce are rewarded by the Bank of Bitcoinia with a 25B note (currently), where said note is a Bitcoin value ("coinbase") digitally signed by the Network. That will continue, scaling downward, until the total value in circulation reaches a limit (rather like IPv4 allocations 😉 ). After that, miners will get a vastly smaller transaction fee, which is entirely voluntary, for validating a transaction.

That raises the question of what happens if there's nothing going on (no new transactions to process), and conversely, given the 10-minute rule, that would seem to imply no more than one transaction every 10 minutes can be processed.

The notion of "longest chain" implies that maybe instead, some random block is targeted and some additional nonce that makes a proper hash is added into the list, but that doesn't sound right either.

Basically, the computational part that every keeps explaining makes sense (hashing and digital signature chains), but the process, or, what I call "the bitcoin life cycle", and how what the miners are doing fits into it, is what keeps getting left out of the explanations…

• http://codinginmysleep.com David Perry

If there's nothing going on then the block only contains a unique block number and the transaction in which the miner is paid their 25 BTC. A great many transactions may be processed every 10 minutes since each block can contain a great many transactions.

I'm not sure what you mean about the "random block targeting" part though I do agree that your description doesn't seem quite right – I just can't quite work out what the question is to answer it…

• Alan

OK, that makes sense.

The "random block targeting" was assuming that if nothing was going on, maybe some previous block was rehashed to find another nonce that hashed properly, but I just went back and reread the part about the block chain, and I think that's falling into place too: I was thinking a given bitcoin had it's own chain, but the entire bitcoin universe is one long chain of blocks, so once your transaction is embedded it in somewhere (and "old bitcoins" are *way* back in the chain), it's a lot of work to recreate the chain.

So the remaining question then is how they're linked together such that you couldn't just replace the one block in the middle (though this would be a variant of the "old bitcoin" question – even if you could, it would only work if the bitcoin hadn't been used since. Or if it had, you'd have to replace all those blocks as well. I think the answer to this question is that with the distributed transaction ledger, it would be nearly impossible to get your updated version installed and The Network would reject it as not matching the Official Version.

Also, since the transactions are digitally signed, the only viable forgery is of an initial bitcoin grant, otherwise there'd be a break in the signature chain. 'm assuming the initial granting of bitcoins is signed as well, though that key would have to be distributed and isn't likely to remain a secret, so maybe that's not the case?

Finally, someone must be tracing the block chain to make sure a presented transaction isn't completely made up. Is this a function of the miners? Presumably it's whoever receives the transaction request for processing, so I guess that question is "who do you send transactions to for processing?"

• Alan

It's getting less fuzzy, but still not clear:

Mining: What stops someone from saying "oh look, I have this old bitcoin from way back at the beginning when they were easy to generate that I never spent, here ya go I'll pay with this"?

Transactions: The miners are apparently somehow involved in transaction processing, as that's apparently how the long term bitcoin market will continue to function, but it's not clear what they're doing. If they're just getting a cut of transactions, then it sounds like a pyramid where those early in and generate (mine) the bitcoins forever get income from transactions, and after, well, too late.

On the other hand, once a coin has been mined, signing a transfer and adding it to the chain seems a relatively simple process, not needing the p2p network to contribute anything to it.

Another possibility is that the p2p network (or maybe just the miners?) get copies of all transactions and verify that a coin hasn't already been spent, but that doesn't sound scaleable…

• http://codinginmysleep.com David Perry

I'll do my best to address your questions one at a time, in order.

Mining: The entire point of mining is to stop exactly what you're describing. Because each block in the chain is signed by the block before it and validated by a hard-to-solve math problem (mining) in order to spend those old coins you'd either have to actually have control of a private key for that address – i.e. legitimately own the coins – or rewrite history all the way back to that point in time, meaning you'd have to re-do all that difficult math for every block and transaction that's occurred for years – and do it faster than the legitimate miners so you can catch up to them.

Transactions: Miners' jobs are to prevent double-spend. They do this by validating one and only one version of history through the application of a large amount of processing power. The reward is twofold: generated coins and transaction fees. When you're issuing a currency without any central authority you run into a lot of "how" and "who" problems. Bitcoin solved these by distributing newly minted coins to miners. There is a limited supply of these coins, there will only every be 21 million and eventually miners will get no such reward. At that point, the only reward they will receive is in the form of transaction fees, and transaction fees do not a pyramid make. There is something to be said for early miners getting rich, but you could say the same about those who bought in with cash when 10,000 coins was worth two pizzas instead of a private island. It's not so much a factor of mining so much as a factor of getting in early on something that turned out awesome.

Signing and transmitting a transaction is, in fact, pretty simple. The problem comes when you have conflicting transactions broadcast simultaneously, the infamous "double spend" – this is the purpose of miners as I've previously mentioned, to record and validate one and only one version of history which then becomes canonical.

The miners do get copies of all transactions and verify that a coin hasn't already been spent. There have been some scaling problems, they're being addressed in a number of interesting ways. If you want the technical details on that I'd suggest visiting the Wiki or the StackExchange as going into detail here would turn this already-long comment into its own entire post 😉

• Alan

OK, let's try it this way: I think a source of confusion is the term "mining". I was thinking that the mining process is finding magic values that correspond to Bitcoins, but in fact, mining is validating a transaction chain by finding the nonce that causes the transaction chain block to hash to a value in a target range. Currently, miners who find such a nonce are rewarded by the Bank of Bitcoinia with a 25B note (currently), where said note is a Bitcoin value ("coinbase") digitally signed by the Network. That will continue, scaling downward, until the total value in circulation reaches a limit (rather like IPv4 allocations 😉 ). After that, miners will get a vastly smaller transaction fee, which is entirely voluntary, for validating a transaction.

That raises the question of what happens if there's nothing going on (no new transactions to process), and conversely, given the 10-minute rule, that would seem to imply no more than one transaction every 10 minutes can be processed.

The notion of "longest chain" implies that maybe instead, some random block is targeted and some additional nonce that makes a proper hash is added into the list, but that doesn't sound right either.

Basically, the computational part that every keeps explaining makes sense (hashing and digital signature chains), but the process, or, what I call "the bitcoin life cycle", and how what the miners are doing fits into it, is what keeps getting left out of the explanations…

• http://codinginmysleep.com David Perry

If there's nothing going on then the block only contains a unique block number and the transaction in which the miner is paid their 25 BTC. A great many transactions may be processed every 10 minutes since each block can contain a great many transactions.

I'm not sure what you mean about the "random block targeting" part though I do agree that your description doesn't seem quite right – I just can't quite work out what the question is to answer it…

• Alan

OK, that makes sense.

The "random block targeting" was assuming that if nothing was going on, maybe some previous block was rehashed to find another nonce that hashed properly, but I just went back and reread the part about the block chain, and I think that's falling into place too: I was thinking a given bitcoin had it's own chain, but the entire bitcoin universe is one long chain of blocks, so once your transaction is embedded it in somewhere (and "old bitcoins" are *way* back in the chain), it's a lot of work to recreate the chain.

So the remaining question then is how they're linked together such that you couldn't just replace the one block in the middle (though this would be a variant of the "old bitcoin" question – even if you could, it would only work if the bitcoin hadn't been used since. Or if it had, you'd have to replace all those blocks as well. I think the answer to this question is that with the distributed transaction ledger, it would be nearly impossible to get your updated version installed and The Network would reject it as not matching the Official Version.

Also, since the transactions are digitally signed, the only viable forgery is of an initial bitcoin grant, otherwise there'd be a break in the signature chain. 'm assuming the initial granting of bitcoins is signed as well, though that key would have to be distributed and isn't likely to remain a secret, so maybe that's not the case?

Finally, someone must be tracing the block chain to make sure a presented transaction isn't completely made up. Is this a function of the miners? Presumably it's whoever receives the transaction request for processing, so I guess that question is "who do you send transactions to for processing?"

• nebuar

This is all very interesting and thanks for the article, but I am struck by a fundamental question: Isn't this absurd? Why would you design-in such huge external financial and resource costs to the creation of a virtual currency?

I understand the need for an underlying and distributed mechanism for creating the 'money supply' but surely if this was linked directly to transactions it could be done for nothing?

What is the economic advantage of this system? Why is it so important that it outways the huge disadvantage of all those wasted hours, wasted electricity, wasted hardware….?

Rather than re-invent this already very-over-invented wheel I'll just link you to the creator's own justification for this particular proof-of-work implementation: http://www.mail-archive.com/cryptography@metzdowd

• unclescrooge

security and reliability do have a cost, in terms of efforts and energy. Can you do better than this?

• nebuar

I wouldn't dream of suggesting I could do better (my belligerent tone of questioning is just an unfortunate side effect of wanting to understand better).

Thanks to David Perry for the helpful link, I do see how the level of security required to give this project credibilty requires a lot of time and effort.

The demand for real world resource in creating the currency does still bug me though. Time and effort sure, but real-world oil being required to power the computers to crack the code to create the virtual tokens, just seems…wasteful.

I don't yet understand enough to suggest anything approaching a better alternative.

Has this discussion been had elsewhere?

• Joe Z

I think when you compare it to the resources humanity already spends on creating and securing other currencies, I'm going to guess Bitcoin is likely rather cheap.

Consider all of the physical mining and physical protection involved in precious metal back curriencies, or the continual action of mints and currency presses, with the ever increasing arms race there to make hard-to-forge paper currency.

The advantage of bitcoin is that it takes almost nothing to store them (by today's storage standards), no active expenditure to guard them (once you encrypt your wallet, you can shut off your PC and consume nothing), and so on.

I think it's nothing short of genius.

also, you must consider that Bitcoin does have value to the market as people are willing to trade value with it…

• Lando

In the near future it not a stretch to think that "mega-corporations" or countries that have more tangible assets than they have currency to back, will move to a form of digital currency anyways. This little gem is just heading there earlier than the centralized, bank owned currencies. The US Dollar for example is not even owned by it's government as the Federal Reserve is a privately held company, where a British bank heads it's board of directors. Time to start mining.

• nebuar

This is all very interesting and thanks for the article, but I am struck by a fundamental question: Isn't this absurd? Why would you design-in such huge external financial and resource costs to the creation of a virtual currency?

I understand the need for an underlying and distributed mechanism for creating the 'money supply' but surely if this was linked directly to transactions it could be done for nothing?

What is the economic advantage of this system? Why is it so important that it outways the huge disadvantage of all those wasted hours, wasted electricity, wasted hardware….?

Rather than re-invent this already very-over-invented wheel I'll just link you to the creator's own justification for this particular proof-of-work implementation: http://www.mail-archive.com/cryptography@metzdowd

• unclescrooge

security and reliability do have a cost, in terms of efforts and energy. Can you do better than this?

• nebuar

I wouldn't dream of suggesting I could do better (my belligerent tone of questioning is just an unfortunate side effect of wanting to understand better).

Thanks to David Perry for the helpful link, I do see how the level of security required to give this project credibilty requires a lot of time and effort.

The demand for real world resource in creating the currency does still bug me though. Time and effort sure, but real-world oil being required to power the computers to crack the code to create the virtual tokens, just seems…wasteful.

I don't yet understand enough to suggest anything approaching a better alternative.

Has this discussion been had elsewhere?

• Joe Z

I think when you compare it to the resources humanity already spends on creating and securing other currencies, I'm going to guess Bitcoin is likely rather cheap.

Consider all of the physical mining and physical protection involved in precious metal back curriencies, or the continual action of mints and currency presses, with the ever increasing arms race there to make hard-to-forge paper currency.

The advantage of bitcoin is that it takes almost nothing to store them (by today's storage standards), no active expenditure to guard them (once you encrypt your wallet, you can shut off your PC and consume nothing), and so on.

I think it's nothing short of genius.

also, you must consider that Bitcoin does have value to the market as people are willing to trade value with it…

• Lando

In the near future it not a stretch to think that "mega-corporations" or countries that have more tangible assets than they have currency to back, will move to a form of digital currency anyways. This little gem is just heading there earlier than the centralized, bank owned currencies. The US Dollar for example is not even owned by it's government as the Federal Reserve is a privately held company, where a British bank heads it's board of directors. Time to start mining.

• Sandaway

Suppose
1) the number of coins is limited, 21 million or other number;
2) more merchants are willing to use bitcoins.
Then a conclusion is the same bit coin's value will increase.

How will a loan work in this negative interest environment?

• Sandaway

Suppose
1) the number of coins is limited, 21 million or other number;
2) more merchants are willing to use bitcoins.
Then a conclusion is the same bit coin's value will increase.

How will a loan work in this negative interest environment?

• http://postglory.com commonbeing

Oh dear, so what happens when the quantum computer gets out the gate, this will make the whole mining thing obsolete, as quantum computers deal in not just zeros and ones but everything in-between and at the same time.
Whoever has the first quantum computer will rule the entire bitcoin mine and could crash the entire system or at least control and manipulate the value of bitcoin at will.
In any case mining seems like a lot of wasted resources, wouldn't it be better to actually produce something of value to control the value of bitcoin, it reminds me of the punishment they used to give prisoners where they would have to turn a handle that does not result in anything but drive the counter display, of course the guards could adjust the resistance of the handle to make it harder.

• http://postglory.com commonbeing

Oh dear, so what happens when the quantum computer gets out the gate, this will make the whole mining thing obsolete, as quantum computers deal in not just zeros and ones but everything in-between and at the same time.
Whoever has the first quantum computer will rule the entire bitcoin mine and could crash the entire system or at least control and manipulate the value of bitcoin at will.
In any case mining seems like a lot of wasted resources, wouldn't it be better to actually produce something of value to control the value of bitcoin, it reminds me of the punishment they used to give prisoners where they would have to turn a handle that does not result in anything but drive the counter display, of course the guards could adjust the resistance of the handle to make it harder.

• http://www.curiouser.co.uk Rob

3 questions:

1) Will the invention of Bitcoins or other 'virtual currencies' have an inflationary effect on existing currencies?

2) What is to stop anyone creating further 'virtual currencies' using exactly the same code/system? Could we not end up with multiple virtual currencies all using identical or similar coding?

3) I understand the need for the mining of Bitcoins to be difficult but would it not be possible for the computing power of the miners to be used to do something intrinsically useful as well as making the Bitcoin system feasible? Are there no useful number crunching problems which all this processing power could be used to solve in addition to validating the transactions?

Thanks for the article.

• Jovan Zec

1) In my opinion any new currency – virtual or ‘traditional’ – once it gets recognized as a valid method of payment between at least 2 people and as long as its total monetary mass grows at slower rates than other existing currencies, will originate an inflationary effect on those other currencies. Putting it in very simple terms, the same way Zimbabweans prefer to use US Dollars in their daily lives instead of Zimbabwean Dollars, people might get to the point of trusting more in the value of a virtual currency than in the currency issued by the U.S. Federal Reserve Bank. Therefore, people will try to get rid of any USD as soon as they receive them, generating its devaluation and inflation since there will be many people selling USD and no one interested in buying / using them.
2) Currencies with the same built-in code in terms of monetary mass growth will always maintain the same value in exchange terms. Nevertheless currencies with more liquidity, i.e., that are more generally accepted as a payment method will tend to be more valuable than others less used, since no one would feel particularly interested in for example using a new currency offering the same advantages as an already existing one.
3) Personally I think Bitcoin mining is a waste of time and energy since you could have a fixed amount of currency units and as more people start trusting / using the currency and as its exchange rate value increases in relation to other currencies, the built-in rule could be something like the equivalent to a stock split, which has the advantage of having a neutral effect of the real value of your savings while increasing the liquidity of the currency by making it easier to use in smaller transactions.

• http://www.curiouser.co.uk Rob

3 questions:

1) Will the invention of Bitcoins or other 'virtual currencies' have an inflationary effect on existing currencies?

2) What is to stop anyone creating further 'virtual currencies' using exactly the same code/system? Could we not end up with multiple virtual currencies all using identical or similar coding?

3) I understand the need for the mining of Bitcoins to be difficult but would it not be possible for the computing power of the miners to be used to do something intrinsically useful as well as making the Bitcoin system feasible? Are there no useful number crunching problems which all this processing power could be used to solve in addition to validating the transactions?

Thanks for the article.

• Jovan Zec

1) In my opinion any new currency – virtual or ‘traditional’ – once it gets recognized as a valid method of payment between at least 2 people and as long as its total monetary mass grows at slower rates than other existing currencies, will originate an inflationary effect on those other currencies. Putting it in very simple terms, the same way Zimbabweans prefer to use US Dollars in their daily lives instead of Zimbabwean Dollars, people might get to the point of trusting more in the value of a virtual currency than in the currency issued by the U.S. Federal Reserve Bank. Therefore, people will try to get rid of any USD as soon as they receive them, generating its devaluation and inflation since there will be many people selling USD and no one interested in buying / using them.
2) Currencies with the same built-in code in terms of monetary mass growth will always maintain the same value in exchange terms. Nevertheless currencies with more liquidity, i.e., that are more generally accepted as a payment method will tend to be more valuable than others less used, since no one would feel particularly interested in for example using a new currency offering the same advantages as an already existing one.
3) Personally I think Bitcoin mining is a waste of time and energy since you could have a fixed amount of currency units and as more people start trusting / using the currency and as its exchange rate value increases in relation to other currencies, the built-in rule could be something like the equivalent to a stock split, which has the advantage of having a neutral effect of the real value of your savings while increasing the liquidity of the currency by making it easier to use in smaller transactions.

• Pingback: Mine over Matter | Alberta Venture()

• Pingback: Mine over Matter | Alberta Venture()

• jclarkv

Great article, thank you.
Question: how does the miner 'claim' the reward for the work?

• jclarkv

Great article, thank you.
Question: how does the miner 'claim' the reward for the work?

• annskill

05-06-2013
Do you mind if I print out a copy of your explanation to send to a few interested friend. with all proper attributes to the you the original creator of article.
if no response with in 2 days I will take that as a no.
Thank you

Ann Skill
annskill@gmail.com

• annskill

05-06-2013
Do you mind if I print out a copy of your explanation to send to a few interested friend. with all proper attributes to the you the original creator of article.
if no response with in 2 days I will take that as a no.
Thank you

Ann Skill
annskill@gmail.com

• Pingback: How powerful is Bitcoin? | News to Watch()

• Pingback: How powerful is Bitcoin? | News to Watch()

• Pingback: How powerful is Bitcoin? — Financial Press()

• Pingback: How powerful is Bitcoin? — Financial Press()

• Benben

A nice way to explain a complex stuff.

• Benben

A nice way to explain a complex stuff.

• mahdi

Thanks. Excellent explanation.

• mahdi

Thanks. Excellent explanation.

• newbiecoin

I thought Bitcoins where just untraceable, virtual money that one could buy with real cash and then use to shop online with. Like, you use a bank card to buy say… \$500.00 worth of Bitcoins from some bitcoin dealer for like \$550.00. then you put those coins into some virtual bitcoin bank account under your personal screen name. then you can go to sites and buy stuff under your screen name so there'd be no record of the real you buying anything, then you'd also be able to sell stuff on bitcoin only, eBay type sites where all the transactions went on in secret.

• newbiecoin

I thought Bitcoins where just untraceable, virtual money that one could buy with real cash and then use to shop online with. Like, you use a bank card to buy say… \$500.00 worth of Bitcoins from some bitcoin dealer for like \$550.00. then you put those coins into some virtual bitcoin bank account under your personal screen name. then you can go to sites and buy stuff under your screen name so there'd be no record of the real you buying anything, then you'd also be able to sell stuff on bitcoin only, eBay type sites where all the transactions went on in secret.

• Mike

Maybe this is a dumb question but I can't seem to figure out if a solo miner working on a block is effected by difficulty increases. Do solo miners work on an individual unique block with a difficulty determined when they begin? Or is every miner working on the same difficulty? I am confused about how blocks are assigned and what there life cycle is… For example if my 10 computers have a combined hash rate of a few hundred mh/s and I could solve (for arguments sake) 1 bock per year at today's difficulty, would I be able to let each computer run on its own each taking ten years to solve a block? Or would the increased difficulty change the probability over time and take much longer?

Any help would be appreciated.

• Mike

Maybe this is a dumb question but I can't seem to figure out if a solo miner working on a block is effected by difficulty increases. Do solo miners work on an individual unique block with a difficulty determined when they begin? Or is every miner working on the same difficulty? I am confused about how blocks are assigned and what there life cycle is… For example if my 10 computers have a combined hash rate of a few hundred mh/s and I could solve (for arguments sake) 1 bock per year at today's difficulty, would I be able to let each computer run on its own each taking ten years to solve a block? Or would the increased difficulty change the probability over time and take much longer?

Any help would be appreciated.

• Lucas

So essentially you are using your computer's CPU, GPU or whatever else to crack the algorithms used to encrypt your chosen block and you are then rewarded with a chunk of currency equivalent to that block when you crack it… Seems like a good way to distribute bitcoins as it will get spread out much more with more people mining, despite the drop in how much and how quickly you can mine…

• Lucas

So essentially you are using your computer's CPU, GPU or whatever else to crack the algorithms used to encrypt your chosen block and you are then rewarded with a chunk of currency equivalent to that block when you crack it… Seems like a good way to distribute bitcoins as it will get spread out much more with more people mining, despite the drop in how much and how quickly you can mine…

• JIm

What I get from this is that the mining system is a contrived problem with a predetermined win rate, and in exchange for playing and getting Bitcoin the miners act as the infrastructure of the system.

Is it possible to know at any point in time, what % of Bitcoin has been mined vs that which has been converted from conventional currency?

Its too bad that all this computing muscle to find hash can not be diverted into solving a tangible co-benefit hash like predicting the weather or something. While mining mirrors real work to digging for gold to produce constant influx of new commodity, the work for traditional commodities (e.g., gold, oil, oranges) creates something of inherent value that benefits from a trading market but whos total value does not inherently rely on one.

• JIm

What I get from this is that the mining system is a contrived problem with a predetermined win rate, and in exchange for playing and getting Bitcoin the miners act as the infrastructure of the system.

Is it possible to know at any point in time, what % of Bitcoin has been mined vs that which has been converted from conventional currency?

Its too bad that all this computing muscle to find hash can not be diverted into solving a tangible co-benefit hash like predicting the weather or something. While mining mirrors real work to digging for gold to produce constant influx of new commodity, the work for traditional commodities (e.g., gold, oil, oranges) creates something of inherent value that benefits from a trading market but whos total value does not inherently rely on one.

• college

I was now aware from your blog about the fact that In Bitcoin, transactions are bundled up into big chunks of data called blocks. Thanks for making me awre of the same. This is a nice blog and I am a frequent visitor. Thanks you so much for sharing such a wonderful ideas

• college

I was now aware from your blog about the fact that In Bitcoin, transactions are bundled up into big chunks of data called blocks. Thanks for making me awre of the same. This is a nice blog and I am a frequent visitor. Thanks you so much for sharing such a wonderful ideas

• Pingback: Bitcoin Mining: A Beginner's Guide()

• Pingback: Bitcoin Mining: A Beginner's Guide()

• Jaegaren

Not very eco-friendly this mining activity. Thousands and thousands of computers using who knows how many megawatts of power to solve this cryptographic riddle and trickle a little more currency into the system. Anyone thought about the carbon footprint of all this? Seems bitcoin is ingenious in many ways, but environmentally friendly isn’t one of them.

• Axel

You could argue that the pollution of trucks that haul off the cut down trees to produce the paper our currency is printed on is just as inefficient.

We're humans. When it comes to achieving something, environmental friendliness isn't something we think of first.

• http://codinginmysleep.com David Perry

It's also worth keeping in mind that the first generation of anything is nowhere near power-efficient. Modern miners aren't running 2 kilowatts of CPU and GPU any more, they're running 300 watts worth of ASICs – and that's just the first gen ASICs. These things grow more power-efficient over time.

Also, don't forget that banks have massive server rooms full of computing equipment too.

The real value, IMO, is the fact a person can "encode" their wealth into a currency that cannot be arbitrarily manipulated, inflated etc. like the Fed can do now. Bitcoin my well establish and protect the true buying power of a currency which, in simplest terms is just your "Surplus" effort/value stored in a "tradable" form until you decide you want to acquire some other value/surplus that you want but may not or want to produce yourself from another – and Bitcoin makes it easy, safe and anonymous (especially from gov't) to make that transaction.

If Bitcoin can maintain a consistent value over time (since it is not manipulated) then the buying power will also become consistent. And what you will find that currencies that are inflated i.e. the dollar, will vary against the value of Bitcoin, Bitcoin does not or will not vary in value.

And the part that is hard to wrap you head around is that the dollar value is what fluctuates against gold… Gold doesn't go "up" or "down" in value/price – it really is a reflection in the varying degree of the price/value of the dollar as IT flucuates. If you look at a one 20 dollar gold coin from the early 1900's it was a one ounce… back then that one coin would purchase a nice custom men's suite from a tailor… now that same one ounce gold coin will still purchase a fine men's suite (gold is around \$1243 USD in Nov 2013) The value of gold (and it's purchasing power) remains constant as the buying power of the debt-backed dollar continues to become worth less and less and eventually will be worthless (pun intended).

Why does gold have value? Other than some of the industrial uses in electronics it only has value because people believe and act as if it does. So, Bitcoin can and is becoming the virtual gold that people will and do give value to…

Unless gov't can figure out a way to criminalize it and it will be difficult as it, by nature, is an "anti-fragile" commodity/concept then Bitcoin has the potential to disrupt and displace the centralized fiat currencies of the world… imo…

• Jaegaren

Not very eco-friendly this mining activity. Thousands and thousands of computers using who knows how many megawatts of power to solve this cryptographic riddle and trickle a little more currency into the system. Anyone thought about the carbon footprint of all this? Seems bitcoin is ingenious in many ways, but environmentally friendly isn’t one of them.

• Axel

You could argue that the pollution of trucks that haul off the cut down trees to produce the paper our currency is printed on is just as inefficient.

We're humans. When it comes to achieving something, environmental friendliness isn't something we think of first.

• http://codinginmysleep.com David Perry

It's also worth keeping in mind that the first generation of anything is nowhere near power-efficient. Modern miners aren't running 2 kilowatts of CPU and GPU any more, they're running 300 watts worth of ASICs – and that's just the first gen ASICs. These things grow more power-efficient over time.

Also, don't forget that banks have massive server rooms full of computing equipment too.

The real value, IMO, is the fact a person can "encode" their wealth into a currency that cannot be arbitrarily manipulated, inflated etc. like the Fed can do now. Bitcoin my well establish and protect the true buying power of a currency which, in simplest terms is just your "Surplus" effort/value stored in a "tradable" form until you decide you want to acquire some other value/surplus that you want but may not or want to produce yourself from another – and Bitcoin makes it easy, safe and anonymous (especially from gov't) to make that transaction.

If Bitcoin can maintain a consistent value over time (since it is not manipulated) then the buying power will also become consistent. And what you will find that currencies that are inflated i.e. the dollar, will vary against the value of Bitcoin, Bitcoin does not or will not vary in value.

And the part that is hard to wrap you head around is that the dollar value is what fluctuates against gold… Gold doesn't go "up" or "down" in value/price – it really is a reflection in the varying degree of the price/value of the dollar as IT flucuates. If you look at a one 20 dollar gold coin from the early 1900's it was a one ounce… back then that one coin would purchase a nice custom men's suite from a tailor… now that same one ounce gold coin will still purchase a fine men's suite (gold is around \$1243 USD in Nov 2013) The value of gold (and it's purchasing power) remains constant as the buying power of the debt-backed dollar continues to become worth less and less and eventually will be worthless (pun intended).

Why does gold have value? Other than some of the industrial uses in electronics it only has value because people believe and act as if it does. So, Bitcoin can and is becoming the virtual gold that people will and do give value to…

Unless gov't can figure out a way to criminalize it and it will be difficult as it, by nature, is an "anti-fragile" commodity/concept then Bitcoin has the potential to disrupt and displace the centralized fiat currencies of the world… imo…

• http://www.ehow.lv/paterina-kredits-aiznemies-pratigi/2013/10 Atrie krediti interneta

Quality posts is the main to be a focus for the users to go to
see the web site, that’s what this site is providing.

• http://www.ehow.lv/paterina-kredits-aiznemies-pratigi/2013/10 Atrie krediti interneta

Quality posts is the main to be a focus for the users to go to
see the web site, that’s what this site is providing.

• http://www.wiredtreeinccoupon.com wiredtree coupon

It’s really a nice and useful piece of information.
I am satisfied that you just shared this helpful information with us.
Please keep us informed like this. Thank you for sharing.

• http://www.wiredtreeinccoupon.com wiredtree coupon

It’s really a nice and useful piece of information.
I am satisfied that you just shared this helpful information with us.
Please keep us informed like this. Thank you for sharing.

• kevin

such a shame it doesn't serve a usefull purpose with all that electricity wasted like decoding proteines and genes… I find it a egoistic system and a waste of natural precious resources

• kevin

such a shame it doesn't serve a usefull purpose with all that electricity wasted like decoding proteines and genes… I find it a egoistic system and a waste of natural precious resources

• Larry Poke

OK. Nice article but I have yet to see for whom miners are solving these equations? How is the resulting data being used?

• Larry Poke

OK. Nice article but I have yet to see for whom miners are solving these equations? How is the resulting data being used?

• Tony Thomas

Future is going to get more complicated and techies are going to get an edge over everyone..

• Tony Thomas

Future is going to get more complicated and techies are going to get an edge over everyone..

• Michael

This is a really good post, thanks. I had a lot of trouble finding one that goes this far into the technical details but still keeps it at a beginner level.

• Michael

This is a really good post, thanks. I had a lot of trouble finding one that goes this far into the technical details but still keeps it at a beginner level.

• Anon II

Now anyone who has any prior knowledge of bitcoins would say that the above description is over simplified and less than accurate. Of course they would be right. But the closer the description comes to being totally accurate and NOT oversimplified, the more bulky and complex it becomes until it is infinitely large an barely understood, if at all, by only a handful of Harvard Business School professors. So let it rest.

• Anon II

Now anyone who has any prior knowledge of bitcoins would say that the above description is over simplified and less than accurate. Of course they would be right. But the closer the description comes to being totally accurate and NOT oversimplified, the more bulky and complex it becomes until it is infinitely large an barely understood, if at all, by only a handful of Harvard Business School professors. So let it rest.

• mquarles99

High performance mining hardware is readily available now days: http://www.ebay.com/sch/Other-/16145/i.html?_nkw=

• mquarles99

High performance mining hardware is readily available now days: http://www.ebay.com/sch/Other-/16145/i.html?_nkw=

I have a few questions:

1. Since bitcoin uses the physical infrastructure of the internet and therefore relies on ISPs as intermediaries how is it beyond government regulation? Isn't this the same debunked myth that was spread about the internet as a whole in the first place? Can't governments simply force regulation on ISPs to restrict, tax or otherwise control the flow of bitcoin traffic as they did to kill filesharing and bit torrents? Bitcoin if it gets large enough is a threat to national sovereignty because it undermines one of the chief forms of economic control that states (and their associated corporations) have at their disposal, ie. by controlling the money supply. why do you think a software which still has to operate in the real world would be able to undo that?

2. Who controls bitcoin? Who decides the rate at which bitcoins are created? This would seem to be the crucial question since whatever the form of currency the amount of it has to bear some relation to the size of the economy. If bitcoin were to somehow undermine all the other currencies that would seem to put an inordinate amount of power in the hands of one or a few people.

3. If Bitcoin is successful enough why would large financial institutions not just buy up the bulk of computing power and the bitcoins and then use that power to manipulate and set the fee rates and monopolize the creation on new bitcoins? Why would they then not pressure their governments to regulate it to their advantage?

• http://codinginmysleep.com David Perry

Have you been on the internet lately? Filesharing and BitTorrent is alive and well and exactly as unstoppable as the people you claim have been “debunked” say it is. Even if your ISP engages in traffic shaping or other invasive activity, a \$5/month VPN or (free) TOR destroys their ability to snoop entirely. There’s even an app out now that re-creates the Netflix experience entirely using illegally shared torrents of movies on the back-end. The things you seem to think are dead are not only alive – they’ve gotten better and easier. The internet views censorship as damage and routes around it.

As for “who controls Bitcoin” and “the rate at which bitcoins are created” you are literally commenting on an article that explains exactly that – it’s a distributed system. Math controls Bitcoin without any human intervention – there is no door to kick down, there is no central group to target. If you can get data from point A to point B across the internet, Bitcoin keeps on working, period. As for governments buying up mining hardware, that’s becoming less of an option with each passing day. The cost to do what you’re suggesting is currently about \$890 million, which exceeds the ENTIRE defense budget of about half of all nations and is consistently rising. Even if you did spend the \$890 million to 51% attack Bitcoin, you still can’t do most of the things you’re talking about, just double spend your coins. You can’t change the coin generation rate, you could exclude transactions without fees, but the other half of the network that remains honest will end up mining them anyway. All you could do with that kind of hashing power, essentially, is be a minor nuisance – which is simply not worth nearly a billion dollars. There is an article in this same series that explains the potential security vulnerabilities and attacks and why your concerns are (mostly) misplaced.

I have a few questions:

1. Since bitcoin uses the physical infrastructure of the internet and therefore relies on ISPs as intermediaries how is it beyond government regulation? Isn't this the same debunked myth that was spread about the internet as a whole in the first place? Can't governments simply force regulation on ISPs to restrict, tax or otherwise control the flow of bitcoin traffic as they did to kill filesharing and bit torrents? Bitcoin if it gets large enough is a threat to national sovereignty because it undermines one of the chief forms of economic control that states (and their associated corporations) have at their disposal, ie. by controlling the money supply. why do you think a software which still has to operate in the real world would be able to undo that?

2. Who controls bitcoin? Who decides the rate at which bitcoins are created? This would seem to be the crucial question since whatever the form of currency the amount of it has to bear some relation to the size of the economy. If bitcoin were to somehow undermine all the other currencies that would seem to put an inordinate amount of power in the hands of one or a few people.

3. If Bitcoin is successful enough why would large financial institutions not just buy up the bulk of computing power and the bitcoins and then use that power to manipulate and set the fee rates and monopolize the creation on new bitcoins? Why would they then not pressure their governments to regulate it to their advantage?

• http://codinginmysleep.com David Perry

Have you been on the internet lately? Filesharing and BitTorrent is alive and well and exactly as unstoppable as the people you claim have been “debunked” say it is. Even if your ISP engages in traffic shaping or other invasive activity, a \$5/month VPN or (free) TOR destroys their ability to snoop entirely. There’s even an app out now that re-creates the Netflix experience entirely using illegally shared torrents of movies on the back-end. The things you seem to think are dead are not only alive – they’ve gotten better and easier. The internet views censorship as damage and routes around it.

As for “who controls Bitcoin” and “the rate at which bitcoins are created” you are literally commenting on an article that explains exactly that – it’s a distributed system. Math controls Bitcoin without any human intervention – there is no door to kick down, there is no central group to target. If you can get data from point A to point B across the internet, Bitcoin keeps on working, period. As for governments buying up mining hardware, that’s becoming less of an option with each passing day. The cost to do what you’re suggesting is currently about \$890 million, which exceeds the ENTIRE defense budget of about half of all nations and is consistently rising. Even if you did spend the \$890 million to 51% attack Bitcoin, you still can’t do most of the things you’re talking about, just double spend your coins. You can’t change the coin generation rate, you could exclude transactions without fees, but the other half of the network that remains honest will end up mining them anyway. All you could do with that kind of hashing power, essentially, is be a minor nuisance – which is simply not worth nearly a billion dollars. There is an article in this same series that explains the potential security vulnerabilities and attacks and why your concerns are (mostly) misplaced.

• Jack

What happens when you throw a hard drive away with bitcoins embedded in the wallet? Eventually, there could be 21 million bitcoins and 9 million in dumps around the world, especially as hardware and software matures.

• http://codinginmysleep.com David Perry

Someone has already done it. It's tragic for them, but "always keep backups" is usually a painful lesson to learn. For the rest of us, it's like a 21st century treasure hunt!

• Jack

What happens when you throw a hard drive away with bitcoins embedded in the wallet? Eventually, there could be 21 million bitcoins and 9 million in dumps around the world, especially as hardware and software matures.

• http://codinginmysleep.com David Perry

Someone has already done it. It's tragic for them, but "always keep backups" is usually a painful lesson to learn. For the rest of us, it's like a 21st century treasure hunt!

• Bob

If you win bitcoins-how do you get them converted to USD? Who puts up the money to begin with?

• http://codinginmysleep.com David Perry

The idea that someone buys or sells their coins is a bit of a misnomer – they exchange them. Every buy is also a sell, and they all take place in a marketplace. There isn't anyone who "puts up the money to begin with" there is simply the aggregate behavior of a group of people exchanging one resource for another. If the demand for one good is high, it creates a shortage which increase price and vice versa. You're still thinking centralized, this is an entire economy in action.

• Bob

If you win bitcoins-how do you get them converted to USD? Who puts up the money to begin with?

• http://codinginmysleep.com David Perry

The idea that someone buys or sells their coins is a bit of a misnomer – they exchange them. Every buy is also a sell, and they all take place in a marketplace. There isn't anyone who "puts up the money to begin with" there is simply the aggregate behavior of a group of people exchanging one resource for another. If the demand for one good is high, it creates a shortage which increase price and vice versa. You're still thinking centralized, this is an entire economy in action.

• Anonymous

some kind of awkward English?

• Hugh

Interesting. Is there an estimate of when all twenty-one million bitcoins will be in circulation?

• Andrew Noon

around the year 2140.