====== Key Concepts of Blockchain ====== In this chapter, we will explore how blockchain technology, originally developed and can be applied in various fields. While we will primarily use examples related to financial transaction processing, it’s important to understand that blockchain's potential is not limited to this area. This technology offers a flexible framework for implementing decentralized solutions to securely store, share, and protect data across multiple domains. The term 'blockchain' has come to mean different things to different people. For developers, it's a set of tools and encryption techniques that make it possible to store data securely across a network of computers. In business and finance, it's seen as the technology behind digital currencies and a way to keep track of transactions without needing a central authority. For tech enthusiasts, blockchain is driving the future of the Internet. Others view it as a powerful tool that could reshape society and the economy, moving us toward a world with less centralized control. At its core, blockchain is a new type of data structure that merges cryptography with distributed computing. The basics of technology comes from Satoshi Nakamoto, who combined these elements to create a system where a network of computers work together to maintain a shared, secure database. In essence, blockchain technology can be described as a secure, distributed database. Blockchain technology demonstrates that when it is used, people anywhere in the world can trust each other and conduct business directly within large networks without the need for a central authority to manage everything. This trust isn’t based on big institutions but on technology—protocols, cryptography, and computer code. This shift makes it much easier for people and organizations to work together, opening up new possibilities for global collaboration without relying on traditional central institutions. **What is blockchain in simple terms?** A blockchain is a method of storing data. Data is stored in blocks that are linked to the previous block. Each block contains, * a list of transactions; * a unique ID for all the data in the block called a hash; * a hash of the previous block's data. Data in the block usually consists of transactions, each block can contain hundreds of transactions (for example person A sends 100 EUR to person B, this transaction describes 3 variables: sender identification, receiver identification and amount). A hash generated from transaction record is a unique combination of letters and numbers. It's always unique to every block on the blockchain. When the data in the block changes, the hash will also change. When Hash is applied to transaction data it disable option to make changes in record as result has of new record wont be equal to previous value. (for example if we generate hash for records “PersonA, PersonB,100” the hash result of this record will be unique value and will be changed if at least one symbol from original record will be changed.) Each block also contains the hash of the previous block hence forming a chain structure. As result if a transaction in any block changes, the hash of the block will change. When the hash of the block changes, the next block will show a mismatch with the previous hash that was recorded by it. This gives blockchain the property of being tamper resistant as it becomes very easy to identify when data in a block has changed. Blockchain has one more property that makes it secure. A blockchain is not stored on one computer or server which is usually the case with database. Instead, it is stored in a large network of computers called a peer to peer network. Per to peek is a network where all computer plays both server and node role. In most cases such networks does not have centralized server, this role is shared across network nodes. This structure allows the network to remain operational with any number and any combination of available nodes. Every time a new block of transactions has to be added to network, all members or nodes of the network must check and verify if all transactions in the block are valid. If all nodes in the network are in agreement that the transactions in the block are correct, then the new block will get added to every node's blockchain. This process is called consensus. Hence, any attacker who tries to tamper with the data on the blockchain must tamper with the data in most of the computers in the peer to peer network.