Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

BLOCK CHAIN TECHNOLOGY

WELCOME TO THE WORLD OF BLOCK CHAIN

What is block chain?


Blockchain is a system of recording information in a way that makes it difficult or impossible to change, hack, or cheat
the system.
Blockchain is a type of distributed ledger technology that uses cryptography, making it difficult to manipulate.
It is an unchangeable and distributed ledger used for recording transactions, transferring ownership, and tracking
assets. Blockchain ensures security, transparency, and trust in different types of transactions involving digital assets.

Presented by Deepa churi


What Is Distributed Ledger Technology (DLT)?
•Distributed ledgers are the databases shared across a network and can be accessed at various geographical
locations.

•They are held, reorganized, and controlled by individuals called nodes. The need for a third party is eliminated in
distributed ledgers.

•Distributed ledgers are considered highly secure, as they are inherently decentralized and provide a high amount
of transparency.

Presented by Deepa churi


How did blockchain emerge?
Stuart Haber and W. Scott Stornetta envisioned what many people have come to know as blockchain, in
1991. Their first work involved working on a cryptographically secured chain of blocks whereby no one could
tamper with timestamps of documents.
In 1992, they upgraded their system to incorporate Merkle trees that enhanced efficiency thereby enabling
the collection of more documents on a single block. However, it is in 2008 that Blockchain History starts to
gain relevance, thanks to the work one person or group by the name Satoshi Nakamoto.
Satoshi Nakamoto is accredited as the brains behind blockchain technology. Very little is known about
Nakamoto as people believe he could be a person or a group of people that worked on Bitcoin, the first
application of the digital ledger technology.
Nakamoto conceptualized the first blockchain in 2008 from where the technology has evolved and found its
way into many applications beyond cryptocurrencies. Satoshi Nakamoto released the first whitepaper about
the technology in 2009. In the whitepaper, he provided details of how the technology was well equipped to
enhance digital trust given the decentralization aspect that meant nobody would ever be in control of
anything
Bitcoin vs. Blockchain
The Bitcoin protocol is built on a blockchain. It uses blockchain as a means to transparently record a ledger
of payments, but blockchain can, in theory, be used to immutably record any number of data points. this
could be in the form of transactions, votes in an election, product inventories, state identifications, deeds to
homes, and much more.

Presented by Deepa churi


The key characteristics that make blockchain unique include:

Transactions
• Notable transaction use cases
• Land registration – Replacing requirements for research of Deeds (Sweden Land Registration)
• Personal Identification – Replacement of Birth/Death certificates, Driver’s Licenses, Social Security Cards
(Estonia)
• Transportation – Bills of Lading, tracking, Certificates of Origin, International Forms (Maersk/IBM)
• Banking – Document storage, increased back office efficiencies (UBS, Russia’s Sberbank)
• Manufacturing – Cradle to grave documentation for any assembly or sub assembly
• Food distribution – Providing location, lot, harvest date Supermarkets can pin point problematic food (Walmart)
• Audits – Due to the decentralized and immutable nature of Blockchain, audits will fundamentally change.

• Immutable.
• This means that once the transaction is agreed upon and recorded in a blockchain, it can never be
changed or tampered with — creating trust in every transaction.

Presented by Deepa churi


Encryption
• Standard encryption practices
• Some Blockchains allow for “BYOE” (Bring Your Own Encryption)
• Only as good as the next hardware innovation
• All blocks are encrypted
• Some Blockchains are public, some are private
• Public Blockchains are still encrypted, but are viewable to the public, e.g. https://www.blocktrail.com/BTC
• Private Blockchains employ user rights for visibility, e.g.
• Customer – Writes and views all data
• Auditors – View all transactions
• Supplier A – Writes and views Partner A data
• Supplier B – Writes and views Partner B data
Decentralization driven
This means that transactions across networks do not need to adhere to any specific central authority and
that no specific entity can claim exclusive control over the data or the processes.

Presented by Deepa churi


Consensus
Ensures that the next block in a blockchain is the one and only version of the truth
Keeps powerful adversaries from derailing the system and successfully forking the chain
Many Consensus mechanisms, each with pros and cons

• Transparent. This means that the history of every transaction is recorded and accessible for any
contributing party to audit. It creates a source through which asset lifetimes can be tracked

Presented by Deepa churi


In blockchain technology, as the name suggests, data is organized and stored in packages known as blocks,
and the blocks are chained together. The blocks in the chain cannot be edited, as blockchain technology
allows only the addition of more blocks of data.

Think of a blockchain as a book containing a list of transactions that all members of a group, or network,
need to see. Every member or "node" of the network has their own copy of the book. Each page of the
book is a "block" of data. Every page of the book is identified by a unique page number called a "hash," and
the first entry on each page is the "hash" of the previous page. That first entry is the "chain" that links the
pages or "blocks" of transactions together.
Presented by Deepa churi
Key elements of a Blockchain

Presented by Deepa churi


As each transaction occurs, it is
recorded as a “block” of data
Those transactions show the movement
of an asset that can be tangible (a
product) or intangible (intellectual). The
data block can record the information of
your choice: who, what, when, where,
how much and even the condition — such
as the temperature of a food shipment.

Each block is connected to the ones before and Transactions are blocked together in an irreversible chain: a
after it blockchain
These blocks form a chain of data as an asset Each additional block strengthens the verification of the
moves from place to place or ownership changes previous block and hence the entire blockchain. This renders
hands. The blocks confirm the exact time and the blockchain tamper-evident, delivering the key strength of
sequence of transactions, and the blocks link immutability. This removes the possibility of tampering by a
securely together to prevent any block from malicious actor — and builds a ledger of transactions you and
being altered or a block being inserted between other network members can trust.
two existing blocks. Presented by Deepa churi
Type of Blockchain
Here are three types of Blockchain :
Consortium Blockchain:
Multiple organizations will have access and authority over the Network. It's fully decentralized System
Public Blockchain:
In this type of blockchain testing, everyone has access to the Network and can take part in Consensus. Its
Decentralized System.
Private Blockchain:
Only Single organizations will have access and authority over the Network. It's a partially decentralized system.

Presented by Deepa churi


Blockchain Architecture
These are the core blockchain architecture components:
Node - user or computer within the blockchain architecture (each has an independent copy of the whole blockchain ledger)
Transaction - smallest building block of a blockchain system (records, information, etc.) that serves as the purpose of blockchain
Block - a data structure used for keeping a set of transactions which is distributed to all nodes in the network
Chain - a sequence of blocks in a specific order
Miners - specific nodes which perform the block verification process before adding anything to the blockchain structure

Consensus (consensus protocol) - a set of rules and arrangements to carry out blockchain operations
These consensus mechanisms also ensure new blocks get added to any blockchain. An example of a consensus mechanism is
proof-of-work (PoW), often referred to as “mining.”
Presented by Deepa churi
TESTING BLOCKCHAIN APPLICATIONS
What Is The Need For Blockchain Testing?
A block once added to the blockchain cannot be removed. It remains there forever. And if you try to alter the existing
block in between the chain, then the next blocks will become invalid. That is why it is important to note that whenever a
new block is added, it is being added the right way. Blockchain transaction goes through validation, encryption,
decryption, transmission, etc. so it is important to make sure these processes go well.

What Do We Need To Test In A Blockchain?


Block size: The max size of a block is 1MB. Need to test the behavior when the size exceeds 1MB.
Chain size: There is no limit on the size of the chain. So it needs to be tested for functionality as well as performance.
Smart contract testing: These are software modules on the blockchain that have specific conditions and business logic for
the transactions.
Load: Load becomes a major parameter in blockchain applications. Bitcoin has a max throughput of 3-4 transactions per
second. Need to test what will happen if the throughput increases.
Security: Ensuring security is the most important part of Blockchain applications. Once a particular layer is hacked
instantaneous transactions cannot be stopped in Blockchain. In the part of blockchain testing, testers need to make sure
the transactions are secure and there is no malicious attacks.
Transmission of data: Data in the blockchain is transferred globally from 1 computer to another. So it
becomes important to make sure that data is not lost in between from one end to another.
Presented by Deepa churi
Block addition: New blocks are getting added in the chain after a successful transaction. So it must be tested that
a new block is getting added in the chain and flow is going smooth.
Cryptographical data: Testing is needed to ensure the data is properly encrypted and decrypted.
Consistency/Availability: When the chain’s end is not available, again so you can ensure that the proper behaviour
occurs. Some limbo location until it can be processed? A split in the chain? A juggling act where the new one gets
added to the last accessible block and the orphaned inaccessible block gets added back in later?
Data corruption: What happens to the data in a block if a block gets corrupted? Is there a way to repair the
block? Can the chain past the damaged block be reached? How do you fix transaction typos?
Database handling: How is your tracking set to deal with unusual cases in supply chain management? What if
something is damaged or goes missing? What if an item becomes 2 items (like a diamond that gets
Smart contracts testing a smart contract is a set of rules or conditions on which a transaction is executed on
blockchain. Once deployed, the contract works on its own; no centralized person or body controls it. Thus, it is
essential that the contract be thoroughly tested to make sure it does what it’s supposed to do, perfectly. The
following are some of the key things that need to be validated for smart contracts:
• Functional testing of business logic • Node testing to ensure consistency of transactions • Validating the
consensus mechanism and data immutability Test frameworks such as Truffle, Mocha and Chai are available to
test smart contracts. To do so, these frameworks need to be deployed in an environment like an Ethereum live
environment. There are a number of different ways to achieve this like Ganache local blockchain or Testnets like
Rinkeby to deploy the smart contract. Leveraging test-driven development is a good option when testing smart
contracts, as this will ensure that there is no room for error. Our test automation framework, Open2Test, can be
leveraged for this purpose, as well.
Presented by Deepa churi
Phases of Blockchain Testing

Initiation Phase:
•Understanding Blockchain Architecture: In this phase, we understand and analyze the Business and functional
requirements. This describes the behavior of the application and how the user will interact with the application
•Full Test Strategy Designing: During this phase, we describe the testing approach for testing an application. This should
be done in detail so that every objective are fully covered.

•Design Phase:
•Test case Creation: In this phase, the QA team writes the test cases with proper steps. These Testcases are reviewed by
Business Analyst(BA).
•Test Data Creation: In this phase, test data is created or extracted from the previous environment against business
requirements. Test data can be created manually or using automation tools.
•Environment Setup: In this step, the testing environment is configured as the need for Business or application
•Performance Metrics: Performance Metrics represent the information in terms of performance of application, System
or the components

Presented by Deepa churi


Testing Phase:
API Testing: In API testing, we ensure that the interaction between applications in the blockchain ecosystem is as expected
Block Testing: All the blocks on the Network should be tested individually to ensure proper cooperation.
Functional Testing: In Functional Testing, we evaluate the work of various functional parts of the Blockchain (e.g., smart
contracts).
Performance Testing: Details like network latency based on block size, network size, expected transaction size, and how
long a query takes to return the output with the specialized authentication protocol
Security Testing/Penetration Testing: In this, we ensure that the application is vulnerable to attacks and Systems can
protect the data and is capable of handling malicious attacks, etc.
Cyberattacks and fraudulent hacking are extremely difficult to do within a blockchain—that is, when the right software rules
and smart contracts are in place. Yet, any mistake within the sophisticated math or software rules can leave the front door
open to unauthorized users with malicious intent.
Integration Testing: In Integration testing, we ensure that all the components of the application are integrated properly and
performing the actions appropriately
Smart Contract Testing: Smart Contract testing is about performing detailed functional testing of business logic and
process. Smart contracts are complicated in nature. They basically deal with real-time auditing of transactions. If a contract
is created with a bug or vulnerability, it cannot be altered and it will be there forever. Smart Contract testing is a very crucial
and specialized one compared to traditional testing.
Peer/Node Testing:
Peer/Node testing is needed on all the nodes on the network for the consistency of transactions and to make sure smooth
cooperation.

Presented by Deepa churi


Here are 5 popular tools for testing your blockchain applications:
Ethereum Tester: It is an open-source testing library available as a Github repo. Its setup is pretty easy with a
manageable API support for various Testing requirements.
BitcoinJ: It is a Java-based framework built for Bitcoin-based apps that enables you to interact with the real
BTC network and various testing activities. In order to use it, you don’t have to download the standard BTC
Core files from Bitcoin.com. You can even approach a user forum in case you need clarification or are facing
hiccups in the testing process. It is an open network available for assistance.
Populus: This framework has the testing functionality of Ethereum embedded in the form of a set of features
for test contract deployment. It’s developed around the py.test framework. Hence, it is relatively easy to
implement.
Truffle: It’s a commonly referred name for Ethereum developers, which brings in good testing features, such
as automated contract testing. The framework holds capabilities beyond just testing functionality within the
Blockchain application.
Embark: It is a testing framework that focuses on developing decentralized applications (dApps) that run on
various systems or nodes. It has integrations with Ethereum blockchain, IPFS, and a decentralized
communication platforms such as Whisper and Orbit.

Presented by Deepa churi


Challenges in Blockchain Testing
Understanding the Technology- Blockchain is a new technology and understanding the technology with
domain knowledge is very important in testing Blockchain Application
Lack of Blockchain Testing Tools- Blockchain-based applications testing is all about tools. Selecting the right
tool as per application is one of the important decisions.
Defining Test Strategy- Like any application, designing Test Strategy for Blockchain application. It is one of
teh biggest challenge as Test Strategy demands in-depth knowledge and understanding of the technology
and application.
Block and Chain Size- Along with standard Testing, tools, and the best practices in place, Testing for block
size and chain size is also important. Blockchain applications may get fail without proper validation of block
size and chain size.
Integration Testing- As there are multiple components involved in the Blockchain application, integration
testing should be done properly and frequently to test that all the components are properly integrated to
avoid any failures.
Performance and Load-Failing to test for performance and load testing gives little or no insight into how the
Blockchain application performs in both production as well as under specific workloads and network
conditions.
Security- Securing the data should be the most important in the Blockchain Application. Blockchain can be
part of various sectors like Health, finance, etc. any type of malicious attacks can impact the Blockchain
application Presented by Deepa churi
BLOCKCHAIN AND INDUSTRY
Currency
Blockchain forms the bedrock for cryptocurrencies like Bitcoin. The U.S. dollar is controlled by the Federal Reserve.
Under this central authority system, a user’s data and currency are technically at the whim of their bank or
government. If a user’s bank is hacked, the client’s private information is at risk. If the client’s bank collapses or they
live in a country with an unstable government, the value of their currency may be at risk. In 2008, some of the banks
that ran out of money were bailed out partially using taxpayer money. These are the worries out of which Bitcoin was
first conceived and developed.
By spreading its operations across a network of computers, blockchain allows Bitcoin and other cryptocurrencies to
operate without the need for a central authority. This not only reduces risk but also eliminates many of the
processing and transaction fees. It can also give those in countries with unstable currencies or financial
infrastructures a more stable currency with more applications and a wider network of individuals and institutions
they can do business with, both domestically and internationally.
CIRCLE
Industry: Fintech, Cryptocurrency
Location: Boston, Massachusetts
How it's using blockchain: Boston-based Circle oversees more than $2 billion a month in cryptocurrency investments
and exchanges between friends. Circle’s investment and money transfer platform currently features seven different
cryptocurrencies, including Bitcoin, Monero and Zcash.

Presented by Deepa churi


Healthcare
Health care providers can leverage blockchain to securely store their patients’ medical records. When a medical
record is generated and signed, it can be written into the blockchain, which provides patients with the proof
and confidence that the record cannot be changed. These personal health records could be encoded and stored
on the blockchain with a private key, so that they are only accessible by certain individuals, thereby ensuring
privacy.
BURSTIQ
Industry: Healthcare
Location: Denver, Colorado
How it's using blockchain: BurstIQ’s big data blockchain contracts help patients and doctors securely transfer
sensitive medical information. The smart contracts establish the parameters of what data can be shared and
even displays details of personalized health plans for each patient.

Presented by Deepa churi


Voting
As mentioned, blockchain could be used to facilitate a modern voting system. Voting with blockchain carries the
potential to eliminate election fraud and boost voter turnout, as was tested in the November 2018 midterm
elections in West Virginia.Using blockchain in this way would make votes nearly impossible to tamper with. The
blockchain protocol would also maintain transparency in the electoral process, reducing the personnel needed
to conduct an election and providing officials with nearly instant results. This would eliminate the need for
recounts or any real concern that fraud might threaten the election.
STATE OF DELAWARE
Industry: Government
Location: Dover, Delaware
How it's using blockchain: Similar to the Illinois Blockchain Initiative, the State of Delaware is also launching
their own initiative to explore the benefits of blockchain in business and government. So far, the state has
mostly focused its efforts into archiving public documents and safely securing private records. The next step in
Delaware’s initiative is to begin implementing smart contracts between the government and corporations.

Presented by Deepa churi


Supply Chains
As in the IBM Food Trust example, suppliers can use blockchain to record the origins of materials that they have
purchased. This would allow companies to verify the authenticity of their products, along with such common
labels as “Organic,” “Local,” and “Fair Trade.
BLOCK ARRAY
Industry: Logistics, Supply Chain
Location: Chattanooga, Tennessee
How it's using blockchain: Block Array introduced the first “Bill of Lading” to run on blockchain. The logistics
operation platform helps businesses safely monitor the progress of their shipped goods, house information on
drivers and materials, and manage payments. Block Array also features smart contract processing and secure
document management.

Presented by Deepa churi


Banking and Finance
By integrating blockchain into banks, consumers can see their transactions processed in as little as 10 minutes, 2 basically
the time it takes to add a block to the blockchain, regardless of holidays or the time of day or week. With blockchain, banks
also have the opportunity to exchange funds between institutions more quickly and securely. In the stock trading business,
for example, the settlement and clearing process can take up to three days (or longer, if trading internationally), meaning
that the money and shares are frozen for that period of time.
Smart Contracts
A smart contract is a computer code that can be built into the blockchain to facilitate, verify, or negotiate a contract
agreement. Smart contracts operate under a set of conditions that users agree to. When those conditions are met, the
terms of the agreement are automatically carried out.
Say, for example, a potential tenant would like to lease an apartment using a smart contract. The landlord agrees to give
the tenant the door code to the apartment as soon as the tenant pays the security deposit. Both the tenant and the
landlord would send their respective portions of the deal to the smart contract, which would hold onto and automatically
exchange the door code for the security deposit on the date the lease begins. If the landlord doesn’t supply the door code
by the lease date, the smart contract refunds the security deposit. This would eliminate the fees and processes typically
associated with the use of a notary, third-party mediator, or attornies.

Presented by Deepa churi


CIVIC
Industry: Identity Security, Fintech
Location: Palo Alto, California
How it's using blockchain: Civic is a blockchain-based ecosystem that gives individuals insights into who has their information.
The company’s users enter into smart contracts, where they decide who can share their personal information and how much. If
the contract is broken or an unauthorized source tries to access private data, the individual is immediately alerted.

IoT, Industrial IoT, & Mesh Networking


Blockchain is supposed to make it easy to manage and process the heavy load of information securely (encrypted) in the age
when smartphones can “talk” to our fridges and cars. By combining the RFID technology with blockchain and
IoT, Waltonchain has created the “Value Internet of Things”, that will help businesses share data securely, create better sense
of ownership, and make it easier to trace. The technology can also be used to create a decentralized network of multiple IoT
devices that can directly communicate with each other and check energy usage, manage bugs, and update software.
XAGE SECURITY
Industry: Internet of Things, Cybersecurity
Location: Palo Alto, California
Blockchain Application: Xage is the world’s first blockchain-enabled cybersecurity platform for IoT companies. The technology
manages billions of devices at once and can even self-diagnose and heal possible breaches. Xage is primarily used by IoT
companies in the transportation, energy and manufacturing industries.

Presented by Deepa churi


Blockchain is making its space in almost all sorts of industries and there will be
a huge demand for blockchain engineers and developers , Testers across all
these markets. By 2024, Blockchain is expected to become a $20 billion market.
The current global situation has also created a space for remote blockchain jobs

Useful Links on Blockchain


•Blockchain @ Wikipedia − Blockchain, its history and various other terms has
been explained in simple language.
•Bitcoin.org −Official site
•Tutorial Point

THANK YOU
Presented by Deepa churi

You might also like