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

✍Tarea de la semana✍


Un gran saludo a toda la comunidad de SteemitCryptoAcademy, esta es mi segunda vez participando en el nivel intermedio lo que me tiene un poco nerviosa y emocionada a la vez pues siento que este es un mundo muy extenso pero poco a poco voy adquiriendo los conocimientos necesarios para desenvolverme en el.

Agradezco profundamente al profesor @pelon53 por esta clase magistral, usando términos que permiten el fácil entendimiento de la lectura.

@marianaceleste (32).png

Sin más que agregar empezamos:

image.png

Explique en detalle el hash rate

image.png

Antes de explicar con detalle que es el “hash rate”, me parece importante aclarar que significa cada palabra por separado.

El Hash es un código de números y letras intercaladas que se genera de forma aleatoria para representar datos, transacciones o mensajes. Utilizando el algoritmo SHA 256 se puede dar con este código para cualquier dato que se ingrese. Por ejemplo, yo ingresare mi nombre de usuario marianaceleste.

@marianaceleste.png

Para cada palabra, frase o transacción se genera un hash.

Y Rate significa tasa.

El termino de hash rate es bien conocido en el mundo de las criptomonedas, específicamente en cuanto al aspecto “minero” se refiere. Este termino hace referencia al recurso computacional que es utilizado para encontrar las soluciones a los artificios matemáticos encriptados en las transacciones de los criptoactivos (minería). También se puede decir que es la medida de la potencia computacional de un minero.

Importancia del hash rate

La importancia está estrechamente relacionada con la seguridad de la red, pues si un hash rate es alto esto significa que mas seguridad tiene la red.

Aquí voy a profundizar un poco mas respecto a la minería: las criptomonedas como ya sabemos están basadas en un sistema descentralizado, es decir que la información no se concentra en un solo punto o nodo si no que cada nodo involucrado tiene la misma información de transacciones (con nodo no solo me refiero a mineros, si no a cualquier participante conectado a la red p2p del criptoactivo).

Estos nodos validan el trabajo minero. Si la transacción es validada se agrega al histórico, si no se desecha. Pero esta validación se hace mediante el protocolo del 51%, el cual establece que, si mas del 51% de los nodos da por cierta una transacción entonces se valida y se convierte en la cadena mas larga, siendo esta la que todos toman.

Esto suena bastante lógico, pero a la vez puede que la red este vulnerable a ciertos participantes maliciosos que se unan para manipular la red, señalando cierto camino como el que ellos quieren que sea correcto.

Entonces, mientras mas largo sea el hash rate, menos probabilidad hay de que sea atacado por ese 51%, lo que lo hace mas seguro y confiable.

Por otro lado, el hash rate se usa para calcular la dificultad de minería, la red de mineros aumenta su potencia y por ende el hash rate de la red cada vez que un minero se conecta, esto se debe a que el propio algoritmo ajusta la dificultad para que vuelva al tiempo estipulado de minería por bloque.

El Hash Rate y la energía

Esto es uno de los aspectos que mas ha causado escandalo en cuanto al mundo de las criptomonedas. La cantidad de energía consumida es directamente proporcional al Hash rate, es decir, mientras mayor sea el hash rate (potencia computacional) mayor será el consumo de energía.

Sin embargo, es importante acotar que en realidad el consumo de energía ni siquiera se acerca al consumo que se da por la explotación petrolera. Entonces el impacto no es tan extremo como lo hacen ver.

image.png

Realice el siguiente Árbol Merkle: Transacción (hojas del árbol): Steem1; Steem2; Steem3; Steem4; Steem5; Steem6; Steem7; Steem8.

Teniendo ya las hojas del árbol (transacciones) suministradas, se procede a unir dichas transacciones en pares hasta llegar a la raíz. Este árbol puede decirse que es invertido, pues la "raíz" que es donde se encuentran todas las transacciones esta ubicado en la parte de arriba, sin embargo, la forma de elaborarlo es de abajo hacia arriba. Teniendo así 8 hojas, se pasa a un primer nivel obteniendo 4 ramas correspondientes de la unión de dos transacciones, luego vamos a un segundo nivel generando 2 ramas, hasta que finalmente estas se unen para formar la raiz quien englobla todas las transacciones.

hashrate.png

Realizado por @marianaceleste con la herramienta PowerPoint

Con el uso del algoritmo de bitcoin SHA 256 ubicamos el Hash para cada transacción .

Steem 1

7760E25BCB80ADF1DD92DB339BF5790A59E90CD54EFA072F1250DCE13FA97045

@marianaceleste (1).png

Steem 2

FE00506E91CF52BC4B35321E6B978D1A7349397B19C6C1C01E095971FDEC9741

@marianaceleste (2).png

Steem 3

A9418332E0C351D6A50C835AA9E57D514F0573C231D491E97726DB8A5844F2DC

@marianaceleste (3).png

Steem 4

22F4EC8E20C9CCAF2C313B23F18981B1C73BF39081BCD739E5D998A95A46AB30

@marianaceleste (4).png

Steem 5

2A3C87336683AB0DDFA56AFEFC740E6C13A02FEA0A43D6797343B26D7AF0C57B

@marianaceleste (5).png

Steem 6

A7BAA6DE0C0658E9E3681966E542BACD116529F5AE9A2D9126CDB1C1D5BC1278

@marianaceleste (6).png

Steem 7

D441688DDA7F9285E8811728DD9A3955CF74F0A3C7600C1589D0F1D3B48FFAC7

@marianaceleste (7).png

Steem 8

F2E38ED4FF662087B6E9BEAFA4158EBC488B995732057BDA019A6A77FFB5F9F5

@marianaceleste (8).png

Steem1Steem2

A5568957014F6AC3866923C7DE20D375E706B8D8C9F453636E90B9965ABEC62B

@marianaceleste (9).png

Steem3Steem4

18D25196DB699F6AB9222B7302EB8A6F6EBFADEC703C07DD5DB8D9455913A499

@marianaceleste (10).png

Steem5Steem6

D118E137F92A0DBEA138B6BF70C7714153A7BC393CD0272A44BD94864645224B

@marianaceleste (11).png

Steem7Steem8

A81D57BA11AEDFA9EFBBA42F6523D75D1EFA50B22C5E3557A21CEFFE87DDFC4A

@marianaceleste (12).png

Steem1Steem2Steem3Steem4

8A248C05E69C4F1AA403AD18A7F445FF500C42483DA425CE0C980CDB2FD1AD9B

@marianaceleste (13).png

Steem5Steem6Steem7Steem8

8B0935AEAB3F51BFA2B0750703EE2387E2B20EB19B0D24227E180C03A851AF17

@marianaceleste (15).png

Steem1Steem2Steem3Steem4Steem5Steem6Steem7Steem8

9C2FC83F36D59B8ED5033D2BCC417728583C8DAA0AA9868FD374BE3619D6E4F9

@marianaceleste (16).png

Sustituyo los Hash generados por el algoritmo en el árbol, obteniendo el siguiente resultado:

hashrate2.png

Realizado por @marianaceleste con la herramienta PowerPoint

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

Para verificar que Steem6 está incluido en el árbol es importante no tomar ningún Hash que involucre dicha transacción, pues se supone que es el que queremos verificar, es como una especie de "despeje" por así decirlo.

  1. Se verifica el hash del Steem5, quien es su nodo compañero.
  2. Posteriormente se verifica el Steem7 y Steem8, para unirlo a la rama que queda en el extremo izquierdo Steem1Steem2Steem3Steem4
  3. Finalmente se verifica la raíz del árbol.

Si todo coincide, pues efectivamente está incluido el Steem6 en nuestro árbol.

Algo que pude notar mientras hacia esta tarea, es que un espacio demás me cambiaba todo el hash generado, entonces pude comprobar por mi misma que un cambio mínimo en cualquiera de sus hojas me genera un cambio total en la estructura del árbol.

image.png

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.

Antes de ubicar los Hash con el algoritmo, realice el árbol solo con las transacciones suministradas para visualizar mejor como quedaría mi árbol:

hashrate3.png

Realizado por @marianaceleste con la herramienta PowerPoint

El resto de los pasos es prácticamente los mismos que realice en la pregunta pasada, ingreso el nombre de mis transacciones y esto me arroja un hash único para cada uno:

SCA1

13E0A04BB0E669E1C638DBE3A704743F99F162B25245E4D8C064D35BA38FA8C8

@marianaceleste (17).png

SCA2

27849353A9C8CC4E948EB6E5748EDD79CB83513D8C0ADAF3E8C83D3792C9149B

@marianaceleste (18).png

SCA3

67E872F952C105C35E0BCE130536D061F4999DCA5593754BA9BA7BE59B8E7C0D

@marianaceleste (19).png

SCA4

491928A32BAE70A12FA251412BBFD7C9999F317BA6BF577C283C724225270A43

@marianaceleste (20).png

SCA5

99C078C39CDE7F47799E0E8691460A9F3E83E78D498EA989308FCFCC58907B19

@marianaceleste (21).png

SCA6

7A648D887B124DB14E96E23BA92783E7F26D00957C19B9B8229632C2C1873729

@marianaceleste (22).png

SCA7

7E0BBD6BA4BA9896F9911AF46B06DD2C47535F9C80B29D693FDF6B9319D0D68E

@marianaceleste (23).png

SCA8

562ABCEEB497E1FE7AE275A883FD5EF9D92A05F5C19D82ABAA0DC1571B7DF3AD

@marianaceleste (24).png

SCA1SCA2

91B09BBA815748166FB36413342C7E4E7E809F4BAC538C0418841A4476B527EF

@marianaceleste (25).png

SCA3SCA4

B49B48697A3ACBC5E3D2E36B6EE49C44020D88E664C5C1AA7A7CF34058177379

@marianaceleste (26).png

SCA5SCA6

F026924CD1285FF92C2A2DE9B9313027EB67273A82375C939348C887F6B52F77

@marianaceleste (27).png

SCA7SCA8

AA55EC5A6B11393B289C4B2B6916172ACC2941C5C978FB1D7BF02696BAB323A4

@marianaceleste (28).png

SCA1SCA2SCA3SCA4

F50DC120CBF6C46923037F6D7F41D4153ECC9AB7430DDA662C142DB1FFE483F7

@marianaceleste (33).png

SCA5SCA6SCA7SCA8

A3D8CA8494CC426ABD5E1FC5FA0FEAE4F2B2ECE4C4CECDCA05E19EB66542533F

@marianaceleste (29).png

SCA1SCA2SCA3SCA4SCA5SCA6SCA7SCA8

CB40CA6DB72DD507CF9118963F94B7740822258E74AFB0FD45D89DB35D24B386

@marianaceleste (31).png

Sustituyo los hashs generados en mi árbol previamente realizado:

hashrateFI.png

Realizado por @marianaceleste con la herramienta PowerPoint

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

Tomando como ejemplo el ejercicio anterior, eliminé la ultima transacción para que solo me quedara SCA1SCA2SCA3SCA4SCA5SCA6SCA7, que como pueden observar es un número impar. Para poder realizar un árbol de hojas impares es necesario duplicar la ultima transacción y de esa forma se puedan emparejar de dos en dos y darle la estructura correcta:

hashrate4.png

Realizado por @marianaceleste con la herramienta PowerPoint

SCA7SCA7

71AF5095F10844EDA37CFCF8EE7712ADD5940F4ADAE1946CE66793270438C39B

@marianaceleste (34).png

SCA5SCA6SCA7SCA7

2DAE9A09ABB66E133AEBD3F875490C194CD75E035B3AC6D1479379E89CFB2E67

@marianaceleste (35).png

SCA1SCA2SCA3SCA4SCA5SCA6SCA7SCA7

79A243A66E564ABAFEADAAA763B0D5BA7CFFD5462ADDC77D88CA683210AA2784

@marianaceleste (36).png

Sustituyo mis hash generados:

hashrateIMPAR.png

Realizado por @marianaceleste con la herramienta PowerPoint

Finalmente obtuve mi árbol, modificando los hash por la transacción duplicada. Como lo pueden notar cambió completamente el código alfanumérico generado de la raíz del árbol y de todo el extremo donde se veía involucrada la transacción SCA7 duplicada.

Conclusión

Esta estructura de datos llamada árbol merkle es una valiosa herramienta en el mundo de las criptomonedas pues nos permite simplificar la correlación de datos y ademas de esto nos genera mayor seguridad y confianza en cuanto a las transacciones se refiere.

Esta herramienta, aunque es mal vista en cuanto al consumo de energía en realidad nos ayuda a ahorrarlas pues verifica las transacciones de forma mas simplificada y rápida.

Todo el contenido de este texto es de la autoría de @marianaceleste, con sello original para la plataforma steemit.

Gracias por leerme!.gif

El banner y las imágenes fueron editadas con la aplicación de canva por @marianaceleste

Sort:  

Gracias por participar en Steemit Crypto Academy Season 3:

Espero seguir leyendo tus publicaciones.

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

  • Pregunta 2, coinciden los hash. La verificación de Steem6 se puede explicar con un gráfico.

  • Pregunta 3, Coinciden los hash. Se explicó el árbol con hoja impar.

Recomendaciones:

  • Investigar con mayor profundidad cada tarea a realizar.

  • Leer con detenimiento para dar las respuesta correctas en cada pregunta.

Calificación: 6.7

Gracias profesor por su valiosa evaluación.

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 63398.53
ETH 2660.51
USDT 1.00
SBD 2.77