Hi HN!<p>I am looking to get comfortable using Blockchain technology over the coming year. What computer science concepts should I be comfortable with/seek to master?<p>A bit about me: I am a self taught developer with a background that is general IT. I mostly use HTML, CSS, Python and of late I have been dipping my toes in JavaScript as well as Node.js.
Mastering Bitcoin
<a href="https://github.com/bitcoinbook/bitcoinbook" rel="nofollow">https://github.com/bitcoinbook/bitcoinbook</a><p>An awesome curated list of Cryptoeconomic research and learning materials
<a href="https://github.com/jpantunes/awesome-cryptoeconomics" rel="nofollow">https://github.com/jpantunes/awesome-cryptoeconomics</a><p>A collection about awesome blockchains
<a href="https://github.com/openblockchains/awesome-blockchains" rel="nofollow">https://github.com/openblockchains/awesome-blockchains</a><p>Building Blockchain in Go
<a href="https://jeiwan.net/posts/building-blockchain-in-go-part-1/" rel="nofollow">https://jeiwan.net/posts/building-blockchain-in-go-part-1/</a>
Some level of cryptography (hash functions and signatures), some distributed computing (consensus algorithms, P2P networking), some tech/economics (game theory, mechanism design).<p>If you start with Ethereum, the js ecosystem around it is by far the most advanced in the blockchain space and you can hit the ground running pretty fast building dApps while you learn more about the protocols that make them interesting.
Merkle trees and hash functions mostly. Any advanced data structure course curriculum will likely do. Or go the out of the box route and toy around with AWS hyperledger and the like.<p>Pick up a marketing course while you're at it, the number of people using Blockchain technology for technically sound reasons is pretty small.
Read Maurice Herlihy's review article: <a href="https://cacm.acm.org/magazines/2019/2/234355-blockchains-from-a-distributed-computing-perspective/fulltext" rel="nofollow">https://cacm.acm.org/magazines/2019/2/234355-blockchains-fro...</a><p>You will find that doing a cost-benefit analysis of Blockchains and their use in a variety of applications to be a useful exercise.