Live data from Hacker News

How the Bitcoin protocol actually works

michaelnielsen.org

51–58 of 58 posts

Re: How the Bitcoin protocol actually works

#51
post #48

Two questions: Mining bitcoins is about being the first one to generate the hash that satisfies having however many 0s. Whoever gets there first wins the prize, cool. Does that mean that you can only get new bitcoins in blocks of 25? If my mining program gets unlucky, and never gets a hit, do I get nothing for it? Or are there schemes where I am helping, and I get a portion? Further, is there something in the data be…

> Further, is there something in the data being hashed that includes the previous block chain?

Yes, the block chain structure includes the previous block; otherwise it would just be a block set :)

Re: How the Bitcoin protocol actually works

#52
post #5

Amazing post. I thought I had a pretty good understanding of Bitcoin, yet this is the first time I've even heard of an associated scripting language. I can't wait for the post detailing that. Here's the wiki article for now: https://en.bitcoin.it/wiki/Script

The scripting language is the reason I'm betting on bitcoin in the long run. The scripting language lets you do so many interesting things with it (escrow, wills, and surely lots of things I can't envision).

Check out this video about bitcoin contracts which talks about the scripting language: https://www.youtube.com/watch?feature=player_embedded&v=mD4L...

Unfortunately, if I understand correctly, non-standard transactions are not accepted by most miners currently, which means the interesting things in the previously linked contracts video wouldn't work. This should improve over time as new transactions are proposed and added to the list of standard transactions. The bitcointalk forums, while having a lot of noise, also has interesting discussions about new transaction types.

Bitcoin combined with its scripting language is just too good of an idea to go away, and I think we'll start to see more interesting transactions within a couple years.

edit: Forgot to mention that everyone who is manic about bitcoin never even mentions the good ideas in the actual protocol, they only focus on the crazy price swings. Learning about the backing technology is the best way to feel confident about bitcoin's future.

Re: How the Bitcoin protocol actually works

#54
post #6

From the article: "I don’t understand why double spending can’t be prevented in a simpler manner using two-phase commit. What drawbacks and advantages does it have compared to the full Bitcoin protocol? uppose Alice tries to double spend an infocoin with both Bob and Charlie. The idea is that Bob and Charlie would each broadcast their respective messages to the Infocoin network, along with a request: “Should I accept…

Original post author here. Thanks -- your comment pretty much nails the answer to my question. Edit: A problem with this is that it would be necessary for a naysayer to exhibit the other transaction (proof of double spending). But they couldn't forge such a transaction, since they don't have the private key necessary to generate the signature. So I'm still a bit puzzled by this. Edit 2: And it appears that bcoates is…

The problem is network disruption. Your system would work if you could guarantee all nodes in the network could communicate with each other every 10 minutes. What happens if this is not possible?

This scenario is called a netsplit in Bitcoin parlance. It has happened before, and it will happen again. In bitcoin, healing a netsplit is relatively easy, you pick the longest chain and you allow all the transactions from the smaller chains to be re-added to blocks in the new official chain.

In your system, if you had a double-spend where both sides ended up being accepted due to a netsplit, which one would win during the healing process? In bitcoin, the winner is the one that happens to be in the longest chain.

Secondly, how would you store the infocoin ledger in your system? The advantage of the bitcoin blockchain is that it provides an official source for all transactions that is easy to verify. A new node can come in, download the block chain and be certain they have all the information available about bitcoin ownership, with no holes. In your system, without a blockchain, how do you guarantee you have a record of all transactions, with no gaps?

Re: How the Bitcoin protocol actually works

#55
post #11

Earlier quoted context omitted.

A platitude is only interesting if the language used to convey it has some poetry to it. Otherwise it's just a platitude.

It's still just a platitude. Poetry is just a pointless distraction. You can put lipstick on a pig...

> It's still just a platitude. Poetry is just a pointless distraction.

> You can put lipstick on a pig...

Was this comment the spoken word in disguise? It sounded a little poetic to me.

Re: How the Bitcoin protocol actually works

#56
post #51
post #48

Two questions: Mining bitcoins is about being the first one to generate the hash that satisfies having however many 0s. Whoever gets there first wins the prize, cool. Does that mean that you can only get new bitcoins in blocks of 25? If my mining program gets unlucky, and never gets a hit, do I get nothing for it? Or are there schemes where I am helping, and I get a portion? Further, is there something in the data be…

> Further, is there something in the data being hashed that includes the previous block chain? Yes, the block chain structure includes the previous block; otherwise it would just be a block set :)

To be precise, each block contains the hash of its previous block.

Re: How the Bitcoin protocol actually works

#57
This explanation is pure genius. Instead of explaining something very complicated, explain how to arrive at the complicated solution by evolving the simple solution and eliminating its flaws. Wish more explanations were like this. Someone do git.

Re: How the Bitcoin protocol actually works

#58
post #54

Earlier quoted context omitted.

Original post author here. Thanks -- your comment pretty much nails the answer to my question. Edit: A problem with this is that it would be necessary for a naysayer to exhibit the other transaction (proof of double spending). But they couldn't forge such a transaction, since they don't have the private key necessary to generate the signature. So I'm still a bit puzzled by this. Edit 2: And it appears that bcoates is…

The problem is network disruption. Your system would work if you could guarantee all nodes in the network could communicate with each other every 10 minutes. What happens if this is not possible? This scenario is called a netsplit in Bitcoin parlance. It has happened before, and it will happen again. In bitcoin, healing a netsplit is relatively easy, you pick the longest chain and you allow all the transactions from…

"In your system, if you had a double-spend where both sides ended up being accepted due to a netsplit, which one would win during the healing process? In bitcoin, the winner is the one that happens to be in the longest chain."

That doesn't seem to be unanswerable, and it's not like "happens to be on the longest chain" is more deserving or anything, it just happens to be the way it works in bitcoin.

Post reply on HN