Steemit Crypto Academy Season 3: Week 4 – Homework Post for @pelon53 | ROOT HASH Y ÁRBOL MERKLE by @eumelysm
Saludos Queridos Amigos de Steemit Crypto Academy
Bienvenidos a una nueva semana de aprendizaje, en esta ocasión el profesor @pelon53 nos brinda una excelente conferencia dónde nos explica un tema de suma importancia en la blockchain: el Root Hash y el Árbol Merkle. A continuación daré respuesta a las interrogantes planteadas:
1.- Explique en detalle el Hash Rate.
Este termino comúnmente usado en la minería de criptomonedas se refiere a la cantidad de operaciones que un minero o grupo de mineros es capaz de realizar en la red logrando así generar los bloques que le permitirán obtener una recompensa, dicho de otra manera, el Hash Rate es una medida estandarizada que permite medir la seguridad de una red especifica.
Para este caso se hace referencia al Hash Rate global para hacer alusión a la capacidad total de la red de una criptomoneda especifica, y cuyo valor resulta de vital importancia en la blockchain permitiendo conocer el numero de Hash que un equipo tiene la capacidad de procesar por segundo.
Importancia del Hash Rate en Blockchain
✓ Seguridad en la Red: Mientras mas alto sea el valor de Hash Rate mas segura se considera la red de esa criptomoneda ante cualquier ataque, por lo tanto es considerado como un valor de suma importancia para los inversionistas que desean conocer que tan segura es una determinada red. Siendo Bitcoin la criptomoneda con el Hash Rate mas alto y por ende mas segura, ya que resulta imposible que el 51% de los nodos concuerden para un ataque fraudulento.
✓ Dificultad de Minería: Este valor permite calcular la dificultad minera ajustando el calculo en función a una determinada cantidad de bloques y al tiempo requerido para generar los mismos.
✓ Validación de Bloques: Otro aspecto característico es que permite realizar funciones de monitoreo y validación de bloques en la red mediante la comparación del Hash Rate y la dificultad minera actual.
2.- Realice el siguiente Árbol Merkle:
Transacción (Hojas del árbol): Steem1, Steem2, Steem3, Steem4, Steem5, Steem6, Steem7, Steem8.
El primer paso a realizar para la elaboración del Árbol de Merkle es conocer las hojas la cuales han sido suministradas por el profesor (8 Hojas: Steem1, Steem2, Steem3, Steem4, Steem5, Steem6, Steem7, Steem8), seguidamente colocaremos las ramas del primer nivel (4 ramas: Steem1Steem2, Steem3Steem4, Steem5Steem6, Steem7Steem8), continuamos con las ramas del segundo nivel (2 Ramas: Steem1Steem2Steem3Steem4, Steem5Steem6Steem7Steem8) y para finalizar el árbol colocaremos en la cima del mismo la raíz (Steem1Steem2Steem3Steem4Steem5Steem6Steem7Steem8)
Árbol Merkle Realizado por @eumelysm en Power Point
Ahora procederemos a buscar el Hash de cada transacción utilizando SHA-256
✓ Hash de cada Hoja:
- Steem1:
7760E25BCB80ADF1DD92DB339BF5790A59E90CD54EFA072F1250DCE13FA97045
- Steem 2:
FE00506E91CF52BC4B35321E6B978D1A7349397B19C6C1C01E095971FDEC9741
- Steem3:
A9418332E0C351D6A50C835AA9E57D514F0573C231D491E97726DB8A5844F2DC
- Steem4:
22F4EC8E20C9CCAF2C313B23F18981B1C73BF39081BCD739E5D998A95A46AB30
- Steem5:
2A3C87336683AB0DDFA56AFEFC740E6C13A02FEA0A43D6797343B26D7AF0C57B
- Steem6:
A7BAA6DE0C0658E9E3681966E542BACD116529F5AE9A2D9126CDB1C1D5BC1278
- Steem7:
D441688DDA7F9285E8811728DD9A3955CF74F0A3C7600C1589D0F1D3B48FFAC7
- Steem8:
F2E38ED4FF662087B6E9BEAFA4158EBC488B995732057BDA019A6A77FFB5F9F5
✓ Hash de las Ramas del primer nivel:
- Steem1Steem2:
A5568957014F6AC3866923C7DE20D375E706B8D8C9F453636E90B9965ABEC62B
- Steem3Steem4:
18D25196DB699F6AB9222B7302EB8A6F6EBFADEC703C07DD5DB8D9455913A499
- Steem5Steem6:
D118E137F92A0DBEA138B6BF70C7714153A7BC393CD0272A44BD94864645224B
- Steem7Steem8:
A81D57BA11AEDFA9EFBBA42F6523D75D1EFA50B22C5E3557A21CEFFE87DDFC4A
✓ Hash de las Ramas del segundo nivel:
- Steem1Steem2Steem3Steem4:
8A248C05E69C4F1AA403AD18A7F445FF500C42483DA425CE0C980CDB2FD1AD9B
- Steem5Steem6Steem7Steem8:
8B0935AEAB3F51BFA2B0750703EE2387E2B20EB19B0D24227E180C03A851AF17
✓ Hash de la Raíz:
- Steem1Steem2Steem3Steem4Steem5Steem6Steem7Steem8:
9C2FC83F36D59B8ED5033D2BCC417728583C8DAA0AA9868FD374BE3619D6E4F9
Pasos a seguir para Verificar si Steem6 esta incluido en el Arbol Merkler
Debemos tener presente que cualquier alteración en un bloque del árbol dará como resultado la variación de la estructura completa del árbol, ya que existe una coneccion entre todos los nodos existentes en el mismo. Si queremos verificar la existencia de Steem6 en el árbol seguiremos los siguientes pasos:
- Verificar Steem5, ya que es la pareja del bloque en el caso de estudio.
- Habiendo verificado Steem5 procedemos a verificar la rama siguiente, en este caso Steem7Steem8.
- Seguimos con la verificación de Steem1Steem2Steem3Steem4 del otro lado del arbol.
- Para finalizar verificaremos la raiz del árbol corroborando que efectivamente Steem6 esta incluido en el arbol.
3.- Usando el SHA-256; debes colocar cada hash completo en el Árbol Merkle.
Treansaccion (Hojas del árbol): SCA1, SCA2, SCA3, SCA4, SCA5, SCA6, SCA7, SCA8. Explique cada paso, muestre captures de pantalla.
Antes de realizar el Árbol Merkle primero debemos ubicar el hash de cada transacción a través de SHA-256.
✓ Hash de las Hojas del Árbol:
- SCA1:
13E0A04BB0E669E1C638DBE3A704743F99F162B25245E4D8C064D35BA38FA8C8
- SCA2:
27849353A9C8CC4E948EB6E5748EDD79CB83513D8C0ADAF3E8C83D3792C9149B
- SCA3:
67E872F952C105C35E0BCE130536D061F4999DCA5593754BA9BA7BE59B8E7C0D
- SCA4:
491928A32BAE70A12FA251412BBFD7C9999F317BA6BF577C283C724225270A43
- SCA5:
99C078C39CDE7F47799E0E8691460A9F3E83E78D498EA989308FCFCC58907B19
- SCA6:
7A648D887B124DB14E96E23BA92783E7F26D00957C19B9B8229632C2C1873729
- SCA7:
7E0BBD6BA4BA9896F9911AF46B06DD2C47535F9C80B29D693FDF6B9319D0D68E
- SCA8:
562ABCEEB497E1FE7AE275A883FD5EF9D92A05F5C19D82ABAA0DC1571B7DF3AD
✓ Hash de las Ramas del primer nivel:
- SCA1SCA2:
91B09BBA815748166FB36413342C7E4E7E809F4BAC538C0418841A4476B527EF
- SCA3SCA4:
B49B48697A3ACBC5E3D2E36B6EE49C44020D88E664C5C1AA7A7CF34058177379
- SCA5SCA6:
F026924CD1285FF92C2A2DE9B9313027EB67273A82375C939348C887F6B52F77
- SCA7SCA8:
AA55EC5A6B11393B289C4B2B6916172ACC2941C5C978FB1D7BF02696BAB323A4
✓ Hash de las Ramas del segundo nivel:
- SCA1SCA2SCA3SCA4:
F50DC120CBF6C46923037F6D7F41D4153ECC9AB7430DDA662C142DB1FFE483F7
- SCA5SCA6SCA7SCA8:
A3D8CA8494CC426ABD5E1FC5FA0FEAE4F2B2ECE4C4CECDCA05E19EB66542533F
✓ Hash de la Raíz:
- SCA1SCA2SCA3SCA4SCA5SCA6SCA7SCA8:
CB40CA6DB72DD507CF9118963F94B7740822258E74AFB0FD45D89DB35D24B386
Árbol de Merkler Realizado por @eumelysm en Power Point
Si el numero de las hojas del árbol es impar, ¿Que debes hacer? Explique.
Para realizar el Árbol Merkle las transacciones deben ser realizadas en pares realizándose la concatenación de ambos bloques para así crear un nuevo bloque. De esta manera en caso de presentarse un numero de hojas impares se procede a duplicar la ultima hoja, es decir si en ves de 8 hojas tuviéramos 7 hojas (SCA1, SCA2, SCA3, SCA4, SCA5, SCA6, SCA7) se procede a duplicar la hoja SCA7 y de allí partimos a realizar el árbol con las siguientes hojas (SCA1, SCA2, SCA3, SCA4, SCA5, SCA6, SCA7, SCA7)
Árbol Merkle Realizado por @eumelysm en Power Point
CONCLUSIONES:
✓ El Árbol Merkle es una herramienta informática de mucha utilidad y beneficiosa para la blockchain ya que brinda seguridad en los distintos proyectos donde se ejecuta, permite comparar Hashes para verificar su coincidencia ahorrando tiempo y energía ya que los equipos podrán comparar y verificar fácilmente los bloques de la cadena para constatar que no existan errores ni diferencias en los mismos.
✓ Esta Herramienta brinda estándares de seguridad mediante la verificación de grandes cantidades de información, gran adaptabilidad a los proyectos de blockchain y su alta sincronizacion de datos.
✓ El Hash Rate es un indicador de suma importancia para los mineros ya que expresa el nivel de seguridad de una red especifica.
Esta ha sido mi publicación para dar cumplimiento a la tarea de esta semana, Será hasta una próxima oportunidad.
Esta ha sido mi publicación para dar cumplimiento a la tarea de esta semana, Será hasta una próxima oportunidad.
Cc:-
@pelon53
@steemitblog
Gracias por participar en Steemit Crypto Academy Season 3:
Espero seguir leyendo tus publicaciones.
Pregunta 1, bien contestada.
Pregunta 2, coinciden todos los hash. Pero no hicistes el árbol con los datos. Verificastes Steem6, pero si los explicas con un Árbol sería genial.
Pregunta3, coinciden los hash y buena explicación.
Recomendaciones:
Puedes mejorar la presentación de los Árbol de Merkle.
Estar atenta a lo solicitado para dar las respuestas correctas.
Calificación: 7.7
Muchas gracias por su evaluación profesor, seguiré mejorando. Saludos
Compartido en Twitter