Hacker News new | ask | show | jobs
by joemir 4656 days ago
Seems very accurate.
2 comments

One (small) thing that isn't correct is that your Bitcoin address is not the public key. It's actually hash of the public key [1], using RIPEMD-160 and SHA-256 algorithms, with a network type and a checksum added to it, then encoded with Base58 to make it shorter and prevent typos (Base58 doesn't have similar looking characters like O - 0 and I - l).

Also, somewhere in the middle of the video it is said that all inputs have to be spent entirely in the outputs, but this is not correct as well. You can send less amount than you have in your inputs and the resulting difference between the sum of your inputs and outputs is the transaction fee, that is mentioned later in the video.

These are very minor things though, and overall, this is a very good video, probably the best I've seen covering the technical aspects of Bitcoin.

[1] https://en.bitcoin.it/wiki/Technical_background_of_Bitcoin_a...

True, I still need add a note in the video about the public key. As far as I know, this doesn't impact the security of the system, just makes addresses easier to pass around. Also true about the inputs. It's extremely hard to explain Bitcoin piece by piece without telling some fibs along the way!
Definitely.

I only remember one thing that I didn't agree with. The narrator at one point said that the whole process doesn't require any trust. But that's not true.

You still need to trust: your software implementation, the initial block chain you get, the network as a whole. Sure, the network has excellent abilities to dominate malicious members. But it's still possible to have a large population of malicious nodes, or (far more likely) a software bug with a common implementation.

theoretically, Bitcoin doesn't require any trust. But with the majority of mining being done be a few large pools, I think the distributed protection of the system is severely compromised. As far as the initial block chain, you can verify it for yourself.
I think my points are valid.

What I mean by initial blockchain is that the initial bitcoin nodes you are talking to indeed represent the legitimate bitcoin network, and not a malicious network with an independent blockchain (valid and verifiable, but obviously would be shorter).

I think it would be straight-forward for ISPs to perform DPI and magically redirect and rewrite packets in order to have you on their bitcoin network with their blockchain. And you wouldn't be able to know if you had never seen the real blockchain.

If this is not possible, I'd be very interested to hear why not :)

A long time ago, I worked at a company that got its start doing exactly this for p2p networks in the early 2000's (and saving ISPs a ton of precious bandwidth).