Steemit Cryto Academy Season 3 Week 4: Tarea para el profesor @pelon53 - ROOT HASH Y ÁRBOL MERKLE. By @daniromero.
Reciban un saludo cordial mis queridos amigos de Steemit, en especial quienes hacen vida en la comunidad Steemit Crypto Academy
Imagen diseñada en CANVA para mi tarea.
Hoy tenemos una nueva oportunidad de ampliar nuestro conocimiento en el maravilloso mundo de las criptomonedas, esta vez de la mano de nuestro profesor @pelon53 quien nos presenta una gran conferencia basada en el ROOT HASH Y ÁRBOL MERKLE, una clase interesante en la que adquirí nuevos conocimientos y en la que pude realizar los ejercicios para llegar al Root Hash o Hash raíz, me gusto mucho esta clase, fue fácil de entender por lo bien explicada que esta, sin mas que decir aquí les presento mi tarea.
1.- Explique en detalle el hash rate.
La minería de criptomonedas es un negocio muy lucrativo, pero que demanda la obtención de potentes ordenadores que tengan la capacidad de realizar la mayor cantidad de operaciones posibles lo que hace la diferencia en cuanto a quien o quienes obtienen la recompensa por el minado de los nuevos bloques, este indicador es conocido como Hash Rate, pero que realmente es el Hash Rate?
“indica la cantidad de operaciones computacionales que un minero o la red de mineros en todo su conjunto es capaz de realizar”
Enlace Aquí
Partiendo de esto es fácil entender lo que es, pero su significado no se limita solo a esto, a continuación detallare un poco mas lo que este indicador representa dentro de una blockchain.
Antes de continuar, es preciso mencionar que no todas las criptomonedas tienen el mismo nivel de dificultad para su minado, para precisar un poco mas la información nos referiremos al padre de las criptomonedas, el Bitcóin, anteriormente para el minado de bloques de bitcóin no eran necesarias potentes maquinas, al principio una computadora normal era capaz de resolver los Hash SHA-256 con rapidez, este tipo de Hash SHA-256 es la función que utiliza el protocolo PoW o prueba de trabajo, del que resultan los algoritmos y acertijos matemáticos que los mineros deben resolver para el minado de los nuevos bloques de Bitcóin, actualmente es necesario potentes equipos electrónicos que poseen hardwares especializados con la capacidad realizar el complejo proceso de minado.
Entonces tenemos que el Hash rate en términos individuales de minería, representan la capacidad o potencia que posee un minero para resolver los algoritmos y acertijos que resultan de la prueba de trabajo, para así poder obtener la recompensa por el minado del nuevo bloque, en términos globales, nos referiremos al Has Rate de una blockchain, a la capacidad y potencia que tienen en conjunto, todos los mineros y ordenadores de la red blockchain, para poder resolver dichos problemas matemáticos, resultantes de la prueba de trabajo, lo que se suma para reflejar la efectividad global y seguridad general de la blockchain.
La red Bitcóin es la que en la actualidad posee el porcentaje mas alto de Hash Rate de 104.626m TH/s, esto esta ligado a que esta efectividad hace posible que el minado de cada nuevo bloque sea posible cada 10 minutos en promedio, la dificultad de minado aumenta cuando un nuevo minero se conecta y disminuye cuando uno se desconecta, esta se ajusta automáticamente cada 2016 bloques minados, o lo que es igual, cada 2 semanas aproximadamente, esto significa que es la Blockchain mas segura y efectiva en cuanto a su Hash Rate global, esto brinda a los inversores seguridad y confianza en cuanto a sus inversiones, la red Ethereun también tiene un alto porcentaje de Hash rate, con todo esto podemos decir que mientras mas alta efectividad y Has Rate tenga una blockchain, mas segura sera, es de suma importancia por que forma parte de las funciones que se utilizan para validar nuevos bloques.
Existe un ataque conocido como Ataque del 51%, esto sucede cuando la mayoría de los nodos se ponen de acuerdo para validar una operación fraudulenta de ataque a la red, es aquí cuando es de vital importancia el hash rate, debido al alto porcentaje de Hash rate de Bitcóin, resulta prácticamente imposible que la mayoría de los nodos se pongan de acuerdo para ejecutar el ataque, lo que la hace fuerte en este sentido, entonces podemos decir, que mientras mas alto sea el Has Rate de una moneda, mayor resistencia al ataque del 51% tendrá.
La tasa de Hash Rate tiene sus medidores, que indican la capacidad de Hash procesados por segundo (H/S), estas unidades de medida son, **Kilo Hash: 1.000 (H/S) ; Mega Hash: 1.000.000 (H/S); Giga Hash: 1.000.000.000 (H/S), Tera Hash: 1.000.000.000.000 (H/S); Peta Hash: 1.000.000.000.000.000 (H/S); Exa Hash: 1.000.000.000.000.000.000 (H/S).
Para culminar, tenemos claro todo lo que abarca y representa el Hash rate, debido a que mientras mas alto sea mejor efectividad tendrá el minero y la red en general, existe una competencia fuerte para obtener las tan deseadas recompensas de minería, para ser competitivos, son necesarios equipos mas avanzados, potentes que puedan aumentar el Has Rate, estos equipos mientras mas avanzados sean mas daño causan al medio ambiente, su consumo de energía es sumamente elevado, producen un alto ruido que refleja contaminación sonora y al mismo tiempo desprenden una gran cantidad de calor, quise mencionar esto por que es uno de los puntos negativos que causa el lograr tener un alto Hash rate, es por eso que se precisa que la tecnología realice avances en este sentido para minimizar el impacto que esto trae al medio ambiente y para acabar con la controversia mediática que esto representa.
2.- Realice el siguiente Árbol Merkle:
Transacción (hojas del árbol): Steem1; Steem2; Steem3; Steem4; Steem5; Steem6; Steem7; Steem8.
Para realizar el siguiente Árbol de Merkle, tomaremos como base las hojas proporcionadas por nuestro profesor, para generar los códigos Hash para la conformación de nuestro árbol.
Hojas del Árbol
Steem1
7760E25BCB80ADF1DD92DB339BF5790A59E90CD54EFA072F1250DCE13FA97045
Enlace Aquí
Steem2
FE00506E91CF52BC4B35321E6B978D1A7349397B19C6C1C01E095971FDEC9741
Enlace Aquí
Steem3
A9418332E0C351D6A50C835AA9E57D514F0573C231D491E97726DB8A5844F2DC
Enlace Aquí
Steem4
22F4EC8E20C9CCAF2C313B23F18981B1C73BF39081BCD739E5D998A95A46AB30
Enlace Aquí
Steem5
2A3C87336683AB0DDFA56AFEFC740E6C13A02FEA0A43D6797343B26D7AF0C57B
Enlace Aquí
Steem6
A7BAA6DE0C0658E9E3681966E542BACD116529F5AE9A2D9126CDB1C1D5BC1278
Enlace Aquí
Steem7
D441688DDA7F9285E8811728DD9A3955CF74F0A3C7600C1589D0F1D3B48FFAC7
Enlace Aquí
Steem8
F2E38ED4FF662087B6E9BEAFA4158EBC488B995732057BDA019A6A77FFB5F9F5
Enlace Aquí
Ramas que conforman el primer nivel
Con la obtención de las hojas, procedemos a realizar las combinaciones que nos darán como resultado las primeras ramas o ramas del primer nivel.
Steem1Steem2
A5568957014F6AC3866923C7DE20D375E706B8D8C9F453636E90B9965ABEC62B
Enlace Aquí
Steem3Steem4
18D25196DB699F6AB9222B7302EB8A6F6EBFADEC703C07DD5DB8D9455913A499
Enlace Aquí
Steem5Steem6
D118E137F92A0DBEA138B6BF70C7714153A7BC393CD0272A44BD94864645224B
Enlace Aquí
Steem7Steem8
A81D57BA11AEDFA9EFBBA42F6523D75D1EFA50B22C5E3557A21CEFFE87DDFC4A
Enlace Aquí
Ramas que conforman el segundo nivel
El siguiente paso es realizar la nueva combinación que nos dará como resultado la formación de las ramas del segundo nivel.
Steem1Steem2Steem3Steem4
8A248C05E69C4F1AA403AD18A7F445FF500C42483DA425CE0C980CDB2FD1AD9B
Enlace Aquí
Steem5SteemSteem7Steem8
8B0935AEAB3F51BFA2B0750703EE2387E2B20EB19B0D24227E180C03A851AF17
Enlace Aquí
Raiz del Arbol de Merkle (Root Hash)
En este paso final procederemos a realizar la combinación que nos dará la raíz del Árbol de Merkle.
Steem1Steem2Steem3Steem4Steem5Steem6Steem7Steem8
9C2FC83F36D59B8ED5033D2BCC417728583C8DAA0AA9868FD374BE3619D6E4F9
Enlace Aquí
Árbol de Merkle completo hasta la raíz (Root Hash)
Para finalizar realizare el Árbol de Merkle en power point, aquí veremos la conformación del Árbol.
- Sus hojas en el color verde (Steem1; Steem2 , Steem3; Steem4; Steem5; Steem; Steem7; Steem8).
- Ramas inferiores marrón claro ( Steem1Steem2; Steem3Steem4; Steem5Steem6; Steem7Steem8).
- Ramas superiores en marrón oscuro (Steem1Steem2Steem3Steem4; Steem5Steem6Steem7Steem8).
- Raíz (Steem1Steem2Steem3Steem4Steem5Steem6Steem7Steem8) en color azul.
Imagen diseñada por mi en Power Point para mi tarea.
2 B.-Diga los pasos a seguir para verificar si Steem6 está incluido en el Árbol Markle.
Para verificar si un nodo esta incluido en el Árbol de Merkle, en este caso el nodo Steem6 debemos seguir los siguientes pasos.
- Paso 1: Lo primero que debemos hacer es verificar Steem5 quien es el nodo compañero del que queremos verificar.
Imagen diseñada por mi en Power Point para mi tarea.
- Paso 2: Luego debemos verificar la rama superior Steem7Steem8 como vemos a continuación.
Imagen diseñada por mi en Power Point para mi tarea.
- Paso3 Aquí pasamos al otro lado del Árbol para verificar Steem1Steem2Steem3Steem4.
Imagen diseñada por mi en Power Point para mi tarea.
- Paso 4: Por ultimo llegamos a la raíz o Root Hash para comprobar que efectivamente el nodo Steem6 esta incluido en el Árbol.
Imagen diseñada por mi en power point para mi tarea.
3.- Formación del Árbol de Merkle a partir de sus hojas
Transacción (hojas del árbol): SCA1; SCA2; SCA3; SCA4; SCA5; SCA6; SCA7; SCA8.
Hojas del Árbol
Aquí comenzamos por generar las hojas a partir de los datos obtenidos.
SCA1
13E0A04BB0E669E1C638DBE3A704743F99F162B25245E4D8C064D35BA38FA8C8
Enlace Aquí
SCA2
27849353A9C8CC4E948EB6E5748EDD79CB83513D8C0ADAF3E8C83D3792C9149B
Enlace Aquí
SCA3
67E872F952C105C35E0BCE130536D061F4999DCA5593754BA9BA7BE59B8E7C0D
Enlace Aquí
SCA4
491928A32BAE70A12FA251412BBFD7C9999F317BA6BF577C283C724225270A43
Enlace Aquí
SCA5
99C078C39CDE7F47799E0E8691460A9F3E83E78D498EA989308FCFCC58907B19
Enlace Aquí
SCA6
7A648D887B124DB14E96E23BA92783E7F26D00957C19B9B8229632C2C1873729
Enlace Aquí
SCA7
7E0BBD6BA4BA9896F9911AF46B06DD2C47535F9C80B29D693FDF6B9319D0D68E
Enlace Aquí
SCA8
562ABCEEB497E1FE7AE275A883FD5EF9D92A05F5C19D82ABAA0DC1571B7DF3AD
Enlace Aquí
Imagen diseñada por mi en power point para mi tarea.
Formación de las ramas primer nivel
En este punto haremos las combinaciones que formaran las ramas del primer nivel o ramas inferiores.
SCA1SCA2
91B09BBA815748166FB36413342C7E4E7E809F4BAC538C0418841A4476B527EF
Enlace Aquí
SCA3SCA4
B49B48697A3ACBC5E3D2E36B6EE49C44020D88E664C5C1AA7A7CF34058177379
Enlace Aquí
SCA5SCA6
F026924CD1285FF92C2A2DE9B9313027EB67273A82375C939348C887F6B52F77
Enlace Aquí
SCA7SCA8
AA55EC5A6B11393B289C4B2B6916172ACC2941C5C978FB1D7BF02696BAB323A4
Enlace Aquí
Imagen diseñada por mi en Power Point para mi tarea.
Formación de las ramas del segundo nivel
Aquí formaremos el siguiente nivel de ramas superiores.
SCA1SCA2SCA3SCA4
F50DC120CBF6C46923037F6D7F41D4153ECC9AB7430DDA662C142DB1FFE483F7
Enlace Aquí
SCA5SCA6SCA7SCA8
A3D8CA8494CC426ABD5E1FC5FA0FEAE4F2B2ECE4C4CECDCA05E19EB66542533F
Enlace Aquí
Imagen diseñada por mi en Power Point para mi tarea.
Raíz del Árbol (Root Hash)
Para completar nuestro Árbol en este paso obtendremos la raíz.
SCA1SCA2SCA3SCA4SCA5SCA6SCA7SCA8
CB40CA6DB72DD507CF9118963F94B7740822258E74AFB0FD45D89DB35D24B386
Enlace Aquí
Árbol de Merkle completo
A continuación les presento nuestro Árbol de merkle completo, desde sus hojas y ramas hasta llegar a la raíz.
Imagen diseñada por mi en Power Point para mi tarea.
3 B.-Si el número de las hojas del árbol es impar, ¿Qué debes hacer? Explique.
Para que el Árbol de Merkle se conforme correctamente los nodos deben ser pares para conectarse entre si, de presentarse el caso de que las hojas para conformar el Árbol sean impares, es decir, SCA1; SCA2; SCA3; SCA4; SCA5; SCA6; SCA7, la información sera distorsionada y el resultado sera invalido, se vería así.
Imagen diseñada por mi en Power Point para mi tarea.
En este caso lo que debemos hacer es duplicar el ultimo nodo que en este caso es SCA7 para conformar el ultimo par de las hojas, su combinación nos dará como resultado la rama SCA7SCA7, esta se combina con el Hash obtenido de SCA5SCA6 lo que nos da el Hash SCA5SCA6SCA7SCA7, el cual combinaremos con la otra rama SCA1SCA2SCA3SCA4 lo que nos dará el Root Hash o Hash Raíz de nuestro Árbol de Merkle, procedemos a verificar.
SCA7SCA7
71AF5095F10844EDA37CFCF8EE7712ADD5940F4ADAE1946CE66793270438C39B
Enlace Aquí
SCA5SCASCA7SCA7
2DAE9A09ABB66E133AEBD3F875490C194CD75E035B3AC6D1479379E89CFB2E67
Enlace Aquí
SCA1SCA2SCA3SCA4SCA5SCA6SCA7SCA7
79A243A66E564ABAFEADAAA763B0D5BA7CFFD5462ADDC77D88CA683210AA2784
Enlace Aquí
Ya habiendo duplicado el SCA7 para que fuera par y generar el resto de transacciones, el resultado es el siguiente
Imagen diseñada por mi para mi tarea.
Conclusiones
El Root Hash o Hash raíz representa una gran importancia a la hora de validar un bloque, la inclusión del Árbol de Merkle en el funcionamiento de Bitcóin representa un gran acierto por parte de Nakamoto, en esta clase pude realizar El proceso de conformación del Árbol de Merkle, logre entender su funcionamiento y lo que este representa, el aprender que no se puede alterar ningún nodo, y también investigue bastante acerca del Hash Rate, un valor importante que representa la capacidad de un minero y la capacidad de una red, lo cual se traduce en eficiencia y seguridad.
En lo personal agradezco a nuestro profesor @pelon53, por la manera tan clara y sencilla en la que presento su clase, es un aporte mas a nuestro aprendizaje en este mundo criptografico, el cual debemos asimilar y entender para que en un futuro nos sea útil en cualquier momento requerido.
En general fue una clase maravillosa, el tema fue concreto y especifico ademas de contar con la dinámica de los ejercicios de realizar el Arbol de Merkle, asi como de sortear y responder una situacion que se puede presentar y como verificar si un nodo esta presente en el Root Hash, espero que la Steemit Crypto Academy pueda continuar brindandonos la oportunidad de seguir aprendiendo, y que se extienda por muchas temporadas mas.
Gracias por participar en Steemit Crypto Academy Season 3:
Espero seguir leyendo tus publicaciones.
Pregunta 1, bien contestadas. Pero no coloques lo que dice una página de internet.
Pregunta 2, Todos los hash coinciden y muy bien tu respuesta.
Pregunta 3, todos los hash coinciden y lo explicas mu bien.
Excelente tarea, felicitaciones.
Recomendaciones:
Calificación: 9.7
Gracias por la corrección profesor, no volverá a pasar.