The Technology of Blockchain
Before we formulate how to build a blockchain in Python, lets go to the very start of the concept. A white paper describing a purely peer-to-peer version of electronic cash where transactions would not have to rely on third-party verifications to ensure the security of each transaction, was put forth. In this case, each transaction would be timestamped, then hashed into an ongoing chain of hash-based proof-of-work.
So what do you mean by hashing and proof-of-work? And how Bitcoin, the first cryptocurrency in the world, is related to it and how is this useful when you are trying to build a blockchain in Python?
A blockchain is an immutable, sequential chain of records called Blocks. They can contain transactions, files or any data we like. But the important thing is that they are chained together using hashes.
A blockchain is a time-stamped decentralized series of fixed records that contains data of any size is controlled by a large network of computers which are scattered around the globe and not owned by a single organization. Every block is secured and connected with each other using hashing technology which protects it from being tampered by an unauthorized person.
Fundamentally, the data stored in a blockchain must have the following characteristics:
These qualities are necessary to maintain the integrity of the blockchain and the security of the network within which the transactions occur.
The system that Bitcoin relies upon is blockchain which you must have understood by now is a growing list of records (i.e. blocks) that are linked to one another. Bitcoin was the first successful application of this system and other cryptocurrencies were founded on the same principles right after it. This system, however, is not restricted to storing financial information. The type of data being stored is independent of the blockchain network.