Skip to main content
main-content

Über dieses Buch

As crytpocurrencies and their underlying data structure, blockchains, become further intertwined in our daily lives, a full understanding of them is essential to anyone who wants to keep up and remain informed of the future of finance. There is no better learning method than a hands-on one, and Learn Blockchain by Building One offers just that.

Develop your own blockchain using Python with step-by-step instructions from author Daniel van Flyman, an expert in the field. You will come away with a confident working knowledge of popular cryptocurrencies such as Bitcoin and Ethereum and which foundations make them work. Through helpful exercises and real-world examples, you will understand the core concepts of peer-to-peer networking, Proof of Work, hashing, encryption, and digital signatures.

Learn Blockchain by Building One gives you timely, real-world lessons in blockchain and cryptocurrencies that you will need as our modern society becomes increasingly digitally sophisticated. The lasting implications of such technology, such as the security of personal transactions and the role of government regulation, are not to be underestimated. Stay ahead of the curve and become a confident blockchain builder now!

What You Will Learn

Develop a fully-fledged blockchain in PythonObtain a ground-up understanding of of Proof of WorkGrasp core cryptographic concepts, such as hashing, encryption, and digital signaturesUnderstand how gossip protocols and peer-to-peer networking works by implementing a TCP client-serverRealize the differences and trade-offs between popular blockchains such as Bitcoin and Ethereum

Who This Book Is For

This book is aimed at intermediate programmers in any area from finance to academia. Readers should be comfortable reading and writing basic Python.

Inhaltsverzeichnis

Frontmatter

Chapter 1. Getting Ready for Application Development

Abstract
For the unfamiliar, Python is one of the most popular languages. It’s extensively used everywhere—from academia and the sciences to large-scale web applications, like Instagram. Part of its popularity is due to the plethora of libraries, packages, and extensions available for free online as well as ease of reading due to its resemblance to pseudocode.
Daniel van Flymen

Chapter 2. A Way to Identify Everything

Abstract
If you’re interested in blockchains and cryptocurrencies, then you’ve probably heard of hashing (or hashes). The idea of hashing is crypto-bedrock—a crucial ingredient in blockchain infrastructure. In this chapter you’ll gain a working knowledge of hashing and why it’s so important.
Daniel van Flymen

Chapter 3. Blockchains

Abstract
In this chapter, we’ll dive headfirst into blockchains by using simple data types in Python. You’ll leave this chapter with a fundamental understanding of what a blockchain is, what’s inside them, and how hashes are used to make them resilient.
Daniel van Flymen

Chapter 4. Proof of Work

Abstract
The primary goal of this chapter is to clearly explain how blocks are mined in a blockchain. Indirectly, this explains how new currency comes into being, as well as how disparate people forming a network can all reach consensus (agree on the state of the blockchain). And so, you’ll leave this chapter with a practical understanding of Proof of Work—the protocol which achieves this.
Daniel van Flymen

Chapter 5. Networking

Abstract
This is a practical, technical chapter on socket programming. We’ll learn how to send and receive packets of information over the Internet by building a usable networking application in the form of an online chatroom, which will help us gain some experience before diving into peer-to-peer networking.
Daniel van Flymen

Chapter 6. Cryptography 101

Abstract
The study of the algorithms presented in this chapter are well beyond the scope of any book you can find or course you can take. They require years of understanding and treatment and build upon algebraic concepts familiar to specific fields of mathematics. But luckily theoretical insight into how cryptographic algorithms work isn’t a requirement for using these tools in practice, so long as you understand their purpose and implications. In other words, a working knowledge of how to use cryptographic libraries is what’s important here.
Daniel van Flymen

Chapter 7. Creating a Transactional Node

Abstract
To attain a fully fledged cryptocurrency, the data in our blockchain must be transactions. Each transaction transfers ownership of coins from one private key to another. The transactions are collected in each block and mined, growing the blockchain; in fact, the older a block is, the more surety it has—it’s more likely to be part of the de facto blockchain. At any given time, miners are busy mining slightly different blocks containing different transactions—it’s a race to find a block—when a miner finds a block, they broadcast it, and the rest of the miners drop their current blocks (they’ve lost the race) and move on to the next one. These "dropped" blocks are usually called orphaned blocks.
Daniel van Flymen

Chapter 8. Comparisons to Real-World Decentralized Networks

Abstract
Congratulations, you’ve got a working node (and you’re a funcoinaire). But how different is it to Bitcoin? Or Ethereum? Or Monero? Or any of the flavors out there? What alternatives are there to Proof of Work? What are smart contracts? In this chapter we’ll explore the differences between funcoin and real production blockchains and try to quantify the distance between them.
Daniel van Flymen

Backmatter

Weitere Informationen

Premium Partner

    Bildnachweise