Steemit Crypto Academy Season 3 Week 4 | Homework Post for Professor @pelon53 - Root Hash and Merkle Tree

in hive-108451 •  3 years ago 

B2B037E7-D99E-495F-8383-CAF869989516.jpeg

C235661B-E9FF-4A72-9A03-BDDBDD869539.jpeg

Hi everyone, I’m very delighted to take part of this lecture of professor @pelon53. The lecture was on Root hash and the Merkle Tree. Prof detailed this lecture very well and upon the way I understand it, I’ve decided to take part of this assignment task.


1.- Explain in detail the hash rate.

Hash rate of a cryptocurrency is sometimes referred to as the Hash power. For mining of a cryptocurrency to be complete, the speed of the miner is very important because the miner is trying to solve questions. This means the miner will add a block to the chain before anybody can do that and for that matter reap rewards before anyone else.

In short the hash rate simply means the speed at which a cryptocurrency mining device operates. This hash rate is measured in units of hash/second. For instance, 2M hash/s indicates 2 million hash calculations are done every second.

Hash rate is a very important tool in the development of cryptocurrencies. The growth of the blockchain network also requires a great development in the hash rate as well. The increase in hash rate means there’s an increase in the security of the blockchain network because hash rates adds very difficult mathematical operations to the blockchain.

The increase in speed of a blockchain means hackers will need to find very high hash rates before they can break into a system. This makes the work of the hackers difficult and hence the blockchain is somehow safe from these hackers. The more difficult the mining becomes, the more hashes miners will need to reap rewards, making the total hash to be higher.

C9957218-91D3-480D-AA5B-6CF6F0ACEF3C.jpeg

2.- Make the following Merkle Tree:

Transaction (tree leaves): Steem1; Steem2; Steem3; Steem4; Steem5; Steem6; Steem7; Steem8.

I made it to the Root Hash. And put every hash generated using SHA-256 , show screenshots.

Tell the steps to follow to verify if Steem6 is included in the Merkle Tree.


To follow the right procedure for the Merkle tree, you’ll have to start from bottom up with the leaves of the tree which are Steem1, Steem2, Steem3, Steem4, Steem5, Steem6, Steem7, Steem8.

One begins from left to right to make two by two groups. The process is continued until you reach the Root Hash

I used SHA256 generator to obtain the components below:


The Leaves Hash


Steem1
Hash:
7760E25BCB80ADF1DD92DB339BF5790A59E90CD54EFA072F1250DCE13FA97045

B0745164-386D-4BDF-95EE-9E2AAD31AA2D.jpeg


Steem2
Hash:
FE00506E91CF52BC4B35321E6B978D1A7349397B19C6C1C01E095971FDEC9741

9D6EC944-502D-4E98-9A9C-2BE6837CF3E6.jpeg


Steem3
Hash:
A9418332E0C351D6A50C835AA9E57D514F0573C231D491E97726DB8A5844F2DC

5771AC19-161C-470D-8819-0B09DD18E5C6.jpeg


Steem4:
Hash:
22F4EC8E20C9CCAF2C313B23F18981B1C73BF39081BCD739E5D998A95A46AB30

51352D87-6E44-4966-9BAB-F472E290406B.jpeg


Steem5
Hash:
2A3C87336683AB0DDFA56AFEFC740E6C13A02FEA0A43D6797343B26D7AF0C57B

A677EDC4-759A-40F9-9F6A-CF93B30C0E1A.jpeg


Steem6
Hash:
A7BAA6DE0C0658E9E3681966E542BACD116529F5AE9A2D9126CDB1C1D5BC1278

AA0572F7-79A4-4FA3-9C98-0390D1BA95C0.jpeg


Steem7
Hash:
D441688DDA7F9285E8811728DD9A3955CF74F0A3C7600C1589D0F1D3B48FFAC7

116DDA8A-833A-48EC-9C5F-2D67D680FD70.jpeg


Steem8
Hash:
F2E38ED4FF662087B6E9BEAFA4158EBC488B995732057BDA019A6A77FFB5F9F5

31E96A2E-A573-4096-ACA5-ABFC6CEDBF80.jpeg


Tree branches hash


Steem1Steem2
Hash:
A5568957014F6AC3866923C7DE20D375E706B8D8C9F453636E90B9965ABEC62B

30661C5D-DE94-417F-9493-1B04ED74508E.jpeg


Steem3Steem4
Hash:
18D25196DB699F6AB9222B7302EB8A6F6EBFADEC703C07DD5DB8D9455913A499

39DB1172-75AB-4EE2-BD9F-EBE00DFE18CF.jpeg


Steem5Steem6
Hash:
D118E137F92A0DBEA138B6BF70C7714153A7BC393CD0272A44BD94864645224B

AE68AC62-E48D-49C5-97A5-2BCAF328F92C.jpeg


Steem7Steem8
Hash:
A81D57BA11AEDFA9EFBBA42F6523D75D1EFA50B22C5E3557A21CEFFE87DDFC4A

625A7627-2050-4EB7-B7C6-FFE1B3403AE8.jpeg


Second level tree branches


Steem1Steem2Steem3Steem4
Hash:
8A248C05E69C4F1AA403AD18A7F445FF500C42483DA425CE0C980CDB2FD1AD9B

7909B87B-D1D3-4F18-ACEE-09BDA6E71958.jpeg


Steem5Steem6Steem7Steem8
Hash:
8B0935AEAB3F51BFA2B0750703EE2387E2B20EB19B0D24227E180C03A851AF17

94892098-F996-4EF1-A3A1-C78364D058F0.jpeg


ROOT HASH


Steem1Steem2Steem3Steem4Steem5Steem6Steem7Steem8
Hash:
9C2FC83F36D59B8ED5033D2BCC417728583C8DAA0AA9868FD374BE3619D6E4F9

CDF7ED40-BADA-438C-9063-3A97D0A6A697.jpeg


Create Merkle tree

Now that we’re done with each component of the Merkle tree, we can now place each component in their rightful position in the tree as shown below.

85165A9D-CE6E-410C-9C6B-658D0979CBED.jpeg


Tell the steps to follow to verify if Steem6 is included in the Merkle Tree.

For us to be able to determine whether Steem6 is included in the root hash, we have to check through the root hash by downloading it. The steps below can lead to the verification:

  • Check the presence of Steem5, Steem7Steem8 and Steem1Steem2Steem3Steem4.

  • Then calculate the following hashes:

  1. Hash Steem6
  2. Hash Steem5Steem6
  3. Hash Steem5Steem6Steem7Steem8
  4. Hash Steem1Steem2Steem3Steem4Steem5Steem6Steem7Steem8.
  • After all these processes you’ll realize that Steem6 is included in the last Hash which is the Root Hash of the Merkle tree.

This means we can draw a conclusion that the Steem6 hash is in the root hash.

915BB3B9-8C14-4A1E-BC90-1BAC4AB4A44E.jpeg

3.- Using the SHA-256; you must place each complete hash in the Merkle Tree.

Transaction (tree leaves): SCA1; SCA2; SCA3; SCA4; SCA5; SCA6; SCA7; SCA8. Explain each step, show screenshots.

If the number of leaves on the tree is odd, what should you do? Explain.


Here we have to make a Merkle tree from the leaves of the tree: SCA1; SCA2; SCA3; SCA4; SCA5; SCA6; SCA7; SCA8. We repeat the steps in question 2.


SCA1
Hash:
13E0A04BB0E669E1C638DBE3A704743F99F162B25245E4D8C064D35BA38FA8C8

C291B975-A455-43F8-9624-FE167441CCC1.jpeg


SCA2
Hash:
27849353A9C8CC4E948EB6E5748EDD79CB83513D8C0ADAF3E8C83D3792C9149B

A474EB76-E924-49D4-B9D4-51A403EC7F23.jpeg


SCA3
Hash:
67E872F952C105C35E0BCE130536D061F4999DCA5593754BA9BA7BE59B8E7C0D

FD77ED86-C57E-4308-8D72-AD222F64D085.jpeg


SCA4
Hash:
491928A32BAE70A12FA251412BBFD7C9999F317BA6BF577C283C724225270A43

0F890199-E775-4416-BBDD-12EC34728AFD.jpeg


SCA5
Hash:
99C078C39CDE7F47799E0E8691460A9F3E83E78D498EA989308FCFCC58907B19

7F9520EA-50B6-425A-86DD-E6388ED8945F.jpeg


SCA6
Hash:
7A648D887B124DB14E96E23BA92783E7F26D00957C19B9B8229632C2C1873729

C3C1E309-D8F8-43CA-8F68-030FFED3DB42.jpeg


SCA7
Hash:
7E0BBD6BA4BA9896F9911AF46B06DD2C47535F9C80B29D693FDF6B9319D0D68E

46574124-2C82-43B7-9E73-C7713EFDEA25.jpeg


SCA8
Hash:

562ABCEEB497E1FE7AE275A883FD5EF9D92A05F5C19D82ABAA0DC1571B7DF3AD

5BA5EF58-F39F-495D-9552-EA21AC33973F.jpeg


SCA1SCA2
Hash:
91B09BBA815748166FB36413342C7E4E7E809F4BAC538C0418841A4476B527EF

420198E8-4492-46F7-AAE2-8DB1B7576FA9.jpeg


SCA3SCA4
Hash:
B49B48697A3ACBC5E3D2E36B6EE49C44020D88E664C5C1AA7A7CF34058177379

FB9ECD6A-375F-4E98-932C-28BF5778170F.jpeg


SCA5SCA6
Hash:
F026924CD1285FF92C2A2DE9B9313027EB67273A82375C939348C887F6B52F77

D27CEAAE-1153-4976-8E05-DDC6F23754FD.jpeg


SCA7SCA8
Hash:
AA55EC5A6B11393B289C4B2B6916172ACC2941C5C978FB1D7BF02696BAB323A4

E86091BA-4305-490B-895F-F8A725B0EA91.jpeg


SCA1SCA2SCA3SCA4
Hash:
F50DC120CBF6C46923037F6D7F41D4153ECC9AB7430DDA662C142DB1FFE483F7

E543A9DE-8BA2-4197-B2BF-362633909FAC.jpeg


SCA5SCA6SCA7SCA8
Hash:
A3D8CA8494CC426ABD5E1FC5FA0FEAE4F2B2ECE4C4CECDCA05E19EB66542533F

79190873-E15A-4AC0-8B5A-B4349FCB4EFC.jpeg


SCA1SCA2SCA3SCA4SCA5SCA6SCA7SCA8
Hash:
CB40CA6DB72DD507CF9118963F94B7740822258E74AFB0FD45D89DB35D24B386

34C29EC8-604F-4FE5-8C9C-A85220D313BD.jpeg


Now you’ll place each hash in its corresponding node in the Merkle tree as shown below.

03F6AEC2-FE43-48AF-8977-339576942EA3.jpeg


If the number of leaves on the tree is odd, what should you do? Explain

When the number of leaves is odd, we do a transaction for the last leaf and add it so that we can get an even number of the leaves. This will balance the Merkle tree and make it complete as required.

28F14FE0-6D36-4EE5-A27D-BC35E6A0AB13.jpeg

Conclusion

The Speed of a hash increases the security of a blockchain network. Therefore Hashing must be taken very seriously so that hackers will find it difficult to hack the blockchain network.
Merkle tree has a very exclusive function in transactions of a blockchain. It is self verifiable and you don’t need to verify everything before you get access to a transaction.

Thank you professor @pelon53 for this detailed lecture.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Gracias por participar en Steemit Crypto Academy Season 3:

Espero seguir leyendo tus publicaciones.

NoPreguntas.Puntaje.
1Explique en detalle el hash rate.0.9
2Realice el Árbol Merkle. Pregunta 2. Diga los pasos a seguir para verificar si Steem6 está incluido en el Árbol Markle.1.8
3Realice el Árbol Merkle. Pregunta 3. Si el número de las hojas del árbol es impar, ¿Qué debes hacer? Explique.1.9
4Presentación y originalidad1.3
  • Pregunta 1, puede tener más información.

  • Pregunta 2, todos los hash coincide. La verificación de Steem6 no se realizó.

  • Pregunta 3, todos los hash coinciden. La explicación de hojas impares en el árbol de Merkle, solo se dijo, pero no se explicó con un gráfico.

Recomendaciones:

Calificación: 5.9