Steemit Crypto Academy, Season 3: Week 4 || ROOT HASH Y ÁRBOL MERKLE || Teacher @pelon53

Un cordial saludo profesor @pelon53, totalmente agradecido por toda la valiosa información que nos ha brindado en esta "Semana 4", de la tercera temporada de la Steemit Crypto Academy relacionada con el tema: " ROOT HASH Y ÁRBOL MERKLE ". Ha sido un gran placer para mí haber leído el contenido de su clase y ahora procedo a desarrollar los trabajos que enviaste.

TAREA

1.- Explique en detalle el hash rate.
2.- Realice el siguiente Árbol Merkle:
Transacción (hojas del árbol): Steem1; Steem2; Steem3; Steem4; Steem5; Steem6; Steem7; Steem8.
Llegué hasta el Root Hash. Y coloque cada hash generado usando SHA-256, muestre captures de pantalla.
Diga los pasos a seguir para verificar si Steem6 está incluido en el Árbol Markle.
3.- Usando el SHA-256; debes colocar cada hash completo en el Árbol Merkle.
Transacción (hojas del árbol): SCA1; SCA2; SCA3; SCA4; SCA5; SCA6; SCA7; SCA8. Explique cada paso, muestre captures de pantalla.
Si el número de las hojas del árbol es impar, ¿Qué debes hacer? Explique.



Imagen source

Imagen15.png

1.- Explique en detalle el hash rate

En el mundo de la minería de criptoactivos, la tasa de hash juega un papel muy importante, específicamente en las criptomonedas que utilizan el protocolo Proof of Work (PoW), en las que la tasa de hash representa un valor que indica la cantidad de operaciones computacionales que puede realizar la red minera en su totalidad.

Unidades de hash rate

La tasa de hash se calcula en Hash / seg (H / s).

1 kH/s is 1,000 (mil) hashes por segundo;
1 MH/s is 1,000,000 (1 millón) hashes por segundo;
1 GH/s is 1,000,000,000 (1000 millones, 1 billón americano) hashes por segundo;
1 TH/s is 1,000,000,000,000 (1 trillón americano) hashes por segundo;
1 PH/s is 1,000,000,000,000,000 (1 quadrillón americano) hashes por segundo;
1 EH/s is 1,000,000,000,000,000,000 (1 quintillón) hashes por segundo.

El hash rate tiene su origen en la aparición de la primera criptomoneda, que es Bitcoin y, a su vez, nos permite indicar el poder de la red y su evolución en el tiempo.

Hash rate como potencia de un minero

La tasa de hash permite mostrar la potencia de cálculo de un minero de criptomonedas para brindar soluciones basadas en un hash criptográfico específico.
Hoy en día, extraer bitcoins usando una computadora simple es totalmente imposible, lo que requiere generar un hash que cumpla con las especificaciones, lo que permitiría probar billones de "nonce", lo que sería un trabajo muy complejo. De igual manera, para buscar hoy en día, un hash de bloque válido genera una dificultad minera muy alta, por lo que para tener éxito en esta tarea se requiere hardware especializado, que solo se encuentra en mineros ASIC.
La diferencia entre una computadora y un minero (FPGA o ASIC), la podemos simplemente resaltar diciendo que la computadora es capaz de resolver unos mega hashes por segundo (MH / s) (Millones de SHA-256 hashes por segundo), mientras que un minero (FPGA o ASIC), tiene la capacidad de alcanzar desde cientos de MH/s a decenas de terahashes por segundo (billones de hashes por segundo).

La tasa de hash, además de expresar el poder de un minero, también expresa el poder de una red blockchain.

Hash rate como potencia de una red blockchain.

La red Bitcoin en su conjunto está formada por cientos de miles de mineros especializados, donde cada minero especializado tiene la condición de ser miles de veces más potente que una computadora para resolver hashes tipo SHA-256. Sin embargo, lo relevante y significativo de todo esto es que se suma el trabajo de todos estos mineros, con el fin de que su conjunto en la red permita una potencia superior que ayude a resolver los hashes SHA-256 de forma más rápida.

Importancia Hash rate

La importancia de la tasa de hash se centra en la demostración de la seguridad de la red. Por lo tanto, cuanto mayor sea la tasa de hash, más segura será la red y se reducirá cualquier ataque malicioso.
La tasa de hash es el foco de interés de muchos especialistas para saber si una criptomoneda es segura. En los casos de criptomonedas que han sido víctimas de ataques del 51%, es simplemente porque su tasa de hash es muy baja, lo que significa que un solo minero puede llevar con éxito su malicia. Sin embargo, en el caso de Bitcoin, esto es imposible porque los especialistas definen la tasa de hash global como algo inalcanzable para un solo atacante.

De la misma forma, se puede decir que la tasa de hash es importante porque permite calcular "la dificultad de la minería".
La dificultad de la minería se ajusta a una determinada cantidad de bloques y dependiendo del tiempo que se tarde en encontrar o generar esos bloques. En el caso de Bitcoin, el tiempo promedio entre bloques es de 10 minutos y el algoritmo se programa para cada 2016 bloques, por lo que la dificultad se ajusta aproximadamente cada 2 semanas.

De la misma forma, se puede decir que la tasa de hash es un valor muy útil a la hora de facilitar determinadas funciones de monitorización de la red. En el caso de Bitcoin Core, puedes ver funciones que te permiten calcular el tiempo que tardaría en rehacer una diferencia de trabajo entre bloques, tomando solo la tasa de hash y la dificultad actual.
También podemos decir que a los efectos de las funciones de validación de bloques, se tiene en cuenta la tasa de hash.

Finalmente, podemos afirmar que nos encontramos ante un valor de gran importancia, que nos dice en todo momento lo sana que está la red y los mineros que la integran.



Imagen source

Imagen15.png

2.- Realice el siguiente Árbol Merkle:

Transacción (hojas del árbol): Steem1; Steem2; Steem3; Steem4; Steem5; Steem6; Steem7; Steem8.
Llegué hasta el Root Hash. Y coloque cada hash generado usando SHA-256, muestre captures de pantalla.
Diga los pasos a seguir para verificar si Steem6 está incluido en el Árbol Merkle.

Procedimiento para el Árbol Merkle:

1.- Se comienza de abajo hacia arriba con las hojas del árbol: Steem1; Steem2; Steem3; Steem4; Steem5; Steem6; Steem7; Steem8.
2.- Como el Árbol Merkle es un sistema binario se comienza de izquierda a derecha a realizar agrupaciones de dos en dos. Este procedimiento se realiza hasta llegar al ROOT HASH.

image.png

Procedimiento para hallar el hash de cada elemento del Árbol Merkle .

Me apoyaré con el Online SHA256 hash Generador, por medio del cual se obtendrá el hash para cada componente del Árbol Merkle .

Steem1:
7760E25BCB80ADF1DD92DB339BF5790A59E90CD54EFA072F1250DCE13FA97045

steem1.jpg

Steem2:
FE00506E91CF52BC4B35321E6B978D1A7349397B19C6C1C01E095971FDEC9741

steem2.jpg

Steem3:
A9418332E0C351D6A50C835AA9E57D514F0573C231D491E97726DB8A5844F2DC

steem3.jpg

Steem4:
22F4EC8E20C9CCAF2C313B23F18981B1C73BF39081BCD739E5D998A95A46AB30

steem4.jpg

Steem5:
2A3C87336683AB0DDFA56AFEFC740E6C13A02FEA0A43D6797343B26D7AF0C57B

steem5.jpg

Steem6:
A7BAA6DE0C0658E9E3681966E542BACD116529F5AE9A2D9126CDB1C1D5BC1278

steem6.jpg

Steem7:
D441688DDA7F9285E8811728DD9A3955CF74F0A3C7600C1589D0F1D3B48FFAC7

steem7.jpg

Steem8:
F2E38ED4FF662087B6E9BEAFA4158EBC488B995732057BDA019A6A77FFB5F9F5

steem8.jpg

Steem1Steem2:
A5568957014F6AC3866923C7DE20D375E706B8D8C9F453636E90B9965ABEC62B

steem1steem2.jpg

Steem3Steem4:
18D25196DB699F6AB9222B7302EB8A6F6EBFADEC703C07DD5DB8D9455913A499

steem3steem4.jpg

Steem5Steem6:
D118E137F92A0DBEA138B6BF70C7714153A7BC393CD0272A44BD94864645224B

steem5steem6.jpg

Steem7Steem8:
A81D57BA11AEDFA9EFBBA42F6523D75D1EFA50B22C5E3557A21CEFFE87DDFC4A

steem7steem8.jpg

Steem1Steem2Steem3Steem4:
8A248C05E69C4F1AA403AD18A7F445FF500C42483DA425CE0C980CDB2FD1AD9B

steem1steem2steem3steem4.jpg

Steem5Steem6Steem7Steem8:
8B0935AEAB3F51BFA2B0750703EE2387E2B20EB19B0D24227E180C03A851AF17

steem5steem6steem7steem8.jpg

Steem1Steem2Steem3Steem4Steem5Steem6Steem7Steem8:
9C2FC83F36D59B8ED5033D2BCC417728583C8DAA0AA9868FD374BE3619D6E4F9

steem1steem2steem3steem4steem5steem6steem7steem8.jpg

Luego de tener cada hash de los componentes del Árbol Merkle, procedemos a colocarlo en el lugar que corresponde a cada uno en el árbol.

image.png

Diga los pasos a seguir para verificar si Steem6 está incluido en el Árbol Merkle.

Para verificar la inclusión de Steem6 en el árbol de Merkle se deben tener en cuenta los nodos adyacentes al nodo Steem6, que se determinan aplicando la expresión logarítmica:
Log2 (n), en el que (2) representa el sistema binario o la formación de pares del árbol de Merkle y (n) representa el número de hojas hijo, que en nuestro ejercicio es 8. Lo que implica que el Logaritmo de 8 en base 2 es igual a 3.
El número 3 indica que se deben tomar tres nodos adyacentes a Steem6 para verificar su inclusión en el árbol Merkle.
Estos nodos adyacentes están en orden jerárquico al nodo Steem6, pero se debe incluir el nodo que está emparejado con él, que es el nodo Steem5, y luego procedemos con los jerárquicos que son:
Steem7Steem8
Steem1Steem2Steem3Steem4
Y finalmente, el Root Hash

Imagen15.png

3.- Usando el SHA-256; debes colocar cada hash completo en el Árbol Merkle.

Transacción (hojas del árbol): SCA1; SCA2; SCA3; SCA4; SCA5; SCA6; SCA7; SCA8. Explique cada paso, muestre captures de pantalla.
Si el número de las hojas del árbol es impar, ¿Qué debes hacer? Explique.

Procedemos a crear el Árbol Merkle a partir de las hojas del árbol: SCA1; SCA2; SCA3; SCA4; SCA5; SCA6; SCA7; SCA8.
Se empiezas de abajo hacia arriba, uniendo los nodos de dos en dos y de izquierda a derecha hasta llegar al Root Hash.

image.png

Luego ubicamos el hash de cada nodo en el árbol usando SHA-256 hasta llegar al Root Hash.

SCA1: 13E0A04BB0E669E1C638DBE3A704743F99F162B25245E4D8C064D35BA38FA8C8

SCA1.jpg

SCA2:
27849353A9C8CC4E948EB6E5748EDD79CB83513D8C0ADAF3E8C83D3792C9149B

SCA2.jpg

SCA3:
67E872F952C105C35E0BCE130536D061F4999DCA5593754BA9BA7BE59B8E7C0D

SCA3.jpg

SCA4:
491928A32BAE70A12FA251412BBFD7C9999F317BA6BF577C283C724225270A43

SCA4.jpg

SCA5:
99C078C39CDE7F47799E0E8691460A9F3E83E78D498EA989308FCFCC58907B19

SCA5.jpg

SCA6:
7A648D887B124DB14E96E23BA92783E7F26D00957C19B9B8229632C2C1873729

SCA6.jpg

SCA7:
7E0BBD6BA4BA9896F9911AF46B06DD2C47535F9C80B29D693FDF6B9319D0D68E

SCA7.jpg

SCA8:
562ABCEEB497E1FE7AE275A883FD5EF9D92A05F5C19D82ABAA0DC1571B7DF3AD

SCA8.jpg

SCA1SCA2:
91B09BBA815748166FB36413342C7E4E7E809F4BAC538C0418841A4476B527EF

SCA1SCA2.jpg

SCA3SCA4:
B49B48697A3ACBC5E3D2E36B6EE49C44020D88E664C5C1AA7A7CF34058177379

SCA3SCA4.jpg

SCA5SCA6:
F026924CD1285FF92C2A2DE9B9313027EB67273A82375C939348C887F6B52F77

SCA5SCA6.jpg

SCA7SCA8:
AA55EC5A6B11393B289C4B2B6916172ACC2941C5C978FB1D7BF02696BAB323A4

SCA7SCA8.jpg

SCA1SCA2SCA3SCA4:
F50DC120CBF6C46923037F6D7F41D4153ECC9AB7430DDA662C142DB1FFE483F7

SCA1SCA2SCA3SCA4.jpg

SCA5SCA6SCA7SCA8:
A3D8CA8494CC426ABD5E1FC5FA0FEAE4F2B2ECE4C4CECDCA05E19EB66542533F

SCA5SCA6SCA7SCA8.jpg

SCA1SCA2SCA3SCA4SCA5SCA6SCA7SCA8:
CB40CA6DB72DD507CF9118963F94B7740822258E74AFB0FD45D89DB35D24B386

SCA1SCA2SCA3SCA4SCA5SCA6SCA7SCA8.jpg

Corresponde colocar cada hash en su nodo respectivo en el Árbol Merkle.

image.png

Si el número de las hojas del árbol es impar, ¿Qué debes hacer? Explique

Aplicación del Árbol Merkle: Cuando el número de hojas es impar, se procede a agregar la transacción de la última hoja, con el fin de obtener un número par de hojas y tener un Árbol Merkle equilibrado.

image.png

Imagen15.png

Conclusión

La tasa de hash representa un valor que indica la cantidad de operaciones computacionales que puede realizar la red minera en su totalidad.
La tasa de hash permite mostrar la potencia de cálculo de un minero de criptomonedas para brindar soluciones basadas en un hash criptográfico específico.

Se explican ejercicios prácticos del Árbol Merkle con verificación de inclusión de una sus hojas en el árbol.
Aplicación del Árbol Merkle en caso número de hojas impares en el árbol.

Imagen15.png

Sort:  
 2 months ago 

Gracias por participar en Steemit Crypto Academy Season 3:

Espero seguir leyendo tus publicaciones.

NoPreguntas.Puntaje.
1Explique en detalle el hash rate.1.5
2Realice el Árbol Merkle. Pregunta 2. Diga los pasos a seguir para verificar si Steem6 está incluido en el Árbol Markle.3.2
3Realice el Árbol Merkle. Pregunta 3. Si el número de las hojas del árbol es impar, ¿Qué debes hacer? Explique.3.3
4Presentación y originalidad1.5
  • Pregunta 1, bien contestada.

  • Pregunta 2, Todos los hash coinciden, muy bien. Me hubiera gustado ver el dibujo marcando y explicando el camino que sigue la verificación del Steem.

  • Pregunta 3, todos los hah coinciden, muy bien en su respuesta.

  • Muy buen trabajo, felicitaciones.

Recomendaciones:

  • Un poco más atento a las respuesta y ser más meliculoso.

Calificación: 9.5

Gracias profesor por tomarse el tiempo necesario en revisar mis tareas y evaluar el trabajo realizado. Tomaré en cuenta sus observaciones. Saludos y bendiciones.