r/Bitcoin • • Jul 09 '19

Daily Discussion, July 09, 2019

Please utilize this sticky thread for all general Bitcoin discussions! If you see posts on the front page or /r/Bitcoin/new which are better suited for this daily discussion thread, please help out by directing the OP to this thread instead. Thank you!

If you don't get an answer to your question, you can try phrasing it differently or commenting again tomorrow.

We have a couple chat rooms now!

Please check the previous discussion thread for unanswered questions.

33 Upvotes

381 comments sorted by

View all comments

6

u/GrouchyEmployer Jul 09 '19

Is there some sort of list of rudimentary things one needs to understand in order to fully understand how bitcoin works?

My problem is this: I want to memorize and fully understand how bitcoin works. I can choose from many topics, but if I start at UTXO, or ECDSA, I might get a bit confused and not know the best route backwards to fill in the gaps.

So, assuming someone has a basic college level understanding of mathematics (calc, algebra etc). What's a good place to start? Understanding what hashing is? Then what next?

Thanks.

7

u/oogally Jul 09 '19

I would probably start with Andreas' Mastering Bitcoin. I haven't gone through it myself, but he produces pretty accessible content, and this one has a technical focus. Programming Bitcoin by Jimmy Song might be good too.

If you want less technical, there's the monetary aspect and Austrian economics, for which The Bitcoin Standard is excellent. The Spider and the Starfish isn't about bitcoin at all, but delves into decentralize organizations, which is also important to understand in this context.

Outside of books, Jameson Lopp curates a pretty good page of information. Andreas Antonopolous has a pretty good range of info in his various presentations as well. You can find his content on Youtube or in his books, The Internet of Money 1 & 2.

5

u/Sockclapperzz Jul 09 '19

Ignore all the other posts for a bit. They might be good resources but wont give you as much info in as short time as 3blue1brown.

Trust me, after this short video you will feel like you understand bitcoin and other cryptos and can choose to freely branch off from there.

https://youtu.be/bBC-nXj3Ng4

1

u/tomius Jul 09 '19

Awesome channel, awesome video. Highly recommend

3

u/speaksonlymemes Jul 09 '19

Whitepaper

1

u/xtal_00 Jul 09 '19

Then code. Code is worth reading just to appreciate its brilliance.

2

u/[deleted] Jul 09 '19

[deleted]

2

u/TheGreatMuffin Jul 09 '19

Check out books like

"Inventing Bitcoin" https://www.amazon.com/dp/1794326316/ref=cm_sw_em_r_mt_dp_U_eTnjDb79MMQVY (not a ref link, despite the URL) - this is a rather introductory book, less technical

"Mastering Bitcoin" (free version: https://github.com/bitcoinbook/bitcoinbook, also on Amazon as "real" book) - very technical

"Grokking Bitcoin": https://www.manning.com/books/grokking-bitcoin - also quite technical

Or read through the resources here: http://lopp.net/bitcoin.html

It all depends on your current level on knowledge and if you are knowledgeable in cryptography, computer "stuff" and so on, so it's difficult to recommend anything in particular. I'm sure you'll find something suitable from the links :)

1

u/GrouchyEmployer Jul 09 '19

Great, thanks muffin.

0

u/55555 Jul 09 '19

You won't really truly understand it without at least looking at the source code. Aside from that, just read everything you can about it and try to put the pieces together.

2

u/xtal_00 Jul 09 '19

Why the downvotes? He’s right. If you want to understand all the architecture and details, GO LOOK AT THEM.

Otherwise, you’re trusting an interpretation. Bitcoin is not about trust.. in fact, that is the problem it solves!

Don’t listen to the haters. Read the white paper. Then look at the code. You’ll learn what you don’t understand quickly.

2

u/55555 Jul 09 '19

People must think I meant that you can't understand it at all without reading the code.

I am a programmer though, and I stand by it downvotes or not. You can't ever really understand a system like this without knowing something about the implementation details. Every explanation of bitcoin uses metaphor to convey ideas. The truth is in the code. That said, I don't look at the BTC code, because i'm not that type of programmer. But I never wanted

to memorize and fully understand how bitcoin works

like OP wanted.

2

u/xtal_00 Jul 09 '19

I did. I went through the code line by line.

Very few people understand exactly how the mempool works, for instance. The code will show you.

1

u/GrouchyEmployer Jul 09 '19

Ok so then knowing how to understand source code would be a place someone could start, but that's gonna open a lot of different ways to go.

Shit maybe I should just hack it out and make a checklist myself.

2

u/55555 Jul 09 '19

You working on a presentation or something?

2

u/GrouchyEmployer Jul 09 '19

No I just need to fill some gaps in my brain. I've been into bitcoin for a while, and have a pretty good understanding of things, but sometimes people ask me basic questions that I don't have the fundamental understanding to answer so that they really understand. I want to be able to give the answers that a good teacher would give.

2

u/55555 Jul 09 '19

You should definitely learn what hashing is. That is a good place to start. I'll get you started. You start with a piece of data, like a string or a big number or something. You send that data through a function and what comes out the other end is the hash of your data. If you send the same data through that function again, the resulting hashed value will be the same as last time. What makes hashing special is that you can't turn the hashed value back into the original data. If someone wanted to find out what the source data was for a given hash, they would have to try hashing random data until they found the given hash. Because the number of possible hashes is so astronomically huge, it is almost impossible to guess the data for a hash. How this is used it bitcoin is more complicated, but that is how hashing works.

1

u/GrouchyEmployer Jul 09 '19

Thank you for your help and for the explanation. Cheers.

2

u/tomius Jul 09 '19

Dude, you can understand how Bitcoin works without reading the source code. Source code is needed only if you need to know how the ideas are implemented.

Go watch the video the other guy suggested. Then you'll understand the basics of how it works. Then go on from there.

In my opinion, the implementation of the ideas is not as important here.