Practical blockchains and cryptocurrencies : speed up your application development process and develop distributed applications with confidence /

Saved in:
Bibliographic Details
Author / Creator:Garewal, Karan Singh.
Imprint:Berkeley, CA : Apress, 2020.
Description:1 online resource (495 p.)
Language:English
Subject:
Format: E-Resource Book
URL for this record:http://pi.lib.uchicago.edu/1001/cat/bib/12607491
Hidden Bibliographic Details
ISBN:9781484258934
1484258932
1484258924
9781484258927
Notes:Description based upon print version of record.
Public Address Construction
Includes bibliographical references and index.
Summary:Create cryptocurrency and blockchain applications by examining the key algorithms and concepts pertaining to blockchains, transaction processing, mining, distributed consensus, and anonymous currencies. In this book, youll develop a fully functional cryptocurrency from scratch in the Python language. Practical Blockchains and Cryptocurrencies is a reference for development of blockchain applications and provides you with rigorous information on cryptography and the theory underlying blockchains. This book consists of small chapters that focus on particular topics. Youll start with a short history of money. Next, you will survey the bitcoin and altcoin ecosystem before delving into cryptographic hash functions, symmetric encryption, public key cryptography, and digital signatures. All the mathematics required to develop blockchain applications is covered. The emphasis is on providing a lucid and rigorous exposition on the nature and working of these constructs. The next major segment of the book discusses the key concepts and algorithms required to develop blockchain and cryptocurrency applications. There are expositions on blockchain construction, Merkle trees, peer-to-peer networks, cryptocurrency addresses, transactions, and mining. Youll take a deep dive into the formation of consensus in distributed systems. In this book youll develop a fully functional cryptocurrency called Helium from scratch in Python. The language requirements are modest since it is presumed that most readers will not be acquainted with Python. The entire source code and unit test code is included in this book. Practical Blockchains and Cryptocurrencies interleaves theory and Helium program code chapters in order to demonstrate the practical application of theory in working Helium program code. You will: Gain the mathematical foundations as well as the concepts and algorithms of blockchains and cryptocurrencies Implement a cryptocurrency from scratch in Python Master the design o f distributed blockchain applications.
Other form:Print version: Garewal, Karan Singh Practical Blockchains and Cryptocurrencies : Speed up Your Application Development Process and Develop Distributed Applications with Confidence Berkeley, CA : Apress L. P.,c2020 9781484258927
Standard no.:10.1007/978-1-4842-5893-4
10.1007/978-1-4842-5
Table of Contents:
  • Intro
  • Table of Contents
  • About the Author
  • About the Technical Reviewer
  • Acknowledgments
  • Introduction
  • Chapter 1: A Short History of Money
  • The Neolithic Age
  • The Emergence of Banks and Banknotes
  • Hawala
  • The Roman Empire and the Origins of Inflation
  • Gold and the Plunder of the New World
  • The Gold Standard
  • The Great Depression and Keynesian Economics
  • The Petrodollar System
  • Making Money in a Fractional Banking System
  • Essential Monetary Economics
  • Bitcoin Comes onto the Scene
  • The Darknet
  • Conclusion
  • References
  • Chapter 2: The Cryptocurrency Ecosystem
  • Ethereum
  • Bitcoin Cash
  • Ripple
  • Monero
  • Litecoin
  • Basic Attention Token
  • Binance Coin
  • TRON
  • Tether
  • The Gross Anatomy of Cryptocurrencies
  • Conclusion
  • Chapter 3: Symmetric Encryption
  • How Symmetric Encryption Works
  • Design of Symmetric Encryption Algorithms
  • Advanced Encryption Standard
  • The Key Distribution Problem
  • Pseudo-Random Number Generators
  • Conclusion
  • References
  • Chapter 4: Cryptographic Hash Functions
  • An Introduction to Cryptographic Hashes
  • Cryptographic Hash Functions
  • The Fixed Length Output Property
  • The Collision-Free Property
  • The Irreversible Property
  • The Property of Efficient Computation
  • Proving That a File Has Been Tampered With
  • The Secure Hash Algorithm 256 (SHA-256)
  • A Python Example for SHA-256
  • RIPEMD-160
  • Message Authentication Codes
  • Conclusion
  • References
  • Chapter 5: The Alchemy of Public Key Cryptosystems
  • The Key Distribution Problem Revisited
  • Heuristics of Digital Signature Algorithms
  • Public Key Infrastructure
  • The RSA Algorithm
  • Python Code Example
  • Generating Globally Unique IDs
  • Conclusion
  • Chapter 6: The Constructor's Guide to Blockchains
  • Why Write a Cryptocurrency in Python?
  • The Computer Is the Blockchain
  • Understanding Blockchains
  • The Genesis Block
  • The Blockchain Database
  • Hash Pointers Are the Secret Ingredient
  • Blockchain Immutability
  • Making a Simple Blockchain
  • The Blockchain Universe
  • Conclusion
  • References
  • Chapter 7: The Helium Cryptocurrency Project
  • Python Installation and the Virtual Environment
  • Helium Configuration
  • The Helium Version Number
  • The Maximum Number of Helium Coins
  • The Smallest Helium Currency Unit
  • Helium Block Size
  • The Maximum Transaction Inputs
  • The Maximum Transaction Outputs
  • The Locktime Interval
  • The Coinbase Interval
  • Nonce
  • The Difficulty Number
  • Retarget Interval
  • The Mining Reward
  • Reward Interval
  • Helium Configuration Module
  • Conclusion
  • References
  • Chapter 8: The Helium Blockchain
  • Python Crypto Packages
  • rcrypt Module Walkthrough
  • A Pytest Primer
  • rcrypt Unit Tests
  • The Python Logger
  • Helium Block Structure
  • Helium Blockchain Walkthrough
  • Helium Blockchain Unit Tests
  • Conclusion
  • Chapter 9: Cryptocurrency Transaction Processing