Understanding Bitcoin's Technical Side

11 replies 311 views
paulblockMember
Posts: 5 · Reputation: 56
#1Apr 16, 2024, 05:12 AM
I've been checking out some threads on the tech section and honestly, it's pretty impressive how much some folks know. This got me thinking about what I need to dive deeper into the technical side of bitcoin. Do I need to learn any programming languages? I’ve seen terms like "0,1 and some letters" when talking about transaction hashes, plus I stumbled across "git" in older discussions. How do people usually pick up this kind of knowledge? Can someone without coding skills really succeed in this field? Or should I just stick to my current understanding of bitcoin, which covers wallet types, a bit about security and privacy, and a few other concepts I've read about but haven't really practiced? On a practical note, will I even grasp the discussions if I don’t get hands-on experience? From what I've gathered, running a full node seems pretty costly due to the massive size and data needed to sync the whole blockchain. Can I still get by just knowing the basics? Last thing, if you could recommend your top three resources for learning the technical aspects of bitcoin, outside of this forum, what would they be? Remember, I’m not a programmer and only have a basic grasp of bitcoin.
6 Reply Quote Share
Posts: 29 · Reputation: 234
#2Apr 16, 2024, 09:55 AM
Knowing programming in general helps but it is not mandatory to understand a lot of stuff in Bitcoin. There is nothing that you "should" learn because it all depends on your interests and how deep you want to dive. Try to start small because the amount of information is massive and you can get overwhelmed very quickly. A good place to start is the source I post at the end. You can move to learning programming in the second phase. You don't need to run a full node if you want to learn more a bout Bitcoin at a technical level. You also don't need to run a full node if you want to use bitcoin, you can use SPV clients such as Electrum that are light and don't consume that much space/traffic. The best source in my opinion to get you started is https://github.com/bitcoinbook/bitcoinbook For questions and more technical knowledge apart from this forum you can use the https://bitcoin.stackexchange.com/ site and the https://developer.bitcoin.org/ section of bitcoin.org website alongside the wiki https://en.bitcoin.it/wiki/Main_Page
6 Reply Quote Share
DarkAtlasMember
Posts: 9 · Reputation: 156
#3Apr 16, 2024, 01:51 PM
I can actually only agree with @pooya87. Ofc programming knowledge is beneficial (especially C or Python) but its not necessary at all. With the knowledge of that its easier to comprehend hwo transactions and blocks are created/validated across the network but there are a lot of resources available that explain these steps in a more accessible manner for beginners. IMO running a full node requires a deep understanding already. There are a few things to get in touch with Bitcoin and and the associated network. One point is of course to absorb as much as possible here in the forum, and there are also many books/wikis as you have already seen. Another option is the testnet where you can experiment as you wish without any risks. If you would ask me I would definitely point out to the developer guide aswell. If you really want it to be a book, I would recommend Mastering Bitcoin by Andreas M. Antonopoulos.
3 Reply Quote Share
l0n3ravenMember
Posts: 12 · Reputation: 154
#4Apr 16, 2024, 04:29 PM
I don't think so. It's really as simple as downloading, verifying, installing, and running Bitcoin Core. You might not initially understand everything it is doing, and you might not initially understand how to use all the available commands and more technical functions, but it's very easy to start running a node and also a good method to start to learn more about how the network functions. Just don't put any actual coins in your node's wallet and then it doesn't really matter if you make any mistakes along the way. That is the book that pooya has linked to on GitHub. I would also suggest this site as a great starting place (although it hasn't been updated in a while so newer developments in bitcoin are not covered): https://learnmeabitcoin.com/
3 Reply Quote Share
DarkAtlasMember
Posts: 9 · Reputation: 156
#5Apr 17, 2024, 11:55 PM
Then you misunderstood me. Or I didn't bring it across correctly, sorry. You summed it up well, installing Bitcoin Core is definitely not a science. What I meant was that as a layman/beginner you don't necessarily have an understanding of all the functions. My thought was this: What's the point of running a node if I don't understand anything? But I have to give in and admit that I was too strict about it and that it is a good idea to gain practical experience during the learning phase. It's not called for nothing Learning by doing Oh, indeed... thats my bad. I just looked at the link, which didn't indicate a connection between them. If I had clicked on the link I would have noticed it straight away.
4 Reply Quote Share
Posts: 23 · Reputation: 167
#6Apr 18, 2024, 02:01 AM
Absolutely, definetely! If you want to contribute, you obviously need to write code, but if you want fundamentally understand bitcoin, you need some basic knowledge in computer science, cryptography and finance. I understand that especially cryptography sounds intimidating and to be honest, it is. I am a dev and cryptography is an astonishingly vast area, meaning that I find it confusing, despite my studies. But you only need the desire to learn because nobody will judge you in this process. Getting deeper into bitcoin will offer you great knowledge.
0 Reply Quote Share
sigma2018Member
Posts: 15 · Reputation: 172
#7Apr 20, 2024, 08:45 AM
My journey looked like this: You don't understand of x? Create a new topic.Read more about the technical parts, in sources like learnmeabitcoin.com. Whatever you don't know, go to step 1.Try to make out how we ended up with these rules, which involves learning more about the history of Bitcoin. For instance, answer yourself questions like "why did we make this work in such complicated way?", "what is a hardfork / softfork?", "why is there this limitation?" etc.Read the arguments of people who worked on Bitcoin. They describe best the answers to the "why" questions, as they themselves had to answered them first. Knowing programming is optional, IMO. It would absolutely help you to practice Bitcoin, but in another level. If you want to dive into that, I'd advice you to start reading how Bitcoin, in its simplest form, works, just as envisioned by the founder in 2009: v0.1 (compare that with v25.0 and you will notice difference!). You'll need to know basic C++ to understand what happens there. The cryptography, as said by apogio, is one of the most intimidating parts, but fascinating nonetheless.
6 Reply Quote Share
paulblockMember
Posts: 5 · Reputation: 56
#8Apr 20, 2024, 12:45 PM
I'm thrilled with the responses I've received thus far. I've realised that despite my lack of programming skills, I'll be able to understand some things about the technical aspect of bitcoin, though there may be some limitations as to what I'll be able to comprehend unless I'm willing to go the extra mile, but for now, let me stick with the fundamentals and as time goes on, I may consider other things, after all, "Rome wasn't built in a day." This is a great idea, but since I'm just getting started, I think I'll have to compile my questions and probably start a thread if I have at least three questions that I can't find answers to in the forum or if the previous explanations aren't clear to me, because if I start creating threads for all of my questions, I can already picture my name as the starter of so many threads in such a short period of time, which is why I'll just compile them.
2 Reply Quote Share
fox777Member
Posts: 13 · Reputation: 106
#9Apr 20, 2024, 11:33 PM
https://github.com/bitcoinbook/bitcoinbook https://cryptobook.nakov.com/digital-signatures/ecdsa-sign-verify-messages
3 Reply Quote Share
im_pixelMember
Posts: 7 · Reputation: 126
#10Apr 22, 2024, 09:44 AM
And how would knowledge of programming help (or will help) the OP or any other user who wants to become an expert in the technical aspects of the bitcoin? The source code of the bitcoin remains unchanged and will remain so in the future. I think this can only be useful and interesting as a hobby or as a professional curiosity. Programming can help you understand the contents of a bitcoin, but what practical use will it be? It seems to me none.  Almost any ordinary user can master everything that is necessary without any additional knowledge, which is precisely what expresses the simplicity and genius of the bitcoin. This is exactly what a massive electronic cash should be like. Accessible to everyone.
5 Reply Quote Share
alex42Member
Posts: 5 · Reputation: 96
#11Apr 22, 2024, 02:24 PM
I don't have any websites to hand right now, but I would highly recommend the book "The Bitcoin Standard" as introductory reading, also as an addition to the book mentioned by seek3r. The book not only gives you a general overview of the technical aspects but also (and significantly more) impressions of the idea behind Bitcoin ... and why Bitcoin - at least as the idea of "be your own bank" - is so important: Source Especially if you're relatively new to the subject, it doesn't hurt to read less technical articles and books, you'll definitely learn a lot that will help you enormously with your technical understanding later on. You will find the book at the seller of your choice!
2 Reply Quote Share
Posts: 29 · Reputation: 234
#12Apr 23, 2024, 12:57 AM
If you know programming you will be able to read the code and have an easier time understanding certain concepts like the way the cap is enforced by halving the block reward all in the code, how the cryptography is utilized, how the FORTH like bitcoin smart contracts operate, etc. As for the source code, it is constantly changing and improving. What doesn't change or rather rarely change is the consensus rules. Otherwise if you check out any Bitcoin project's source code you can see they are very active. Example: Bitcoin Core has almost 40k commits last of which was 8 hours ago. Electrum has almost 17k commits last of which was 10 hours ago. If you know programming you can always contribute to these projects or start a new one that can help the community grow, whether a free and open source tool or something that you can monetize like a DEX.
1 Reply Quote Share

Related topics