Video instructions and help with filling out and completing Will Form 8815 Transaction

Instructions and Help about Will Form 8815 Transaction

Hello I'm Yvonne cough and in this video I will try to explain what endorsement and simulation is this graphic actually looks quite complicated but I'm sure after I explain you what everything means you will find a really strong logic that is quite easy for understanding so what we have here we have diagram for two organizations that are actually part of the same network and they are part of the same channel so the organization one has trippy has three peers and organization 2 also has three peers they're configured they are in the same channel everything is working there can see each other on a network level they exchange data they're in synchronization so what's happened we have the SDK not J's Java Python go you choose doesn't matter so you want to execute some operation for example we have to change the ownership of some asset ok we create the proper transaction we take the certificate from certificate authority we embed the proper attributes inside the certificate if we need them we provide the proper arguments for the transaction in this transaction is prepared from the SDK and it's called transaction proposal because we propose a transaction to the peers in this transaction is sent to one or many peers so in in this situation nothing is change inside the ledger not exchange the pure accept this proposal and simulate it so it will execute it with the current version of the ledger I have to mention that every peer has a different physical copy of the ledger in the blockchain they are all synchronized but there are different copies inside every single peer so an simulation will be executed what will be the result after this operation is executed and the purely technically speaking the result of this simulation will be so-called a read/write set and actually this resort contain okay this particular key was updated from the simulation and the new version is that so this is the simulation it take the transaction proposal and execute it over the current data and the result is this key will be updated and this is the new value and this is done on every single pier that you send the transaction you can send it to one or may later on we will see you will see why this is important so the pier actually take this result and cryptographically sign it and do a lot of other stuff and send back and those want to response to the SDK so this endorsement response holds the cryptographic materials of the pier of the transaction and the retried set so after that the SDK collect all the responses all the endorsement responses from the peers and also pack them in invocation requests for example they may they may be different type of requests but let's say invocation request and also sign all this package with all the endorsements with the key so this invocation request is sent to order this is really important order verify all the cryptographic materials verified the police verify a lot of other things but the policy is really important because we execute a particular chain code on a particular channel and this chain code has a particular policy and if for example the policies that all the members of the channel must agree on the only result but we sent the transaction proposal only to one peer then this policy will not be valid and the order will say no this is not valid invocation request because by definition you have to provide endorsement from every single member of the network but you give me only one or two or three less than oh and the order will say no this will not be committed inside the ledger this will not change the state of the ledger but the order will or that transaction it was store it in the blockchain just will not update the state of the ledger this is really useful because later you can go back in time and see what's happened who was the initiator of that request what certificate certificates were used what was the retried set so you can do a really serious or audition to see some holes or security issues whatever so this is really important part of the order it verify that the policy that is required for updating is actually is there the other thing that the order is doing is to verify the readwrite set from every single endorsement response they must be the same this is the tricky part they must be the same so you have by definition peers that have the same nature the same data anyways good the same chain cut so you have to have the same result so for any reason if the result is not the same then the order will say okay I have a mismatch of the data some peer is out of sync or is compromised or something is wrong I will not invoke that request I will not update the state of the ledger but again this data will be stored this at the blockchain so you are able to verify tor audited later so let's say that the policy of the chain code is correct and all the peers the readwrite set for every simulation is the same then the order is sending the data to all the peers every single peer that is part of the network and say okay I have a valid transaction please apply it to a ledger and everything appear except the same retried set and apply the same read write set and they will be on the same stage because you start with all the peers in the same stage and you apply the same operation every single verse every single appear so the result will be the same for everyone and actually the is one really fast and easy way