Author

Topic: Comprehensive Bitcoin Introduction (Read 2059 times)

donator
Activity: 1218
Merit: 1015
December 07, 2013, 03:05:43 AM
#18
Labour-intensive means something that requires a lot of human workers. So I don't see how it can be used when talking about mining because that is all automated. Resource intensive might be a better fit. Maybe computationally intensive?
I've never heard of it being used to only reference manual labor. I always thought it was a synonym of work. Will figure out a way to rephrase it.

I guess the difference would become very clear if someone asked "is the television laboring?"
full member
Activity: 140
Merit: 100
Mining FTW
December 06, 2013, 08:06:32 PM
#17
hmm ....thanks for the Olympic example. It makes things clear Smiley

seems i need to go through the whitepaper one more time. its really interesting though...
You're welcome, I dunno being a real IT nerd, most of these functions when explained come natural to me. Finding these analogies, is always a tough one, so am happy that the message came across Smiley

Labour-intensive means something that requires a lot of human workers. So I don't see how it can be used when talking about mining because that is all automated. Resource intensive might be a better fit. Maybe computationally intensive?
Might be me not being native English, but for me labor-intensive just means that there need to be a lot of workers, not necessarily defines that these workers need to be human. As example, building a car is very labor-intensive, however not many people are working on them these days, most is all computer automated.
legendary
Activity: 3682
Merit: 1580
December 06, 2013, 05:47:37 PM
#16
Labour-intensive means something that requires a lot of human workers. So I don't see how it can be used when talking about mining because that is all automated. Resource intensive might be a better fit. Maybe computationally intensive?
legendary
Activity: 2394
Merit: 1216
The revolution will be digital
December 06, 2013, 05:26:00 PM
#15
hmm ....thanks for the Olympic example. It makes things clear Smiley

seems i need to go through the whitepaper one more time. its really interesting though...
legendary
Activity: 1148
Merit: 1008
If you want to walk on water, get out of the boat
December 06, 2013, 05:09:26 PM
#14
If the block is invalid then the clients will just reject it, ignore it.

Quote
validity is again dependent on other client's approval right ? say 10 approval. now if the dishonest group have 10 clients to approve the dishonest transaction.
Then they are using Bitcoin2. My client and your client will still reject the block.
full member
Activity: 140
Merit: 100
Mining FTW
December 06, 2013, 05:08:58 PM
#13
Some questions regarding BitCoin always haunt me !!! Probably my idiocy  Huh

Suppose the current block chain is...

A --> B --> C

An honest client is creating A --> B --> C --> D

But, by that time, if a dishonest client come up with A --> B --> C --> D --> E

Is not it possible ? Then wont the dishonest longer chain be accepted ?

Sorry again for a stupid question !!!
Well, assuming they have the same amount of hashing power.

How does the second guy create E without creating or knowing D? And creating D will take just as long for the second guy as for the first guy.

Easiest analogy, a group of runners. However there is one difference with the Olympics, is that with Bitcoin rules, the moment for the hand-off, as soon as one person reaches the hand-off, everybody is allowed to start running. (instead of just the guy that did the hand-off) So everyone starts at the same time... and the time you finish is based on how fast you are. But it would be impossible to make the 5th guy run (E) while number 4 (D) just started running and hasn't reached (E) yet.

Validity is not just based on client approval, but it is easiest to say it that way. If client accepts a block or transaction, it was valid by bitcoin protocols. If it denies it, it doesn't follow the rules. (whether that is double spend, malformed transactions, or fake blocks.. doesn't really matter)
full member
Activity: 140
Merit: 100
Mining FTW
December 06, 2013, 05:06:52 PM
#12
Hehe yea same problem here...

Dishonest block = invalid block. (better to call it an invalid block)

Yea totally agree on the branching out, makes it easy for the people that have all the basics already covered, and a short and simple read Smiley And you know how the saying goes, a Picture says more than a thousand words.
legendary
Activity: 2394
Merit: 1216
The revolution will be digital
December 06, 2013, 05:04:53 PM
#11
Please define honest and dishonest. The chain only add blocks if they follow the bitcoin rules. Is the dishonest block valid?

validity is again dependent on other client's approval right ? say 10 approval. now if the dishonest group have 10 clients to approve the dishonest transaction.
legendary
Activity: 1148
Merit: 1008
If you want to walk on water, get out of the boat
December 06, 2013, 04:59:41 PM
#10
Please define honest and dishonest. The chain only add blocks if they follow the bitcoin rules. Is the dishonest block valid?
donator
Activity: 1218
Merit: 1015
December 06, 2013, 04:57:50 PM
#9
Ok,

Great and comprehensive writeup. Haven't spotted any errors yet.

First-off, Bittorrent, most IT guys knows how this works, no need to write 10 lines about it. (imo, reference to a nice short document doing a good technical explanation of bittorrent in case someone does wanna dig into it) So I would rephrase to something like this: "First you have to know about Bittorrent, since Bitcoin takes much of it networks techniques from there. For Bitcoin the importance of Bittorrent, is the p2p way they share files, always ensuring a correct copy gets downloaded. They use cryptographic hashes for this."

Second, their has got to be some excitement, I was 4 paragraphs in and it felt like a boring economic paper, having to force myself to focus to keep reading. (No offense whatsoever meant here, I am just trying to give my opinion in how we can improve this document)

I feel like, you need to give people something simple and vague (abstract) to chew on, while you start explaining bit for bit how it really works. (which is why for me, the white paper was such a great read, and so convincing) I knew what idea they were trying to communicate from the start. (if you're not interested in money you can send anywhere on the world, whats the point continuing reading you know) And from there you need to be walked through all of the major components so you can actually understand that this idea might work. (aka, naming all the issues and how they got resolved)
Thanks! I tend to be a pretty boring read, even when I'm trolling (speech is not much better -- true monotone). I originally even debated whether or not the "benefits" section made the article seem overly-passionate. I definitely agree the paragraph order is way off, and should have a "hook," probably before the second-to-last paragraph.

I think trying to remove a lot of the explanation about fairly basic stuff might be a mistake, though... maybe some type of infographic format would make more sense, with "branches" explaining things they already know... it'd be sectioned off so they can simply skip it and enjoy a much shorter text wall. I really want to keep some of it to broaden the appeal, but it obviously has the drawbacks you point out.... hrm...
legendary
Activity: 2394
Merit: 1216
The revolution will be digital
December 06, 2013, 04:54:51 PM
#8
Some questions regarding BitCoin always haunt me !!! Probably my idiocy  Huh

Suppose the current block chain is...

A --> B --> C

An honest client is creating A --> B --> C --> D

But, by that time, if a dishonest client come up with A --> B --> C --> D --> E

Is not it possible ? Then wont the dishonest longer chain be accepted ?

Sorry again for a stupid question !!!
full member
Activity: 140
Merit: 100
Mining FTW
December 06, 2013, 04:45:36 PM
#7
Ok,

Great and comprehensive writeup. Haven't spotted any errors yet.

First-off, Bittorrent, most IT guys knows how this works, no need to write 10 lines about it. (imo, reference to a nice short document doing a good technical explanation of bittorrent in case someone does wanna dig into it) So I would rephrase to something like this: "First you have to know about Bittorrent, since Bitcoin takes much of it networks techniques from there. For Bitcoin the importance of Bittorrent, is the p2p way they share files, always ensuring a correct copy gets downloaded. They use cryptographic hashes for this."

Second, their has got to be some excitement, I was 4 paragraphs in and it felt like a boring economic paper, having to force myself to focus to keep reading. (No offense whatsoever meant here, I am just trying to give my opinion in how we can improve this document)

I feel like, you need to give people something simple and vague (abstract) to chew on, while you start explaining bit for bit how it really works. (which is why for me, the white paper was such a great read, and so convincing) I knew what idea they were trying to communicate from the start. (if you're not interested in money you can send anywhere on the world, whats the point continuing reading you know) And from there you need to be walked through all of the major components so you can actually understand that this idea might work. (aka, naming all the issues and how they got resolved)
donator
Activity: 1218
Merit: 1015
December 06, 2013, 04:10:59 PM
#6
 Angry Received feedback from target.

"I have to admit my eyes glazed over"  Cheesy

ETA: We've been talking more, though. I think he might end up going for the BitPay route. Smiley
donator
Activity: 1218
Merit: 1015
December 06, 2013, 11:16:05 AM
#5
Thanks for feedback. Reading through Self Evident link. There are already a bunch of things I want to change in it (tx fee explanation, talking about modularity in Bitcoin, better explaining the idea that "bitcoins" aren't files people pass around [most common hangup I've run into with people -- I like SE's ledger explanation]), but busy now (mostly trying not to poop myself, actually!). Should have first major revision tomorrow.

I didn't actually assume a person would know much about Bittorrent. I figured it made sense to explain something relatively simple, get that quick "I've got it" feeling, and expand from there. Trying hard not to give someone the idea that Bitcoin's too difficult to understand, where it remains to them as "that Internet funny money."
legendary
Activity: 1092
Merit: 1001
Touchdown
December 06, 2013, 09:09:24 AM
#4
I actually think it's well worth dipping into the crypto and explaining some basic concepts (one way functions, use of nonces by miners, etc).

There's a fantastic 10 part breakdown of how Bitcoin works here: https://self-evident.org/?p=974

Too much detail, perhaps, for your needs, but possibly some ideas you can take away.

(If anyone else can recommend anything similar, let me know - I'm still learning!)
legendary
Activity: 1470
Merit: 1007
December 06, 2013, 08:49:53 AM
#3
Excellent write-up. I guess your starting point ("explain BTC to tech literate people") is similar to my own point: the math itself isn't the problem for me, but I don't have the time (or inclination, I admit) to read up on all the technical details, so I'm stuck with the "high level" abstractions that are often too shallow.

That said, two remarks about the organization of your text:

It's heavily based on comparing the Bitcoin network to the BitTorrent network. That's on purpose, I supposed, but it might limit your audience (it now replaces pre-knowledge of BTC with pre-knowledge of Torrent network Tongue)

It is still relatively abstract. Probably on purpose as well, but I always wondered what a good write-up would look like that would go into *some* technical details (without explicating all the nitty gritty programming details) of a) the encryption side of BTC, and b) the way the transactions actually happen on the network. Especially about point b) I'm personally still very unclear, only having an abstract idea of it, without being able to give *any* technical details if someone would ask me.
global moderator
Activity: 3990
Merit: 2717
Join the world-leading crypto sportsbook NOW!
December 06, 2013, 06:05:43 AM
#2
Yeah, sounds great as a slightly in-depth intro to BTC. Maybe you could add a bit on why it's possibly a great investment opportunity and the reasons for this - or maybe that could be another article. I know some people hear all the good news about bitcoin and think it's a scam because it sounds too good to be true, so it often needs to be explained properly.
donator
Activity: 1218
Merit: 1015
December 06, 2013, 04:47:27 AM
#1
I fairly quickly wrote this up for a software developer, whose products I greatly appreciate, after he gave a hint that he may be interested in learning more. This is the first explanation I'm really happy with, at least in setting out what I want it to achieve. This is intended as a middle-of-the-road between fully explaining the cryptography in a technical manner and only giving vague ideas which don't really explain what's going on or why you should trust it. It's intended for fairly smart, computer-literate people who just haven't spent hours researching Bitcoin. It probably isn't for your grandmother. Any help on it would be appreciated. I'm not certain I got all the technical information right. If I screwed something up, please, please, please correct it. I intend to eventually publish it in the newbies forum and elsewhere after a LOT of revisions.

--

We should first talk about Bittorrent, because Bitcoin takes a lot of networking ideas from there. Bittorrent is a peer-to-peer method of sharing files between many, many people. There are occasionally legitimate uses for this, but it is most frequently used for sharing unauthorized copies of intellectual property. It does this effectively, and even though it's used to violate laws in many countries, it cannot be shut down because it's a protocol, not a product or service.

In Bittorrent, let's say you want to share a collection of songs you made. You'd host your copy of these songs. If someone else wants to download your songs, they'd first download a tiny .torrent file (which is only a few kilobytes in size) from a trusted source and then have to download the data directly from you because, at this point, you're the only peer sharing the files. Once this new person downloads the files from you, they can now share the files with others in the Bittorrent network. This goes on and on until there may be 1,000 different people across the globe sharing your songs with other people.

Everyone's sure they still have the original files you uploaded because in the .torrent file you share are a bunch of cryptographic "hashes," which are just strings of letters, symbols, and numbers. These hashes are used by Bittorrent clients to ensure peers are downloading the correct files, because each section of a file can be translated into a hash which must match the hash in the .torrent file. If it does not match, the data is deleted and redownloaded from other peers until the hashes match. You could think of hashes as a kind of cargo manifest, where the Bittorrent client automatically verifies the contents of the various crates in the shipping vessel.

Bitcoin works in a very similar way, except the hashes (or "cargo manifests") play an exceptionally important role in securing the network, making sure all bitcoins are stored by the proper people. All transactions in Bitcoin are stored in a blockchain, a massive ledger which holds all transactions ever made on the Bitcoin network. In the blockchain are blocks (similar to data sections in files shared in Bittorrent), all of which have their own hash. Hashes in Bitcoin are not downloaded from a .torrent file, but procedurally generated based on transactions which have occurred in previous blocks. Every full Bitcoin client self-verifies every block has the correct hash, and like in the Bittorrent network - if a hash doesn't match, the block is re-downloaded from another peer. This makes it very difficult to "fake" transactions in the Bitcoin network.

Keeping record of all transactions is essential, because bitcoins aren't actual data. There are no tangible "bitcoins." You can't hold bitcoins on your hard drive. Instead, people control public and private keys. Public keys are a lot like usernames online, and what users generally talk about when they're talking about addresses. Private keys are much like passwords, and give you the authority to control bitcoins on public keys. The Bitcoin protocol is loaded with advanced cryptographic functions, and one of these allow people who control public keys to verify they control a private key without actually giving their private key away.

If I wanted to send bitcoins to you, I'd broadcast a message to the network saying "hey, I control 'this public address,' as verified by this cryptographic hash from its corresponding private key, and I want to transfer .05 bitcoins to this other public address." Computers on the network check to make sure what I said is true by checking their own copy of the blockchain, then check to make sure I included any necessary fee to carry this transaction (since everyone's transactions increase the size of the blockchain and resources it requires out of everyone else, fees are demanded for certain kinds of transactions), and if everything checks out, they will relay that transaction to all their peers. It keeps getting passed around until it arrives at what are known as miners. This all sounds complicated and labor-intensive, but because it's all handled by fast computers and networks, it can literally take less than a second.

Miners play another important role in Bitcoin. Miners take all of the transactions pending inclusion in a block, verify them, and package them all up into one neat piece of data. They then must effectively brute-force a kind of password (a hash) which will give them the authority to create that one packaged block, and this IS extremely labor-intensive, arbitrarily and intentionally. The hashes to unlock authority to create a block is procedurally set by rules to take approximately 10 minutes of computer power from the entire network, which is currently around seven quadrillion hash operations per second, tens of millions of dollars' worth of specialized equipment which all the supercomputers in the world couldn't come close to matching. It's done this way to ensure there is a high degree of decentralization - to make sure no one person or entity is capable of packaging multiple blocks in a row and potentially including faked information.

There are multiple controls in place to ensure decentralization and that fake blocks are rejected by the Bitcoin network, and I'll go over the two big ones. The first mechanism ensuring decentralization is by paying miners transaction fees and subsidies (subsidies are hardcoded in Bitcoin software) which the miner gets to collect once he's found the correct block hash. This gets everyone active in mining since they have expectation of profit, though some people mine purely to secure the network. The second mechanism in place to prevent "fake" blocks is something called orphaning. Since all block hashes are procedurally generated based on previous blocks, miners are able to determine if a block is fake and should be orphaned. If they see fake blocks, they will begin mining their own chain of blocks. Assuming "honest miners" control the majority of hashpower, they will mine the longest chain of blocks. Bitcoin clients (the users) will only use the longest chain of blocks, and discard (or "orphan") the shorter chains, effectively invalidating them. The longer, hopefully honest, chain will only contain legitimate transactions, thus orphaning any fake transactions the shorter chain contained. So far, Bitcoin has not had a serious issue with dishonest miners.

You may be thinking "well - that's nice and all. It's like a Rube Goldberg machine, I guess, but what's the point?" Bitcoin has many benefits over conventional payment mechanisms.
1) It has no central issuer and cannot be shut down by anyone. It's simply not possible to kill Bitcoin. You can shut down bitcoin exchanges (which convert government money to bitcoin), but you cannot actually kill the protocol or the network. It's going to be with us forever. It's not like e-gold, where a government can just send them a letter saying they must stop and shut the whole thing down.
2) It's extremely fast. You can send bitcoins to anyone in seconds. Depending on how many confirmations you want to wait for from miners, to ensure the transaction is legitimate, it generally takes about an hour - anywhere in the world.
3) It's unprecedentedly cheap. No more going bank to bank, converting funds back and forth as they each take a little chunk of the money you send. You can send the equivalent of $millions in seconds for fees ranging from absolutely nothing to the equivalent of about $.50.
4) It's extremely fungible, like nothing else in the world. Because Bitcoin ties coins to public addresses, not government identities, you can send and receive funds to/from anyone at any time, potentially without anyone knowing who, exactly, sent what where. In this new world, you do not need the government's permission to send funds to Wikileaks' Bitcoin address. You can just do it - total freedom. The Bitcoin network doesn't care about political issues - it's completely agnostic. All the network cares about is whether or not you had the proper hashes giving you the authority to send bitcoins.
5) No more worrying about fraud. Your client and miners do this work for you. No more worrying about chargebacks or whether or not the dollar bills you were handed are counterfeit. Once the network has confirmed funds you've received a few times, you can be 100% confident they're authentic and now completely controlled by you.

This concludes a basic overview of the Bitcoin network. For more in-depth information on the cryptography behind Bitcoin, there's an excellent series by Khan Academy at https://www.khanacademy.org/economics-finance-domain/core-finance/money-and-banking/bitcoin/v/bitcoin-what-is-it . For a more basic introduction and list of Bitcoin clients, you may wish to visit http://bitcoin.org/en/
Jump to: