This is very clearly explained. Thank you. One small addition would help. To be explicit about which hashed values need to be provided and why. I'm inferring from what was presented that the 4 hashed values that need to be provided in this example are the siblings of the newly computed value at each level. See ~3:30. Once the hash for m6 is computed, it becomes part of the Merkle Tree at level 5. Then it is combined with the sibling to the right, also at level 5. When the hash is computed, the new value at level 4, one level up, is combined with its sibling, the blue node is given, in the position to the right and a new hash is computed. That new value for the node at level 4 is combined with the provided sibling node at level 4 to yield the grey node at level 3. Once that's computed then it is combined with the provided sibling node at level 2, and finally, the hash computed is combined with the given blue sibling to the right to yield the root node, which is compared to verify that it was not modified. Level 2, the sibling is at the right Level 3, the sibling is at the left Level 4, the sibling is to the left Level 5, the sibling is at the right side of the computed node,
@manojrao98673 жыл бұрын
Thank you very much.
@azamatbagatov49333 жыл бұрын
i watched a lot of videos on Merkle trees but this is the only one that really helped me understand what it is. Thank you!
@tallsamurai78613 жыл бұрын
This is by far the best explanation I have seen on Merkle trees
@Randomuser.anonymous5 жыл бұрын
It has been a long time since I watched a tutorial explained in this great and well-organized way. Well done, and thank you!
@kartikeyabhargava29576 жыл бұрын
This is so brilliantly done. Thank you for this and keep up the great work. I use this frequently to explain the usage of Merkle Trees to people.
@wil87856 жыл бұрын
Absolutely incredible. I love you. Adopt me. Be my teacher fovever. Don't stop being you. It makes sense, I have learned abut merkle trees about 5 times never gave a shit until you explained it to me, then I saw why we use them.
@jabl916 жыл бұрын
Excellent tutorial! Waiting anxiously for your next video :)
@your-digital-bodyguard6 жыл бұрын
Robert, I love your videos, you're an amazing teacher. I am an IOTA developer and I think you should keep the title Merkle Trees as most IOTA devs that develop MAM don't know the Merkle tree is used.
@vishallad16686 жыл бұрын
Along with merkle tree , this video also explain its usage (for usage explanation jump to ~2:20) .. nice video.
@rishabhbhatnagar67954 жыл бұрын
Saw this comment at 2:18.
@128194214 жыл бұрын
Well explained, simple and comprehensive. Thank you, few clarifications, please do help with them MERKLE TREE Properties says 1. Number of leaves always 2^n, where n = 0, 1, 2, 3 .. etc Explained even number of leafs, what happens when n=0, that means single leaf for a parent node? in this case how the appended hash will be achieved for that node? since there will be a single hash. 2. Each node will have 0 or two children Then, what is the significance of the node with '0' children?
@swaaalla5 жыл бұрын
That was really good. Do you also explain why you must follow the path of the blue nodes, they all seem to be the opposing hash.
@penguinmonk76615 жыл бұрын
Thank you, this was a very nice tutorial and a perfect preperation for a paper I am about to read, bless you
@ajinkyanarwade5 жыл бұрын
Thank you for the lucid explanation.
@amalsunil47224 жыл бұрын
Great explanation sir! But I have a doubt ..... how are the hashes of the intermediate levels of the Merkle tree readily available from other nodes? if they are available then why don't we just get the hash of the message we want to check if it's tampered with?
@Akash-rs6qv6 жыл бұрын
Thanks for this amazing tutorial !!
@ethandong70374 жыл бұрын
Very clear and well explained. Thank you!
@hasmize5 жыл бұрын
Excellent explanation Sir. Thanks.
@user-ze4qq8mm1q2 жыл бұрын
best 6 minutes of my life
@sanchez112zak6 жыл бұрын
Jian Yaaaaaang Thanks for the great tutorial! :)
@cooperchai52892 жыл бұрын
Good explanation!
@mockingbird38094 жыл бұрын
3:49 If we need to prove m6 is not modified, Why we need to send m7's hash and the hash of the sibling? Shouldn't we send m6's hash and such? I don't understand that part.
@horaciolampe1663 жыл бұрын
Excellent video!!!!!!
@akinyemidayotafiq Жыл бұрын
I'm excited to see exchanges like MEXC Binance and others allowing users to validate their assets using the binary hash tree. This is gonna increase users trust for them. Yeah
@josephdeatrick36615 жыл бұрын
what is the standard protocol for adding to a Merkle Tree if your data doesn't break nicely into a power of 2? i.e. if we currently have 8 blocks of data and then want to append another one.
@cawaiipun4 жыл бұрын
thank you, very well-explained!
@georgemavimbela6 жыл бұрын
Thnak u so much this was so easy to understand
@parkerqi55433 жыл бұрын
great video!
@yahortsaryk28424 жыл бұрын
thanks, it clears a lot
@brunopreto27505 жыл бұрын
Very helpful. Thanks.
@rishabhbhatnagar67954 жыл бұрын
I don't understand why verification by merkle tree requires siblings of successors from message block to root.
@oscaryiudev3 жыл бұрын
How to define the message is m6 but not other?
@SS-6056 жыл бұрын
Hi Professor, I have a question. In the example where you explained about what are the hash values, Alice needs to send Bob while using Merkle Hash Tree. Can you please tell me how to decide that what hashed sibling values Alice has to send? For instance, if we look at the leaf node m6 then off course m6 hash is not required to be sent (because Bob should compute it) so we select hash of m7. but later on why the hashed value from the leftmost part of the tree? why not the rightmost part of the tree? Sorry, I am pretty naive to this field I hope you will guide me. Thank you for your amazing effort in making these videos. I hope you will come up with more videos covering other crypto areas as well.
@BongboBongbong6 жыл бұрын
So the data is indeed sent to Bob (then Bob computes hash). Call the level of the data level 0. When Bob calculates the hash of the data that was sent, he has available one hash on level 1 (one level higher than the original data). Then, in order to proceed to calculate the root hash, you need the hash value of the sibling of the data that was sent... Because you want to combine this sibling's level 1 hash with the hash you computed from the data that was sent. If you have that sibling's hash, you can compute a hash of level 2 by combining the two level 1 hashes you have available now. But in order to be able to proceed to a level 3 hash, you need the 'neighbor' hash of the level 2 hash you calculated. This explains exacly the hashes you need to send in a Merkle tree. :)
@SS-6055 жыл бұрын
@@BongboBongbongThank you sir. Can you please tell me which type of traversal it is? If I am not wrong there are further classifications for traversal styles in Merkle Tree.
@HollyVanHart6 жыл бұрын
💗 Great video! 😍 😻
@daviz39814 жыл бұрын
Thank you so much
@benbarraclough19895 жыл бұрын
good stuff :)
@archiekwon62566 жыл бұрын
Thank you! :)
@dddhyun4 жыл бұрын
Thank you!!
@cryptosowle4 жыл бұрын
4:17 15, not 16
@DonCristo2974 жыл бұрын
Binary tree Data Structure
@akshaymalhotra5975 жыл бұрын
Lucid af!
@kerron686 жыл бұрын
Got it!
@Lone.Wolf1016 жыл бұрын
I like Merkle tree more...
@ParsiMusik6 жыл бұрын
Merkle Tree is not IOTA specific I suggest changing the name to blockchain basics
@Mobilefish6 жыл бұрын
You are very sharp! I was thinking doing that, but I have decided to make it part of the IOTA tutorial series otherwise IOTA developers / interested parties are going to say "hey... IOTA has nothing to do with blockchain.." when referring a link to a blockchain tutorial. And the next tutorial 19 "Masked Authenticated Messaging" will nicely build upon tutorial 18.
@ParsiMusik6 жыл бұрын
Thanks, I really want to learn about IOTA functionalities :)
@omtulsi6 жыл бұрын
IOTA has a Miracle Tree :-) Mobilefish.com thank you for sharing all the tutorials, they are great
@wil87856 жыл бұрын
Merkle trees are not specfic to blockchains; authors choice, authors power, authors altruism.