Reader small image

You're reading from  Foundations of Blockchain

Product typeBook
Published inJan 2019
PublisherPackt
ISBN-139781789139396
Edition1st Edition
Concepts
Right arrow
Author (1)
Koshik Raj
Koshik Raj
author image
Koshik Raj

Koshik Raj is an information security enthusiast who holds a master's degree in computer science and information security. He has a background of working with RSA, a network security company. He has also worked as a senior developer in CoWrks, Bengaluru. Koshik has been studying blockchain technology since he was introduced to Bitcoin while pursuing his master's. He is currently advising an educational start-up looking to implement blockchain technology in the education space. He is also setting up a blockchain incubation center for students and researchers in Bengaluru to aid mentorship and networking, and even the launching and marketing of their ideas.
Read more about Koshik Raj

Right arrow

Preface

Blockchain technology can be very intimidating when encountered for the first time. But in reality, the technology itself is just a combination of three popular concepts: cryptography, peer-to-peer networking, and game theory. Although these may seem complicated at first glance, a basic understanding of these three required concepts will help you to build a strong foundation that once you've completed, can be used as a cornerstone for understanding blockchain technology at an advanced level.

This book helps you to understand the concepts of blockchain technology, and introduces you to both cryptocurrency, as well as several blockchain platforms. It also gives an in-depth analysis of the potential and concerns of the technology so that blockchain can be adopted where its implementation actually adds value.

Who this book is for

This book is designed for anyone who is looking to dive into the foundations of the blockchain technology space. Although this book builds a foundation for blockchain technology for beginners, it can also be used by blockchain developers as a quick reference guide and also to gain deeper insights on a few exciting topics of the technology.

What this book covers

Chapter 1, Introduction, gives an overview of blockchain technology by exploring some of the basic topics, such as its definition and history, the motivation behind it, its characteristics, and the different types of blockchain.

Chapter 2, A Bit of Cryptography, explores the fundamentals of cryptography with regards to blockchain technology, along with a few practical examples.

Chapter 3, Cryptography in Blockchain, explains how blockchain technology makes use of cryptographic primitives, such as hash functions and digital signatures.

Chapter 4, Networking in Blockchain, introduces peer-to-peer networking concepts to achieve decentralization in the blockchain network. This chapter also covers how blockchain is maintained in a decentralized network with the help of an example application.

Chapter 5, Cryptocurrency, dives into the original and best implementation of the blockchain technology by exploring the concepts of Bitcoin, and helps to differentiate cryptocurrency from traditional digital currencies.

Chapter 6, Diving into Blockchain – Proof of Existence, introduces decentralized application development using MultiChain blockchain framework by implementing a use case: Proof of Existence.

Chapter 7, Diving into Blockchain – Proof of Ownership, dives further into decentralized application development by introducing the concepts of smart contracts on the NEO and Ethereum blockchain platforms by implementing a use case, looking specifically at Proof of Ownership.

Chapter 8, Blockchain Projects, explores the opportunities in the field of blockchain by classifying and understanding some well-known blockchain projects.

Chapter 9, Blockchain Optimizations and Enhancements, focuses on the techniques that can optimize blockchain applications, while introducing a few enhancements of existing blockchain applications in order to add interesting functionalities.

Chapter 10, Blockchain Security, gives an insight as to the level of security required blockchain technology by pointing out possible attacks and how they can be prevented.

Chapter 11, When Shouldn’t We Use Blockchain?, lists the characteristics of blockchain technology and explains several decision models you'll need to consider when picking the right use case for a blockchain application.

Chapter 12, Blockchain Use Cases, analyzes a selection of genuine blockchain use cases with the help of decision models, and looks at creating implementations for those use cases.

To get the most out of this book

Although this book builds a foundation of knowledge about cryptography and peer-to-peer networking concepts, hands-on Python programming experience and theoretical networking knowledge would be an advantage.

Most of the applications used in this book can be executed on any platform, the examples shown are executed using Ubuntu 16.04.5 LTS.

You should be comfortable with installing applications with the help of package management tools such as APT on Ubuntu or equivalent tools on Mac or Windows.

Since most of the application source code is hosted on GitHub, you should be familiar with the Git version control system.

Download the example code files

You can download the example code files for this book from your account at www.packt.com. If you purchased this book elsewhere, you can visit www.packt.com/support and register to have the files emailed directly to you.

You can download the code files by following these steps:

  1. Log in or register at www.packt.com.
  2. Select the SUPPORT tab.
  3. Click on Code Downloads & Errata.
  4. Enter the name of the book in the Search box and follow the onscreen instructions.

Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:

  • WinRAR/7-Zip for Windows
  • Zipeg/iZip/UnRarX for Mac
  • 7-Zip/PeaZip for Linux

The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublishing/Foundations-of-Blockchain. In case there's an update to the code, it will be updated on the existing GitHub repository.

We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

Download the color images

Conventions used

There are a number of text conventions used throughout this book.

CodeInText: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "Mount the downloaded WebStorm-10*.dmg disk image file as another disk in your system."

A block of code is set as follows:

from Crypto.Hash import SHA256

hash_object = SHA256.new(data=b'First')
print(hash_object.hexdigest())

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

from Crypto.Hash import SHA256

hash_object = SHA256.new(data=b'First')
print(hash_object.hexdigest())

Any command-line input or output is written as follows:

$  curl -X POST http://localhost:10332 -H 'Content-Type: application/json' -d '{ "jsonrpc": "2.0", "id": 5, "method": "getversion", "params": [] }'

Bold: Indicates a new term, an important word, or words that you see onscreen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "A different header is created by altering a variable field called nonce in the header."

Warnings or important notes appear like this.
Tips and tricks appear like this.

Get in touch

Feedback from our readers is always welcome.

General feedback: If you have questions about any aspect of this book, mention the book title in the subject of your message and email us at customercare@packtpub.com.

Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packt.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details.

Piracy: If you come across any illegal copies of our works in any form on the Internet, we would be grateful if you would provide us with the location address or website name. Please contact us at copyright@packt.com with a link to the material.

If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

Reviews

Please leave a review. Once you have read and used this book, why not leave a review on the site that you purchased it from? Potential readers can then see and use your unbiased opinion to make purchase decisions, we at Packt can understand what you think about our products, and our authors can see your feedback on their book. Thank you!

For more information about Packt, please visit packt.com.

lock icon
The rest of the chapter is locked
You have been reading a chapter from
Foundations of Blockchain
Published in: Jan 2019Publisher: PacktISBN-13: 9781789139396
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Author (1)

author image
Koshik Raj

Koshik Raj is an information security enthusiast who holds a master's degree in computer science and information security. He has a background of working with RSA, a network security company. He has also worked as a senior developer in CoWrks, Bengaluru. Koshik has been studying blockchain technology since he was introduced to Bitcoin while pursuing his master's. He is currently advising an educational start-up looking to implement blockchain technology in the education space. He is also setting up a blockchain incubation center for students and researchers in Bengaluru to aid mentorship and networking, and even the launching and marketing of their ideas.
Read more about Koshik Raj