Module 1 Notes
Module 1 Notes
What is Blockchain?
The blockchain is a distributed database of records of all transactions
or digital events that have been executed and shared among
participating parties.
Each transaction is verified by the majority of participants of the
system.
Or
A blockchain is an open, distributed ledger that can record
transactions between two parties efficiently and in a verifiable and
permanent way without the need for a central authority.
Distributed Systems
Distributed Systems are networks of independent computers that
work together to achieve a common goal.
• In a distributed system, each computer, often referred to as a node,
has its own memory and computing resources, and communicates
with other nodes through message passing.
• These systems are designed to handle large volumes of data,
computational tasks, or services across multiple machines, often
connected via a network.
How Blockchain Integrates with Distributed Systems?
Thus, a Blockchain is a ledger i.e file that constantly grows and keeps
the record of all transactions permanently.
(He spends $17,000 on it and after he stopped he sells the parts of his laptop
on eBay and keep the drive with him so that when he needs to work again on
bitcoin he will utilize it but while cleaning his house in 2013, he thrashed his
drive with garbage and now his bitcoins cost nearly $127 million.
This money now remains unclaimed in the Bitcoin system.)
• 2014: The year 2014 is marked as the turning point for blockchain
technology. Blockchain technology is separated from the currency
and Blockchain 2.0 is born. Financial institutions and other industries
started shifting their focus from digital currency to the development
of blockchain technologies.
• 2015: In 2015, Ethereum Frontier Network was launched, thus
enabling developers to write smart contracts that could be deployed
to a live network. In the same year, the Linux Foundation launched
the Hyperledger project.
• 2016: A bug in the Ethereum DAO code was exploited resulting in a
hard fork of the Ethereum Network. The Bitfinex bitcoin exchange
was hacked resulting in 120,000 bitcoin being stolen
• 2017: In the year 2017, Japan recognized Bitcoin as a legal currency.
•Essentially, the consensus protocol makes sure that every new block
that is added to the Blockchain is the one and only version of the truth
that is agreed upon by all the nodes in the Blockchain.
For example, the PoW mechanism used in Bitcoin falls into this
category, where a miner who solves the computational puzzle as
proof of computational effort expended wins the right to add the
next block to the blockchain.
Traditional fault tolerance-based:
this type of consensus mechanism relies on a simple scheme of nodes
that publish and verify signed messages in a number of phases.
• Availability means that the nodes in the system are up, accessible for
use, and are accepting incoming requests and responding with data
without any failures as and when required.
Figure 1.3: Design of a distributed system: N4 is a Byzantine node and L2 is broken or a slow network link
• The primary challenge of a distributed system design is the
coordination between nodes and fault tolerance.
• Distributed systems are so challenging to design that a theory known
as the CAP theorem has been proven, which states that a distributed
system cannot have all three of the much-desired properties
simultaneously;i.e, consistency, availability, and partition tolerance.
The history of blockchain and Bitcoin
• Blockchain was introduced with the invention of Bitcoin in 2008. Its practical
implementation then occurred in 2009.
The events that led to blockchain
• 1960s – Invention of computer networks
• 1969 – Development of ARPANET
• 1970s – Early work on secure network communication including public key cryptography
• 1970s – Cryptographic hash functions
• 1973 – Extension of ARPANET to other geographic locations
• 1974 – First internet service provider, Telenet
• 1976 – Diffie–Hellman work on securely exchanging cryptographic keys
• 1978 – Invention of public key cryptography
• 1979 – Invention of Merkle Trees (hashes in a tree structure) by Ralph C. Merkle
• 1980s – Development of TCP/IP
• 1980 – Protocols for public key cryptosystems, Ralph C. Merkle
• 1982 – Blind signatures proposed by David Chaum
• 1982 – The Byzantine Generals Problem (Bitcoin can be considered a solution to the
Byzantine Generals Problem; however, the original intention of the Bitcoin network was
to address the previously unsolved double-spending problem)
• 1985 – Work on elliptic curve cryptography by Neal Koblitz and Victor Miller
• 1991 – Haber and Stornetta work on tamper proofing document timestamps. This can be
considered the earliest idea of a chain of blocks or hash chains
• 1992 – Cynthia Dwork and Moni Naor publish Pricing via Processing or Combatting Junk
Mail. This is considered the first use of Proof of Work (PoW)
• 1993 – Haber, Bayer, and Stornetta upgraded the tamper-proofing of document
timestamps system with Merkle trees
• 1995 – David Chaum's Digicash system (an anonymous electronic cash system) started
to be used in some banks
• 1998 – Bit Gold, a mechanism for decentralized digital currency, invented by Nick
Szabo. It used hash chaining and Byzantine Quorums
• 1999 – Emergence of a file-sharing application mainly used for music sharing, Napster,
which is a P2P network, but was centralized with the use of indexing servers
• 1999 – Development of a secure timestamping service for the Belgian
project TIMESEC
• 2000 – Gnutella file-sharing network, which introduced
decentralization
• 2001 – Emergence of BitTorrent and Distributed Hash Tables (DHTs)
• 2002 – Hashcash by Adam Back
• 2004 – Development of B-Money by Wei Dei using hashcash
• 2004 – Hal Finney, the invention of the reusable PoW system
• 2005 – Prevention of Sybil attacks by using computation puzzles, due
to James Aspneset al.
• 2009 – Bitcoin (first blockchain)
Various Technical definitions of Block chain:
Technical definition: Blockchain is a peer-to-peer, distributed ledger
that is cryptographically secure, append-only, immutable (extremely
hard to change), and updateable only via consensus or agreement
among peers.
• Peer-to-peer(P2P )
This means that there is no central controller in the network, and all
participants (nodes) talk to each other directly.
• Distributed ledger
blockchain is a "distributed ledger," which means that a ledger is
spread across the network among all peers in the network, and each
peer holds a copy of the complete ledger.
• Cryptographically secure
means that cryptography has been used to provide security services
that make this ledger secure against tampering and misuse.
• Append-only
means that data can only be added to the blockchain in
time-sequential order.
This property implies that once data is added to the blockchain, it is
almost impossible to change that data and it can be considered
practically immutable.
• Updatable via consensus
The most critical attribute of a blockchain is that it is updateable only
via consensus. This is what gives it the power of decentralization.
In this scenario, no central authority is in control of updating the
ledger.
Instead, any update made to the blockchain is validated against strict
criteria defined by the blockchain protocol and added to the
blockchain only after a consensus has been reached among all
participating peers/nodes on the network.
To achieve consensus, there are various consensus facilitation
algorithms that ensure all parties agree on the final state of the data
on the blockchain network and resolutely agree upon it to be true.