Steemit Crypto Academy, Season 3: Week 4 || ROOT HASH Y ÁRBOL MERKLE. PARA @PELON53 DE @lucascenteno

WhatsApp Image 2021-07-23 at 5.49.51 PM.jpeg
imagen creada por mi en power point @lucascenteno

Explique en detalle el hash rate:

Se define al Hash rate como una potencia computacional que se encuentra combinada en la red del ecosistema de criptomonedas creada para resolver los enigmas criptográficos, permite procesar transacciones y minar en una blockchain que se esté generando bajo un sistema de prueba de trabajo, como lo es el caso de Bitcoin y Ethereum. Su función es muy importante, ya que permite evaluar la resistencia que presenta una red de blockchain, esto mediante la determinación de la distancia entre cada par de componentes que estén presentes verificando la seguridad. Para lograr alcanzar que el hash rate sea mayor, es necesario que existan varias máquinas donde los mineros que trabajan de forma lícita se dediquen a descubrir el bloque siguiente, y así resulte imposible la alteración negativa de la red por los agentes ilícitos. Un buen hash, se puede obtener a través de un hardware que sea adecuado, es decir, que permita la minería, ya que siempre surgirán problemas matemáticos complejos en los hash, estos podrían resolverse mediante el protocolo Proof of Work y el algoritmo SHA 256 que se usan en la red Bitcoin.

En la siguiente tabla observamos la equivalencia del hash rate:


image.png
fuente

Importancia del hash rate:

El hash rate es importante, ya que permite conocer qué tan segura es la red de minería de una criptomoneda. Se podría decir que mientras más alto es el hash rate, mucho más segura será la red, mostrando una resistencia a los ataques, y estableciendo la potencia de la red Bitcoin y su seguridad, al mismo tiempo que ayuda a medir la capacidad para minar bitcoins y obtener ganancias. Por otro lado, presenta una utilidad para calcular la dificultad de la minería ajustándose a una determinada cantidad de bloques, en función del tiempo que tardo encontrar o generar esos bloques, es por eso que la red de mineros de Bitcoin genera mayor potencia cada vez que un nuevo minero se conecta y empieza a minar. Es decir, cada vez que el hash rate global de Bitcoin aumenta y el tiempo que la red tarda en generar un bloque se ve acortado.


image.png
fuente

El árbol de Merkle:

Un árbol de Merkle es una estructura compuesta de datos diseñada en hash, el cual asigna una información determinada a una clave. Se utilizan para la verificación de datos, siendo muy eficientes debido a que utilizan hashes en vez de un archivo completo de información. Típicamente poseen un factor de dos ramas, lo que representa que cada nodo puede presentar dos nodos más. Estos árboles de Merkle son ejecutados como árboles binarios (on/off o 1/0).

Beneficios:

La verificación y la sincronización de los datos. Es decir, cuando el peer-to-peer que realiza la transacción se asegura de que los datos que se envíen sean recibidos de la manera correcta, ya que la base de los contratos inteligentes y de los sistemas peer-to-peer se afianzan en la verificación de datos.

En la cadena de bloques, los datos presentes también existen en varios lugares más, al ser modificados en un lugar, también necesitan estar modificarlos en todos los lugares, si la modificación ha sido confirmada.

Un árbol de Merkle permite limitar la cantidad de información y datos que se envían mediante la red con sólo enviar un hash para comparar. Esto evita copiar una información muy extensa y compleja a todos los sistemas cuando se realiza algún cambio de cualquier dato, sólo para verificar alguna modificación.

Los ordenadores permiten realizar múltiples trabajos a la vez, como ejecutar varias comparaciones de hash de forma rápida.

Realice el siguiente Árbol Merkle:

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

Para realizar el árbol Merkle comenzamos desde la parte inferior hasta llegar a la parte superior que sería la raíz.

Veamos lo siguiente:

Hoja o nodo 1: Steem1 Hoja o nodo 2: Steem2 Hoja o nodo 3: Steem3 Hoja o nodo 4: Steem4
Hoja o nodo 5: Steem5 Hoja o nodo 6: Steem6 Hoja o nodo 7: Steem7 Hoja o nodo 8: Steem8

Siguen las ramas secundarias:

rama secundaria 1: Steem1Steem2
rama secundaria 2: Steem3Steem4
rama secundaria 3: Steem5Steem6
rama secundaria 4: Steem7Steem8
rama principal 1: Steem1Steem2Steem3Steem4
rama principal 2: Steem5Steem6Steem7Steem8

Hash raíz: Steem1Steem2Steem3Steem4Steem5Steem6Steem7Steem8

Veamos lo siguiente:

Steem1 :

7760E25BCB80ADF1DD92DB339BF5790A59E90CD54EFA072F1250DCE13FA97045

image.png

Steem2 :

FE00506E91CF52BC4B35321E6B978D1A7349397B19C6C1C01E095971FDEC9741

image.png

Steem3 :

A9418332E0C351D6A50C835AA9E57D514F0573C231D491E97726DB8A5844F2DC

image.png

Steem4 :

22F4EC8E20C9CCAF2C313B23F18981B1C73BF39081BCD739E5D998A95A46AB30

image.png

Steem5 :

2A3C87336683AB0DDFA56AFEFC740E6C13A02FEA0A43D6797343B26D7AF0C57B

image.png

Steem6 :

A7BAA6DE0C0658E9E3681966E542BACD116529F5AE9A2D9126CDB1C1D5BC1278

image.png

Steem7 :

D441688DDA7F9285E8811728DD9A3955CF74F0A3C7600C1589D0F1D3B48FFAC7

image.png

Steem8:

F2E38ED4FF662087B6E9BEAFA4158EBC488B995732057BDA019A6A77FFB5F9F5

image.png

Siguen las ramas secundarias:

Steem1Steem2:

A5568957014F6AC3866923C7DE20D375E706B8D8C9F453636E90B9965ABEC62B

image.png

Steem3Steem4:

18D25196DB699F6AB9222B7302EB8A6F6EBFADEC703C07DD5DB8D9455913A499

image.png

Steem5Steem6:

D118E137F92A0DBEA138B6BF70C7714153A7BC393CD0272A44BD94864645224B

image.png

Steem7Steem8:

A81D57BA11AEDFA9EFBBA42F6523D75D1EFA50B22C5E3557A21CEFFE87DDFC4A

image.png

Steem1Steem2Steem3Steem4:

8A248C05E69C4F1AA403AD18A7F445FF500C42483DA425CE0C980CDB2FD1AD9B

image.png

Steem5Steem6Steem7Steem8:

8B0935AEAB3F51BFA2B0750703EE2387E2B20EB19B0D24227E180C03A851AF17

image.png

Finalizamos realizando la raíz:

Steem1Steem2Steem3Steem4Steem5Steem6Steem7Steem8:

9C2FC83F36D59B8ED5033D2BCC417728583C8DAA0AA9868FD374BE3619D6E4F9

image.png

El Arbol markle seria el siguiente:

image.png
imagen creada por mi en power point @lucascenteno

Aquí mostrare paso a paso para generar el hash hasta el Root Hash, utilizando SHA-256. con las capture de pantalla

Comenzamos primero con cada hoja:

Para verificar si la hoja o nodo Steem6 está incluido en el Árbol Markle, cambiare una letra mayúscula de la hoja Steem6 por una letra minúscula, en este caso tomare la misma letra inicial. Veremos que si está incluido generara una modificación en el código mostrando uno diferente al original en estructura de manera unidireccional verificando el hash.

image.png
imagen creada por mi en power point @lucascenteno

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.

Usando el SHA-256 comenzare desde la parte inferior hasta la parte superior, es decir, con las hojas hasta obtener la raíz de la estructura.

SCA1; Hoja 1 SCA2; Hoja 2 SCA3; Hoja 3 SCA4; Hoja 4
SCA5; Hoja 5 SCA6; Hoja 6 SCA7; Hoja 7 SCA8; Hoja 8

SCA1SCA2; Rama secundaria 1 SCA3SCA4; Rama secundaria 2
SCA5SCA6; Rama secundaria 3 SCA7SCA8; Rama secundaria 4

SCA1SCA2 SCA3SCA4; Rama principal 1

SCA5SCA6 SCA7SCA8; Rama principal 2

SCA1SCA2SCA3SCA4SCA5SCA6SCA7SCA8; Hash de raíz

Con la captura de pantalla reflejare los pasos:

13E0A04BB0E669E1C638DBE3A704743F99F162B25245E4D8C064D35BA38FA8C8

image.png

27849353A9C8CC4E948EB6E5748EDD79CB83513D8C0ADAF3E8C83D3792C9149B

image.png

67E872F952C105C35E0BCE130536D061F4999DCA5593754BA9BA7BE59B8E7C0D

image.png

491928A32BAE70A12FA251412BBFD7C9999F317BA6BF577C283C724225270A43

image.png

99C078C39CDE7F47799E0E8691460A9F3E83E78D498EA989308FCFCC58907B19

image.png

7A648D887B124DB14E96E23BA92783E7F26D00957C19B9B8229632C2C1873729

image.png

7E0BBD6BA4BA9896F9911AF46B06DD2C47535F9C80B29D693FDF6B9319D0D68E

image.png

562ABCEEB497E1FE7AE275A883FD5EF9D92A05F5C19D82ABAA0DC1571B7DF3AD

image.png

SCA1SCA2:

image.png

91B09BBA815748166FB36413342C7E4E7E809F4BAC538C0418841A4476B527EF

image.png

B49B48697A3ACBC5E3D2E36B6EE49C44020D88E664C5C1AA7A7CF34058177379

image.png

F026924CD1285FF92C2A2DE9B9313027EB67273A82375C939348C887F6B52F77

image.png

AA55EC5A6B11393B289C4B2B6916172ACC2941C5C978FB1D7BF02696BAB323A4

image.png

SCA1SCA2SCA3SCA4:

F50DC120CBF6C46923037F6D7F41D4153ECC9AB7430DDA662C142DB1FFE483F7

image.png

SCA5SCA6SCA7SCA8:

A3D8CA8494CC426ABD5E1FC5FA0FEAE4F2B2ECE4C4CECDCA05E19EB66542533F

image.png

Hash de SCA1SCA2SCA3SCA4SCA5SCA6SCA7SCA8:
CB40CA6DB72DD507CF9118963F94B7740822258E74AFB0FD45D89DB35D24B386

Aquí podemos ver cada hash representado por una codificacion alfanumerica de las transacciones del Árbol Merkle:

image.png
imagen creada por mi en power point @lucascenteno

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

Al ser impar el número de hojas en el árbol merkle, este duplica el ultimo nodo generando un nuevo nodo, ya que estaría vinculado.

image.png
imagen creada por mi en power point @lucascenteno

SCA7SCA7:
71AF5095F10844EDA37CFCF8EE7712ADD5940F4ADAE1946CE66793270438C39B

image.png

SCA5SCA6SCA7SCA7 :
2DAE9A09ABB66E133AEBD3F875490C194CD75E035B3AC6D1479379E89CFB2E67

image.png

SCA1SCA2SCA3SCA4SCA5SCA6SCA7SCA7 :
79A243A66E564ABAFEADAAA763B0D5BA7CFFD5462ADDC77D88CA683210AA2784

image.png

Al ser impar el número de transacciones, la transacción se duplico y su hash se vinculó consigo mismo generando un cambio en la estructura y en la raíz, ya que no puede quedar impar.

image.png
imagen creada por mi en power point @lucascenteno

Conclusión:

En conclusión, para ser especifico el hash rate genera una mayor confiabilidad y seguridad de las criptomonedas, permitiendo la descentralización de la red en en el mundo de las criptodivisas, por ser una unidad de potencia computacional de procesamiento de la red Bitcoin. El árbol de Merkle es un componente necesario que ayuda a facilitar la verificación de datos, evitando que la cadena de bloques tenga que ser copiada y comparada con cada transacción o pregunta de seguridad. Al tiempo que permite comparar los hashes y luego considerarlos viables si coinciden, ahorrando tiempo y energía de computación.

cc:
@pelon53

Sort:  
Loading...

Coin Marketplace

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