Hi everyone, my name is Sai Vennam and I'm
with the IBM Cloud team.
Today let's talk about Blockchain.
I'm excited to talk about this because I feel
like there's a lot of misconceptions out there
about the technology and in addition there's
a lot of concepts that can be difficult to
grasp.
In this video I want to dive into the fundamentals
of Blockchain.
We'll start with the definition.
Blockchain is a distributed and immutable
ledger allowing me to track almost anything
tangible or intangible goods.
Most of us are probably familiar with crypto
currencies, or Blockchain as used to track
transactions.
So, to better understand how Blockchains are
distributed let's start with an analogy.
Let's say I am with a group of friends and
I lend my friend Pat ten dollars.
Now the friends see the transaction go down
and they know that I have the correct amount
of money and in addition they've essentially
endorse the transaction and they made a record
of it.
Now next week when Pat comes back to me to
ask how much money had initially lent her,
we could easily go to anyone of my friends
that have a record of that transaction.
Now Blockchains are distributed as all of
the nodes that are running in that Blockchain
network have a record of every transaction
that has ever taken place.
Now that kind of lends itself to the distributed
nature of Blockchain.
So, all the ledger technology that has been
around for some time, even simple ledgers,
Blockchain takes advantage of it by having
a single source of truth and has a distributed
nature where everyone has the same copy from
that Blockchain.
Next let's introduce the fact the Blockchains
are immutable.
To do so let's dive into the pieces that make
up a blockchain.
So, in a block we have three major pieces.
First, we're going to have the transactions.
So, this is going to be all the transactions
that occurred when that block was created.
In addition, there's going to be a hash.
A hash is essentially a digital fingerprint,
so it represents the transactions that are
in the block and is completely unique.
If any of the transactions were to be changed
the hash would also change.
So, let's take a couple letters for the hash,
generally it's an alphanumeric sequence and
is usually a lot longer, more secure.
It's also going to have the hash of the previous
block in the chain.
So, let's say where you know right in the
middle of the Blockchain here and we'll pick
something for the previous hash, maybe "2a",
and so now let's move on to the next block.
The next block is going to have its own set
of transactions, as well as the previous hash
which corresponds to this one right here,
as well as its own hash.
And so on, and so forth we can kind of extrapolate
on all of the hashes in previous sessions.
So, you can imagine that if you were to want
to tamper with any of the transactions that
occurred or change it, for example to change
one of the transactions, this one hash would
change and because of that the previous hash
of the next block in the chain would now be
incorrect.
So, to fix that you would have to tamper with
every single block in the chain and that would
immediately become apparent.
So, in this sense Blockchains are immutable
and very tamper resistant.
Now, the next thing I want to talk about is
the idea of a permissioned versus a permissionless
Blockchain.
So, we'll start with the permissionless Blockchain.
Now, when most of us think of Blockchains
we're probably thinking of crypto currencies,
which are public and permissionless.
Now that means anyone can see all the transactions
that have ever taken place.
Now attendees are not exactly revealed, it's
only the addresses that people have, but regardless
all the transactions are public and in addition
anyone can register themselves to be one of
the nodes in the network essentially having
a copy of the blockchain and anytime it gets
updated and new transactions are made they
would get a new block.
So, you have to imagine it's quite a problem
for all of these nodes to have a copy of that
Blockchain.
When new transactions come in, how do they
reach a consensus on which transactions will
make up the next block?
That's done so using a consensus algorithm.
Let's break down how this works for a permissionless
public Blockchain.
So, a client will first submit a transaction.
That transaction will join a list of other
transactions that have been made on the network,
and then the next thing that will happen is
the node is going to start picking up those
transactions and validate by looking through
all of the transactions that happen in the
Blockchain so far that those are also valid.
It'll kind of emulate a block and then start
something called a proof of work algorithm.
Now this is the consensus algorithm that public
permissionless Blockchains use and essentially
this is how they're able to reach a consensus
on which block should be next.
Essentially, it's going to be a very complex
algorithm, cryptographic hash puzzle that
all the nodes are working together to solve.
As soon as one of the nodes solves it they
have essentially unlocked the position of
the next block and what they'll do is broadcast
that position of the next block to all of
the other nodes in the network as well as
adding it into their own Blockchain.
So, a proof of work algorithm is actually
quite consuming on the processing and electricity
on a global scale.
So, although it's kind of required for supporting
public permissionless Blockchains where anyone
can be a node and anyone can submit transactions
or submit their hardware to kind of enable
the adding of new blocks, you don't want to
take advantage of these kind of algorithms
when you're working with Blockchain for business.
This would be something like a permissioned
Blockchain.
So, in a permissioned Blockchain this would
be something like hyperledger fabric.
You have the idea of pluggable consensus algorithms,
now you don't want to do something like proof
of work because solving those complex algorithms
just to find the next block is not necessary
when the nodes within a blockchain network
are trusted.
So, that's one of the first concept here,
so pluggable consensus.
Now the nodes in a permissioned Blockchain
are trusted, so they generally know each other.
In addition, they don't always just represent
users but entire organizations.
So, in this case it's actually very important
that our privacy is one of the main tenants
of a permissioned Blockchain.
Let's take an example, let's say that there's
a retailer that purchases a hundred pounds
of produce at a thousand dollars.
So, we'll say it's a buy order for a hundred
pounds at one thousand dollars.
Now the manufacturer receives the order from
the retailer and says, "OK, let's approve
it.
Let's make sure we have enough in the warehouse
and let's work with the shipping company".
So, they go to the shipping company and they
say, "OK, let's ship this hundred pounds",
and it's going to cost them a hundred dollars
to actually make that shipment.
Now, there's some privacy concerns here.
The manufacturer has to have all the information,
that's fine they need to know about the buy
order that was place as well as the shipment
order that they've placed, but the retailer,
although they need to know information about
the buy order as well as the amount, as well
as the price of it, they don't necessarily
need to know how much it costs to ship it
but they might want to know when it was shipped
and how much it was for.
On the same hand for the shipper, they need
to know that they've placed the shipment order,
the amount and the cost of it, they need to
know maybe when the order was placed, but
they still don't necessarily need to know
how much the retailer spent.
Now, the same goes for perhaps more retailers
that the manufacturer might be working with.
Now if the manufacturer is offering a different
price for the product for one retailer rather
than the other one, it doesn't make sense
for the retailers to know about the competing
prices.
So, in this case although all of the organizations
are part of the Blockchain, only the retailers
are part of the transactions that took place
should be able to see that information.
So, in this case in Blockchain for business
it is actually pretty important that privacy
is part of the Blockchain being able to control
who can see particular transactional information.
The last thing I want to touch on here is
the fact that in permissioned Blockchains
you can really make transactions more efficient.
I think one of the most successful applications
of Blockchain technology is something called
smart contracts.
Essentially this is code that's running on
the Blockchain and whenever certain conditions
are met, they are automatically executed.
So, in this particular example, whenever that
retailer made that purchase order to the manufacturer
for this amount of goods there's probably
a manufacturing agent that double checks that
the order has all the necessary information
in it, they then probably go to the shipping
agency to make sure they can cover the shipment
and if the warehouse has the correct amount
of goods.
They'll then make a shipment order.
Now imagine if we could automate that whole
process.
That's what you can do with smart contracts,
essentially code that will make sure that
all the necessary information is met, the
warehouse has the correct amount of goods,
and then it'll automatically create the shipment
record.
If any one of those are conditions is not
met it could automatically release a refund
to the buyer.
This greatly speeds up the process of the
contract for everyone involved, the retailer,
the shipper, as well as the manufacturer.
Thanks for joining me for this quick overview
of Blockchain technology.
We really only scratched the surface, so if
you want to see more videos like this be sure
to subscribe.
If you like the video, drop a like and if
you have any questions be sure to drop a comment
below.
Thank you.
