Understanding blockchain technology and its accompanying field of quickly evolving innovations can be a daunting task to try and tackle. A novel field of technology has only become increasingly more complex and nuanced with the rise in popularity of cryptocurrencies and the subsequent migration of tech talent to the industry, along with the consistent barrage of bleeding edge technology. The demand for developers in the industry is growing rapidly and there is a noticeably large discrepancy between the supply and demand right now. Whether you are not a developer and just wondering how to learn blockchain technology, or a developer in another field looking to make the leap into cryptocurrency tech, both resources and opportunities are abundant.
Much of the innovation in the blockchain space is occurring outside of academia. Save for a few notable programs such as Blockchain at Berkeley and the recently created Stanford Center for Blockchain Research, the vast majority of information, tools, and resources that you need to learn more about the technology and developing within the industry are available online.
To get a foothold in developing in the blockchain space, it’s important to understand the overarching concepts and commonly employed technologies that underlie most cryptocurrencies. In order to have a general grasp of the industry, understanding the best way to gather, organize, and analyze information is key.
In terms of books, both Mastering Bitcoin by Andreas Antonopoulos and Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction with its accompanying Coursera course are great beginning resources. Also, the Bitcoin white paper is a great introduction to the fundamental technologies that launched the industry and continue to remain highly relevant.
For more visual learners, Blockchain at Berkeley actually provides many of their lectures through Youtube and their website that are great for learning the essential concepts. Additionally, Blockgeeks offers numerous resources including videos, tutorials, in-depth technical pieces, and even developer courses. Educational resources on blockchain and cryptocurrency are also available through Udemy, Udacity, and IBM, among others.
One of the most direct and trivial ways to learn more about not only the technology in the industry, but how platforms interact with their communities, is by simply following their social media pages. Importantly, Medium has become a very popular platform for developers to expand upon their ideas, announce new technologies, or give updates on project development.
That being said, if you are skilled in multiple programming languages and looking to dive right in, many cryptocurrencies are open-source and have active communities contributing or commenting in their respective Github repositories. Both the Ethereum and Bitcoin repositories are a wealth of information and resources that can lead you down a rabbit hole of technology if you linger too long.
Once you have a strong enough grasp on the general concepts and the industry, focusing in on the more acute technical details will be vital to becoming a developer in the industry. Primarily, cryptocurrencies are a mix of cryptography, distributed computing, and economics. Learning about some of the specific facets of each and how they apply to building applications, networks, and tools will help you to become a much better developer.
As a developer, you may be already familiar with some of the core concepts of computer science and distributed computing that apply to cryptocurrencies. These primarily concern learning about fundamental concepts that are prevalent in the industry such as linked lists, directed acyclic graphs (DAGs), byzantine fault tolerance, sharding, distributed hash tables, Merkle trees, gossip protocols, peer-to-peer networks, and many others.
Understanding relevant cryptographical techniques including public/private key cryptography, ECDSA, multi-signatures schemes (Schnorr), RSA cryptography, range proofs, hash functions, and commitment schemes are all pertinent to understanding how transaction models and digital signatures function in cryptocurrencies.
Applying economics in cryptocurrencies has become so prevalent that it has become known as Cryptoeconomics, and has emerged with a specific focus on applying game theory mechanics and mechanism design to systems such as cryptocurrencies and Token Curated Registries. To better understand this new field, learning about game theory, specifically the Prisoner’s Dilemma, as well as analyzing various cryptocurrency token models and incentive structures, can help you to gain a much clearer view of how economics and cryptocurrencies are intertwined.
For more information, a list of some additional resources are below.
- The Unenumerated – Blog by Nick Szabo (Smart contract pioneer and Bitgold creator)
- Jameson Lopp Bitcoin Resources and Articles
- Consensys Academy – Smart contract tools and development
- Bitcoin.org – Bitcoin resources, fundamentals, and wallet selector
- CryptoZombies – Ethereum Dapp and Smart Contract Game Tutorial
Obviously, this does not nearly cover all of the resources or knowledge one needs to comprehend in order to become a developer in the blockchain space or to simply learn more about the underlying technology of cryptocurrencies.
However, starting with more general, conceptual information and working your way down towards the more technical and complex details can have you well on your way to feeling comfortable working in an accelerating field of innovation.