Blockchain is arguably one of the most significant and disruptive technologies that came decrypt bitcoin existence since the inception of the Internet. It’s the core technology behind Bitcoin and other crypto-currencies that drew a lot of attention in the last few years. As its core, a blockchain is a distributed database that allows direct transactions between two parties without the need of a central authority. This simple yet powerful concept has great implications for various institutions such as banks, governments and marketplaces, just to name a few.
Any business or organization that relies on a centralized database as a core competitive advantage can potentially be disrupted by blockchain technology. Putting aside all the hype around the price of Bitcoin and other cryptocurrencies, the goal of this blog post is to give you a practical introduction to blockchain technology. Sections 1 and 2 cover some core concepts behind blockchain, while section 3 shows how to implement a blockchain using Python. We will also implement 2 web applications to make it easy for end users to interact with our blockchain. Please note that I’m using Bitcoin here as a medium for explaning the more general technology of “Blockchain”, and most of the concepts described in this post are applicable to other blockchain use cases and crypto-currencies. Below is an animated gif of the two web apps that we will build in section 3.
A Crash Course in Blockchain It all started with a white paper released in 2008 by an unknown person or entity using the name Satoshi Nakamoto. If Alice and Bob use digital money, then the problem gets more complicated. Digital money is in digital form and can be easily duplicated. Bob by email for example, Bob cannot know for sure if Alice has deleted her copy of the file. Alice, Bob and all other participants in the network.