Author

Topic: Another Crack at Explaining Bitcoin (Read 892 times)

sr. member
Activity: 444
Merit: 250
I prefer evolution to revolution.
December 10, 2014, 04:32:47 PM
#3
Thanks!

And I have yet another one:

You might do something for me because I agree to return the favor some day, right?  Suppose that there are a bunch of people doing things for others and expecting the favor to be returned in the future.  You might end up doing a lot of stuff for other people and so you will be owed lots of favors.  Not likely though, right, because it would be too hard to keep track of all those people who owe you a favor?

Suppose a group calling themselves "the miners" keeps track of all these earned-but-not-used favors.  Their tracking system allows you to collect a favor from someone who doesn't owe you one because they owe person A, who owes person B, who owes person C, who owes... who owes person Z, who owes you.  So when you collect a favor from that person, it cancels all the favors between person A and person Z.  That would be a pretty cool tracking system, right?

The miners compete with each other to protect the data they are tracking.  Every now and then, one of them finds a way to improve the protection of the data.  Basically, he or she makes it more difficult for anyone to mess with the database of who owes who a favor.  So perhaps it would make sense for everyone doing favors (and relying on the miners' work to keep track of them) to consider what the miner did to be a favor for which we all owe him.  This scheme enables anyone who wants to play to do favors for others without worrying that they'll never get paid back, because they can get paid back by anyone who owes a favor.

If you're smart, you're thinking this will never work because you might ask someone who owes a favor to do it for you, and they might refuse.  Quite right!  And you worry that everyone you ask might refuse.  These are good points and need to be addressed.  We address them by requiring that people do favors FIRST, before they are owed favors, and they will get credits for doing those favors.  But where do the credits come from?

Remember the miners who protect all the data about who owes whom a favor?  Well, now they can instead keep track of who has earned a credit.  Remember we agreed that they get credit each time they make it more difficult for anyone to mess with the data they're tracking?  The miners are the first people to get these credits - they do the first favors for everyone who will eventually benefit from this system.

As long as those miners do a good job of protecting this credit data and tracking who transfers credits to whom, we can continue paying them in credits.  As a matter of fact, this is exactly what bitcoin is.  We've implicitly agreed that after 210,000 successful attempts to make messing with the data more difficult, the credit for a miner who does it will be cut in half.  A bitcoin is one fiftieth of the initial credit, and today, miners only earn half a credit, or 25 bitcoins.
b!z
legendary
Activity: 1582
Merit: 1010
September 08, 2013, 01:32:00 AM
#2
Excellent explanation. I see you spent a lot of time writing it. Good job.
sr. member
Activity: 444
Merit: 250
I prefer evolution to revolution.
September 08, 2013, 12:12:42 AM
#1
This post may belong somewhere else, but I figured Newbies might like it best, since they are newbies.  I realize that they are newbies to the forum and not necessarily to Bitcoin, but I recommend the forum to people who are just learning about bitcoin, and they will have to post here to participate anywhere else, so now they have an intro post to which they can reply with any questions.  I'll do my best to share what I know, and I invite others to do the same.

Bitcoin was recently described to me by someone to whom I'd just explained bitcoin very briefly as "online rewards".  Quite an accurate observation!  You get a reward for having your computer compute some hashes from a highly condensed version of the data in the public ledger.  What public ledger?  I'll explain that later.  Let's nail down who pays for the reward and why.

The reward comes in the form of newly created bitcoin, which essentially dilutes the holdings of everyone who has bitcoin.  In this way, the entire bitcoin community pays the reward, in exact proportion to how much bitcoin each member holds.  Why are we willing to pay through this form of what can accurately be called "inflation"?  We pay it because we value the system's ability to transfer value (in the form of bitcoins) from one of us to another through the Internet, without a middleman that we have to trust.

The reward goes to a lucky computer owner whose machine has found a special number called a "nonce."  It's difficult to find the number, and the number that will work is different for each person trying to find it.  I'll explain why in a moment.  "Bitcoin mining" software, which is free and open-source, finds the number.  It starts with a nonce of zero and runs an algorithm that takes two main inputs (as well as some others that we can ignore for now).  The first main input is called a "hash" which is computed from all the new bitcoin transactions.  The second input is the nonce.  If the algorithm produces a small enough result, then the owner gets some bitcoin.  This is because one of the new transactions adds the reward to the owner's bitcoin address.  If the algorithm produces a result that is too large (nearly all of them are), then the software increases the nonce by one and tries again.

Remember I said that I'd explain why each person trying to find the number has to find a different one?  This is because the "hash" of the new transactions depends on the data that represents those new transactions.  Since two different people trying to find the number each have a different bitcoin address, the one new transaction that puts the reward into the owner's btc address will be different for each of them.  That changes the hash, and therefore the nonce that will work.

Remember I said I'd explain what the public ledger is?  It is commonly referred to as the "blockchain" because each time someone finds that special number (the "nonce"), they add a block of transactions to it.  So the blockchain contains all the blocks, each of which contains a set of transactions that were made during a particular period of time (designed to be about ten minutes long).  Bitcoin is transferred from one bitcoin address (or, account, if you like thinking of it as a ledger) to another by adding a transaction.  The transactions already in the block chain must include one that puts bitcoins into the source address, and none that remove those bitcoins from it.  Let's see how the ledger is handled to make sure no bad transactions get in.

I'll explain it with an analogy.  Suppose someone says "Find me a number whose digits add up to the product of its last two digits."  We all know how to make sure that any proposed answer actually works, right?  Bitcoin works the same way.  If you add a transaction that moves bitcoins from an address that doesn't have any bitcoins in it, your transaction will be ignored by every (sane) bitcoin miner and therefore never get into a block.  But lets suppose that an insane miner tries to add it.  First, in order for his attempt to even get noticed, he'd have to find that special nonce.  Once he did that, here's what would happen:

The new block would be broadcast on the Internet to other miners who would read the transactions in it.  They'd see a transaction that attempted to spend bitcoins from an address that didn't have any bitcoins, and tag the new block as garbage or just throw it away, and then proceed with trying to find a nonce that worked for them, using only the valid transactions they've received.  Every decent bitcoin client would also recognize this bad transaction and therefore ignore the entire block.  In this way, the miners protect the integrity of the blockchain, and by finding nonces that work, they earn bitcoins, or "online rewards."
Jump to: