Introduction
:
Blockchain is a new
technology where data is shared securely over a distributed network. It is a
virtual database shared across networks. Blockchain contains a growing chain of
records called blocks, data that are linked by cryptography. Each block
contains cryptographic hash of previous block, a timestamp of creation, amd
transacted data.Let us see the further discussions.
Decentralizarion:
The decentralized nature of blockchain technology means that it doesn’t
rely on a central point of control. A lack of a single authority makes the
system fairer and considerably more secure.
The way in which data is recorded onto a blockchain epitomizes its most
revolutionary quality: its value of decentralization. Rather than relying on a
central authority to securely transact with other users, blockchain utilizes
innovative consensus protocols across a network of nodes,
to validate transactions and record data in a manner that is incorruptible. As
a blockchain is a ledger of information it is extremely important that the
information being stored is honest and accurate.
Why
Decentralization ?
No single point of failure: Crashes and failures are the
single biggest problem with any centralized network. A single failure can cause
service disruption and potentially cause millions in losses. It might seem like
redundancy can solve such problems, but incidents like the 2016 failure at Amazon Web Services that led to
many major sites being inaccessible, prove otherwise.
Scalability advantage: Decentralized networks are
made up of independent nodes. When the load on a network increases, the supply
can easily increase as well. These nodes can simply be home computers with an
internet connection. The owners of the computers are adequately compensated,
receiving digital currency for their contribution.
Democratic decision making: Most centralized systems have
a single authority that controls all the power and makes all the decisions.
There are dozens of examples of how bad decision making by a central authority
can be bad for users and make the entire system crumble. For example, a social
media company that has total control over its users’ data.
Decentralized systems powered by the blockchain are the next logical step
in the evolution of the internet. They are more robust, cheaper, scalable and
give the power to the user base rather than to the monopolizing service
providers.Security methods include usage of Public Key Cryptography. Consensus
algorithms in blockchain are used to maintain data consistency in distributed
network.
Distributed Ledger :
The distributed ledger database is spread
across several nodes (devices) on a peer-to-peer network, where each replicates
and saves an identical copy of the ledger and updates itself independently. The
primary advantage is the lack of central authority. When a ledger update
happens, each node constructs the new transaction, and then the nodes vote by
consensus algorithm on which copy is correct. Once a consensus has been
determined, all the other nodes update themselves with the new, correct copy of
the ledger. Security is accomplished through cryptographic keys and signatures.
Database vs Blockchain :
A user (client) with permissions associated
with their account can change entries that are stored on a centralized server.
By changing the ‘master copy’, whenever a user accesses a database using their
computer, they will get the updated version of the database entry. Control of
the database remains with administrators, allowing for access and permissions
to be maintained be a central authority.
This is not at all the same as with a
blockchain. For a blockchain database, each participant maintains, calculates
and updates new entries into the database. All nodes work together to
ensure they are all coming to the same conclusions, providing in-built
security for the network.
Blockchain Architecture :
A blockchain is a database that is shared across a network of computers.
Once a record has been added to the chain it is very difficult
to change.To ensure all the copies of the database are the same, the network makes constant checks. Blockchains have been
used to underpin cyber-currencies like bitcoin, but many other possible uses are emerging.
Blocks:
Blocks
contain pieces of valid transactions that are hashed and encoded into Merkle
Tree. Each block contains cryptographic hash of prior block in the chain,
linking the two. The link is iterative and hence determines the integrity of
previous block.The chain is irreversible and immutable. Blocks are chained together, preventing any block from being altered
or a block being inserted between two existing blocks. Blocks not
included in chain are orphan blocks.
Block Time:
The block time
is the average time it takes for the network to generate one extra block in the
blockchain. Some blockchains create a new block as frequently as every five
seconds.[ By
the time of block completion, the included data becomes verifiable. In
cryptocurrency, this is practically when the transaction takes place, so a
shorter block time means faster transactions. The block time for Ethereum is
set to between 14 and 15 seconds, while for bitcoin it is 10 minutes
The design aspects of blockchain contains ,
1.
The Blockchain platform
itself
2.
The role of Nodes in
constituting the overall blockchain & the Node discovery process
3.
Transactions that make up the blocks running in the Nodes
4.
Security implementation that generates the Blocks
5.
The process of adding newer blocks
to the Chain
Main
components of a Block are,
Block Header(version): indicates which set of block validation rules
to follow
TimeStamp
: current
time as seconds in universal time since January 1, 1970.
Nonce, nBits :
an 4-byte field, which usually starts with 0 & increases for every calculation/target threshold of a valid block
hash. (Transaction Counter)
Merkle tree root hash
:
the hash value of all the transactions in the block.
Parent Block Hash
: a 256-bit hash value that points
to the previous block.
`Ø Digital Signature :
Digital Signatures are used as a symbol of confidentiality
and data protection. It uses a Publiv-Private Key Cryptography. The private key
is confidential and kept secret to sign the transactions. The two phases
involved are signing and verification.
In signing phase, the sender encrypts
data with his private key and sends the encrypted result + original doc. In verification phase, receiver validates
the value with sender’s public key to check if tapered or not. The algorithm used
for digital signatures are Elliptical Curve Digital Signatur Algorithm(ECDSA). Using
digital signatures, the proof of work for each node/transaction can be recorded.
In blockchain the records on a blockchain are secured through cryptography. Network participants have their own private keys that are
assigned to the transactions they make and act as a personal digital signature. If
a record is altered, the signature will become invalid and the peer network
will know right away that something has happened. Early notification is crucial
to preventing further damage.
What makes Blockchain so secured ?
What makes this system theoretically tamperproof is two
things: a cryptographic fingerprint unique to each block, and a “consensus
protocol,” the process by which the nodes in the network agree on a shared
history. The
fingerprint, called a hash, takes a lot of computing time and energy to
generate initially. It thus serves as proof that the miner who added the block
to the blockchain did the computational work to earn a bitcoin reward (for this
reason, Bitcoin is said to use a “proof-of-work” protocol). It also serves as a
kind of seal, since altering the block would require generating a new hash.
Verifying whether or not the hash matches its block, however, is easy, and once
the nodes have done so they update their respective copies of the blockchain
with the new block. This is the consensus protocol.
The final security element is that the
hashes also serve as the links in the blockchain: each block includes the
previous block’s unique hash. So if you want to change an entry in the ledger
retroactively, you have to calculate a new hash not only for the block it’s in
but also for every subsequent block. And you have to do this faster than the
other nodes can add new blocks to the chain. So unless you have computers that
are more powerful than the rest of the nodes combined (and even then, success
isn’t guaranteed), any blocks you add will conflict with existing ones, and the
other nodes will automatically reject your alterations. This is what makes the
blockchain tamperproof, or “immutable.”