Network considerations.
So what we see here is this is the type of peers the we're
looking through and the methodology that we reach a consensus.
So we've got two different types of system.
First, we've got the peer.
And this may look like two different peers but they are really
the same peer but you decide do I just want
a committing pair that's just submitting in transactions,
or do I want that peer to be an endorsing peer?
So it can validate did you follow the rules.
Did you follow the smart contract.
So this is what the peers have,
and then we have the ordering service.
So we'll have a set of ordering nodes that will probably be clustered
in one location that will then be able to run these transactions,
and verify which ones should be in each batch.
They do nothing really more than that.
They can't read or use the transactions from that point of view.
So, let's step through how we submit a transaction,
and how this will then become a block on the chain.
So we start off with an application,
is going to submit in a transaction.
We then have each node will have an endorsement policy.
And what an endorsement policy does is it starts
defining who can do what and who is able to endorse a specific transaction.
So for example, if I'm trying to change the color of a car,
the endorsement policy will say for this smart contract that I'm using,
that I have to use
three different endorsers to say that this transaction was a good transaction.
And this can vary by which smart contract you are using,
but it'll also say that we've got different peers on the network
here that are not part of that endorsement policy.
So, we've sent it to all those endorsers,
who are within policy,
and then each of these endorsers then execute that transaction.
So by execution I mean,
they're running the transaction against the smart contract,
checking things like that I as a user I'm allowed to do this transaction,
that this transaction follows the rules in the smart contract.
It will then verify that that was a good transaction
by sending back the original transaction along with a signature.
And that signature will say that that was a good transaction,
and it also gives the read in the right set to say
this is what I've read from the database and this is what I'm writing to it.
So what this client can do is check for those read write sets are matching.
So they get say deterministic result.
It can throw it out optionally at that stage if it wants to,
but if it doesn't, it will be thrown out later stage.
It just goes through more processing to get to that throw stage.
So, once that transaction has been verified by each of the endorses,
then the transaction is submitted to the ordering service.
And this ordering service is receiving many other transactions from
many other applications doing the same process as we're going through.
So group these up into a bunch of transactions within each block,
and what it then does is distribute out to
all those peers what is going to be in the next block.
Once it's distributed out,
each peer can then send it on to the other peer in the network,
but mostly it's sent out to all the peers in the network,
and then each one of these then verifies that those transactions were correct.
And in doing so, they'll validate that
the next block should be added into the chain, and then,
they will then send out to the world that this block has been added,
and the original application will receive a notification
to say your transaction has been added into the block.
So we see here, we've got the seven step process on how
we go through the consensus methodology,
and where we saw before that we've got different methodologies
of so low or Kafka Zookeeper,
that's what's taking place within this ordering service here,
and that's how it orders the transactions that are coming through.
So, what we'll then see on this side of things is that
the consensus consideration is really built
around the same way that you build a business network that we see today.
So, what we have is you might have different endorsers within each business,
and each business will then define do I want to be an endorser, or do I not?
So, a manufacturer for a car,
and a dealership for a car may be endorsing for a color change,
but someone who isn't part of
this different manufacturer may not have to endorse such a transaction.
So that's the process that we go through on that side.