¿Qué es hash?

Blockchain y hashing

La confiabilidad e integridad de Blockchain se basa en el hecho de que no hay posibilidad de que se acepten o registren datos o transacciones fraudulentas, como el doble gasto. Hash es el elemento vital de la tecnología en su conjunto y los elementos clave para mantener esa confiabilidad.

Hashing es el proceso de tomar una entrada de cualquier longitud y convertirla en una salida criptográfica fija mediante un algoritmo matemático ( Bitcoin usa SHA-256 , por ejemplo).

Puede ser, por ejemplo, una pequeña pieza de información como un mensaje o un gran caché que contiene varias piezas de información como un bloque de transacciones o incluso toda la información contenida en Internet.

Protección de datos por hash

Hashing aumenta en gran medida la seguridad de los datos.

Cualquiera que intente descifrar los datos mirando el hash no podrá determinar la longitud de la información cifrada en función del hash. Una función hash criptográfica debe poseer varias cualidades cruciales para ser considerada útil, entre ellas:

  • No se puede producir el mismo valor hash para diferentes entradas: esto es importante porque si no fuera así, sería imposible realizar un seguimiento de la autenticidad de las entradas.
  • El mismo mensaje siempre producirá el mismo valor hash: la importancia de este punto es similar a la del punto anterior.
  • Rápido para producir un hash para un mensaje dado: de lo contrario, el sistema no sería eficiente y no ofrecería valor.
  • No se puede determinar la entrada en función del valor hash: este es uno de los principales aspectos y cualidades del hash y la seguridad de los datos.
  • Incluso la más mínima modificación de una entrada modifica completamente el hash: esto también es una cuestión de seguridad. Si un ligero cambio solo hiciera una pequeña diferencia, sería mucho más fácil determinar qué se ingresó. Cuanto más eficiente y complejo sea el algoritmo hash, mayor será el impacto de cambiar una entrada en la salida.

Hashing protege los datos al brindar certeza de que no han sido manipulados antes de que el destinatario previsto los vea.

Entonces, por ejemplo, si descarga un archivo que contiene información confidencial, puede ejecutarlo a través de un algoritmo hash, calcular el hash de esos datos y compararlo con el que muestra quien le envió los datos.

Si los valores hash no coinciden, puede estar seguro de que el archivo se modificó antes de recibirlo.

Hash de blockchain

En blockchain, los hashes se utilizan para representar el estado actual del mundo, o para ser más precisos, el estado de una blockchain.

Entonces, la entrada representa todo lo que sucedió en una blockchain, por lo que cada transacción hasta ese punto, combinada con los nuevos datos que se agregan. Esto significa que la salida se basa en todas las transacciones anteriores que han tenido lugar en esta blockchain y, por lo tanto, está formada por ellas.

hash de cadena de bloques

Como se mencionó, el más mínimo cambio en cualquier parte de la entrada da como resultado un gran cambio en la salida; ahí radica la seguridad irrefutable de la tecnología blockchain.

Cambiar cualquier registro que haya sucedido alguna vez en una blockchain cambiaría todos los hashes, haciéndolos falsos y obsoletos. Esto se vuelve imposible considerando la naturaleza transparente de la blockchain, ya que estos cambios tendrían que ocurrir a la vista de toda la red.

El primer bloque de una blockchain , llamado bloque de génesis, contiene sus transacciones que, cuando se combinan y validan, producen un hash único. Este hash y cualquier transacción nueva que se procese se utilizan como entrada para crear un hash nuevo que se utiliza en el siguiente bloque de la cadena.

Esto significa que cada bloque se vincula con su bloque anterior a través de su hash, formando así una cadena de bloques de génesis, de ahí el nombre de blockchain.

De esta manera, las transacciones se pueden agregar de manera segura siempre que los nodos en la red estén de acuerdo en cuál debe ser el hash.

Explicación de las estructuras de datos

Las estructuras de datos son una forma especializada de almacenar datos. Los dos objetos hash principales que realizan esta función son punteros y listas enlazadas.

Los punteros almacenan direcciones como variables y, como tales, apuntan a las ubicaciones de otras variables.

Las listas enlazadas son una secuencia de bloques enlazados entre sí por punteros. Entonces, la variable en cada puntero es la dirección del siguiente nodo, con el último nodo sin puntero y el puntero en el primer bloque, el bloque de génesis, en realidad está fuera del bloque mismo.

En su forma más simple, una blockchain es simplemente una lista enlazada de transacciones registradas que se refieren entre sí mediante punteros hash.

Los punteros hash son donde blockchain se destaca en términos de certeza porque los punteros contienen no solo la dirección del bloque anterior, sino también los datos hash de ese bloque.

Como se describió anteriormente, esta es la base de la naturaleza segura de la blockchain. Por ejemplo, si un hacker quisiera atacar el noveno bloque de una cadena y modificar sus datos, tendría que modificar los datos en todos los bloques posteriores, porque su hash también cambiaría.

Esencialmente, esto hace que sea imposible modificar los datos registrados en una blockchain.

Hashing es uno de los principios fundamentales y los aspectos más importantes del potencial inmutable y definitorio de la tecnología blockchain. Conserva la autenticidad de los datos registrados y vistos y, como tal, la integridad de una blockchain como un todo.

Este es uno de los aspectos más técnicos de la tecnología, pero es un paso importante para comprender cómo funciona blockchain y el potencial y el valor inconmensurables que tiene.

¿Qué es un TXID?

Un TXID es un ID de transacción, producido mediante el hash de los datos de la transacción (como el monto enviado, la dirección de recepción, la marca de tiempo, etc.) y que aparece en una cadena de números y letras, que se puede usar para identificar y confirmar una transacción que ha tenido lugar. .

¿Qué son los árboles Merkle?

Un árbol merkle, también conocido como árbol hash, es una estructura de datos hash utilizada para almacenar datos en una blockchain de manera segura y eficiente. El concepto fue patentado por Ralph Merkle en 1979.

El sistema funciona ejecutando un bloque de transacciones utilizando un algoritmo para generar un hash para verificar la validez de estos datos en función de las transacciones originales.

Un bloque completo de transacciones no se procesa a la vez, sino que cada transacción se procesa, y esas transacciones se vinculan y se procesan juntas. En última instancia, esto crea un solo hash para todo el bloque.

Cuando se ve, la estructura se asemeja a la de un árbol, aunque de forma simplificada, ya que cada bloque normalmente contiene cientos o incluso miles de transacciones. Las escotillas en la fila inferior se llaman «hojas», mientras que las escotillas en el medio se llaman «ramas», y la escotilla en la parte superior es la «raíz».

Los árboles Merkle son particularmente útiles porque permiten que cualquier persona confirme la validez de una transacción individual sin tener que descargar una blockchain completa. Por ejemplo, siempre que tenga el hash raíz (12345678), puede confirmar fácilmente la transacción (8) contando los hash (7), (56) y (1234).

Siempre que estén todos en una blockchain, la transacción (8) seguramente estará allí y, como tal, será contada y, por lo tanto, verdadera, y destinada a estar allí.

Los árboles y hashes de Merkle son un elemento clave para permitir que la tecnología de blockchain funcione al tiempo que garantiza la seguridad, la integridad y el no repudio y, junto con los protocolos de consenso, son sin duda los aspectos más importantes de la tecnología de blockchain.

UnicornGo tiene un objetivo claro: democratizar el Bitcoin, el blockchain y las criptomonedas y hacer que este fabuloso mundo sea accesible para todos.

Servicios

Recursos

Contact